mirror of
https://github.com/Motschen/Blur.git
synced 2025-12-16 19:55:10 +01:00
Blur 2.4.0 - Ingame-Configurable Exclusions & Fixes
- Made Blur exclusions configurable in-game - ReplayMod and ProjectInception screens are excluded by default - Update to MidnightLib 3.0.0 - Fix version in fabric.mod.json
This commit is contained in:
@@ -7,13 +7,17 @@ import ladysnake.satin.api.managed.ShaderEffectManager;
|
||||
import ladysnake.satin.api.managed.uniform.Uniform1f;
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.screen.ChatScreen;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Blur implements ClientModInitializer {
|
||||
|
||||
public static final String MODID = "blur";
|
||||
public static List<String> defaultExclusions = new ArrayList<>();
|
||||
|
||||
private long start;
|
||||
public int colorFirst, colorSecond;
|
||||
@@ -26,6 +30,9 @@ public class Blur implements ClientModInitializer {
|
||||
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
defaultExclusions.add(ChatScreen.class.getName());
|
||||
defaultExclusions.add("com.replaymod.lib.de.johni0702.minecraft.gui.container.AbstractGuiOverlay$UserInputGuiScreen");
|
||||
defaultExclusions.add("ai.arcblroth.projectInception.client.InceptionInterfaceScreen");
|
||||
BlurConfig.init("blur", BlurConfig.class);
|
||||
|
||||
ShaderEffectRenderCallback.EVENT.register((deltaTick) -> {
|
||||
@@ -39,7 +46,7 @@ public class Blur implements ClientModInitializer {
|
||||
private boolean doFade = false;
|
||||
public void onScreenChange(Screen newGui) {
|
||||
if (MinecraftClient.getInstance().world != null) {
|
||||
boolean excluded = newGui == null || ArrayUtils.contains(BlurConfig.blurExclusions, newGui.getClass().getName());
|
||||
boolean excluded = newGui == null || BlurConfig.blurExclusions.contains(newGui.getClass().getName());
|
||||
if (!excluded) {
|
||||
blur.setUniformValue("Radius", (float) BlurConfig.radius);
|
||||
colorFirst = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientStartColor), 16);
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package com.tterrag.blur.config;
|
||||
|
||||
import com.tterrag.blur.Blur;
|
||||
import eu.midnightdust.lib.config.MidnightConfig;
|
||||
import net.minecraft.client.gui.screen.ChatScreen;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class BlurConfig extends MidnightConfig {
|
||||
@Entry
|
||||
public static String[] blurExclusions = new String[]{ ChatScreen.class.getName() };
|
||||
public static List<String> blurExclusions = Blur.defaultExclusions;
|
||||
@Entry(min = 0, max = 5000, width = 4)
|
||||
public static int fadeTimeMillis = 200;
|
||||
@Entry(min = 0, max = 500, width = 3)
|
||||
@@ -14,4 +16,6 @@ public class BlurConfig extends MidnightConfig {
|
||||
public static int gradientStartColor = 75000000;
|
||||
@Entry(min = 0, max = 99999999, width = 8)
|
||||
public static int gradientEndColor = 75000000;
|
||||
@Entry
|
||||
public static boolean showScreenTitle = false;
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package com.tterrag.blur.config;
|
||||
|
||||
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
|
||||
import com.terraformersmc.modmenu.api.ModMenuApi;
|
||||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.Environment;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class ModMenuIntegration implements ModMenuApi {
|
||||
|
||||
@Override
|
||||
public ConfigScreenFactory<?> getModConfigScreenFactory() {
|
||||
return parent -> BlurConfig.getScreen(parent,"blur");
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.tterrag.blur.mixin;
|
||||
|
||||
import com.tterrag.blur.config.BlurConfig;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.text.TextColor;
|
||||
import net.minecraft.util.Formatting;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
@@ -22,24 +26,32 @@ public abstract class MixinScreen {
|
||||
|
||||
@Shadow @Nullable protected MinecraftClient client;
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "render")
|
||||
private void reloadShader(MatrixStack matrixStack, int i, int j, float f, CallbackInfo ci) {
|
||||
if (this.getClass().toString().toLowerCase(Locale.ROOT).contains("midnight") && this.client != null) {
|
||||
@Shadow protected TextRenderer textRenderer;
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "tick")
|
||||
private void blur$reloadShader(CallbackInfo ci) {
|
||||
if (this.getClass().toString().toLowerCase(Locale.ROOT).contains("midnightconfigscreen") && this.client != null) {
|
||||
Blur.INSTANCE.onScreenChange(this.client.currentScreen);
|
||||
}
|
||||
}
|
||||
@Inject(at = @At("TAIL"), method = "render")
|
||||
private void blur$showScreenTitle(MatrixStack matrixStack, int i, int j, float f, CallbackInfo ci) {
|
||||
if (BlurConfig.showScreenTitle && this.client != null && this.client.currentScreen != null) {
|
||||
this.textRenderer.drawWithShadow(matrixStack, this.client.currentScreen.getClass().getName(), 0, 0, 16777215, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ModifyConstant(
|
||||
method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V",
|
||||
constant = @Constant(intValue = -1072689136))
|
||||
private int getFirstBackgroundColor(int color) {
|
||||
private int blur$getFirstBackgroundColor(int color) {
|
||||
return Blur.INSTANCE.getBackgroundColor(false);
|
||||
}
|
||||
|
||||
@ModifyConstant(
|
||||
method = "renderBackground(Lnet/minecraft/client/util/math/MatrixStack;I)V",
|
||||
constant = @Constant(intValue = -804253680))
|
||||
private int getSecondBackgroundColor(int color) {
|
||||
private int blur$getSecondBackgroundColor(int color) {
|
||||
return Blur.INSTANCE.getBackgroundColor(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
{
|
||||
"blur.midnightconfig.title": "Blur Konfiguration",
|
||||
"blur.midnightconfig.blurExclusions": "Blur-Ausnahmen",
|
||||
"blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)",
|
||||
"blur.midnightconfig.radius": "Radius",
|
||||
"blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe",
|
||||
"blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe"
|
||||
"blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe",
|
||||
"blur.midnightconfig.showScreenTitle": "Zeige Bildschirmtitel"
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
{
|
||||
"blur.midnightconfig.title": "Blur Config",
|
||||
"blur.midnightconfig.blurExclusions": "§cBlur Exclusions are currently not configurable in-game!",
|
||||
"blur.midnightconfig.blurExclusions": "Blur Exclusions",
|
||||
"blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)",
|
||||
"blur.midnightconfig.radius": "Radius",
|
||||
"blur.midnightconfig.gradientStartColor": "Gradient Start Color",
|
||||
"blur.midnightconfig.gradientEndColor": "Gradient End Color"
|
||||
"blur.midnightconfig.gradientEndColor": "Gradient End Color",
|
||||
"blur.midnightconfig.showScreenTitle": "Show screen title"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"blur.midnightconfig.title": "Definições de desfoque",
|
||||
"blur.midnightconfig.blurExclusions": "Exclusões de desfoque não são configuráveis em jogo no momento.",
|
||||
"blur.midnightconfig.blurExclusions": "Exclusões de desfoque",
|
||||
"blur.midnightconfig.fadeTimeMillis": "Esmaecimento (em milissegundos)",
|
||||
"blur.midnightconfig.radius": "Raio",
|
||||
"blur.midnightconfig.gradientStartColor": "Cor de início do gradiente",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"blur.midnightconfig.title": "Настройки Blur",
|
||||
"blur.midnightconfig.blurExclusions": "В настоящее время исключения для размытия не настраиваются в игре.",
|
||||
"blur.midnightconfig.blurExclusions": "Исключения размытия",
|
||||
"blur.midnightconfig.fadeTimeMillis": "Время размытия (в милисекундах)",
|
||||
"blur.midnightconfig.radius": "Радиус размытия",
|
||||
"blur.midnightconfig.gradientStartColor": "Верхний цвет градиента",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"schemaVersion": 1,
|
||||
"id": "blur",
|
||||
"name": "Blur (Fabric)",
|
||||
"version": "2.3.0",
|
||||
"version": "$version",
|
||||
"environment": "client",
|
||||
"license": "MIT",
|
||||
"icon": "assets/blur/icon.png",
|
||||
|
||||
Reference in New Issue
Block a user