diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 84588d6..97e8a8e 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -1,6 +1,7 @@ package com.tterrag.blur; import com.tterrag.blur.config.BlurConfig; +import eu.midnightdust.lib.util.MidnightColorUtil; import ladysnake.satin.api.event.ShaderEffectRenderCallback; import ladysnake.satin.api.managed.ManagedShaderEffect; import ladysnake.satin.api.managed.ShaderEffectManager; @@ -20,7 +21,6 @@ public class Blur implements ClientModInitializer { public static List defaultExclusions = new ArrayList<>(); private long start; - public int colorFirst, colorSecond; private final ManagedShaderEffect blur = ShaderEffectManager.getInstance().manage(new Identifier(MODID, "shaders/post/fade_in_blur.json"), shader -> shader.setUniformValue("Radius", (float) BlurConfig.radius)); @@ -48,11 +48,10 @@ public void onInitializeClient() { private boolean doFade = false; public void onScreenChange(Screen newGui) { if (MinecraftClient.getInstance().world != null) { - boolean excluded = newGui == null || BlurConfig.blurExclusions.contains(newGui.getClass().getName()); + boolean excluded = newGui == null || BlurConfig.blurExclusions.stream().anyMatch(exclusion -> newGui.getClass().getName().contains(exclusion)); if (!excluded) { + if (BlurConfig.showScreenTitle) System.out.println(newGui.getClass().getName()); blur.setUniformValue("Radius", (float) BlurConfig.radius); - colorFirst = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientStartColor), 16); - colorSecond = Integer.parseUnsignedInt(String.valueOf(BlurConfig.gradientEndColor), 16); if (doFade) { start = System.currentTimeMillis(); doFade = false; @@ -69,11 +68,11 @@ private float getProgress() { } public int getBackgroundColor(boolean second) { - int color = second ? colorSecond : colorFirst; - int a = color >>> 24; - int r = (color >> 16) & 0xFF; - int b = (color >> 8) & 0xFF; - int g = color & 0xFF; + int a = second ? BlurConfig.gradientEndAlpha : BlurConfig.gradientStartAlpha; + var col = MidnightColorUtil.hex2Rgb(second ? BlurConfig.gradientEnd : BlurConfig.gradientStart); + int r = (col.getRGB() >> 16) & 0xFF; + int b = (col.getRGB() >> 8) & 0xFF; + int g = col.getRGB() & 0xFF; float prog = INSTANCE.getProgress(); a *= prog; r *= prog; diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index 5b82161..8f24825 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -12,10 +12,14 @@ public class BlurConfig extends MidnightConfig { public static int fadeTimeMillis = 200; @Entry(min = 0, max = 500, width = 3) public static int radius = 8; - @Entry(min = 0, max = 99999999, width = 8) - public static int gradientStartColor = 75000000; - @Entry(min = 0, max = 99999999, width = 8) - public static int gradientEndColor = 75000000; + @Entry(isColor = true, width = 7, min = 7) + public static String gradientStart = "#000000"; + @Entry(min = 0, max = 255) + public static int gradientStartAlpha = 75; + @Entry(isColor = true, width = 7, min = 7) + public static String gradientEnd = "#000000"; + @Entry(min = 0, max = 255) + public static int gradientEndAlpha = 75; @Entry public static boolean showScreenTitle = false; } diff --git a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java index 02974a9..d89676d 100755 --- a/src/main/java/com/tterrag/blur/mixin/MixinScreen.java +++ b/src/main/java/com/tterrag/blur/mixin/MixinScreen.java @@ -34,12 +34,6 @@ public abstract class MixinScreen { 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", diff --git a/src/main/resources/assets/blur/lang/de_de.json b/src/main/resources/assets/blur/lang/de_de.json index d1e45bf..c676c96 100644 --- a/src/main/resources/assets/blur/lang/de_de.json +++ b/src/main/resources/assets/blur/lang/de_de.json @@ -5,5 +5,7 @@ "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe", "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe", + "blur.midnightconfig.gradientStartAlpha": "Farbverlauf-Anfangstransparenz", + "blur.midnightconfig.gradientEndAlpha": "Farbverlauf-Endstransparenz", "blur.midnightconfig.showScreenTitle": "Zeige Bildschirmtitel" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_gb.json b/src/main/resources/assets/blur/lang/en_gb.json index 61a93ff..6c08c5e 100644 --- a/src/main/resources/assets/blur/lang/en_gb.json +++ b/src/main/resources/assets/blur/lang/en_gb.json @@ -1,7 +1,4 @@ { - "blur.midnightconfig.title": "Blur Config", - "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", - "blur.midnightconfig.radius": "Radius", - "blur.midnightconfig.gradientStartColor": "Gradient Start Colour", - "blur.midnightconfig.gradientEndColor": "Gradient End Colour" + "blur.midnightconfig.gradientStart": "Gradient Start Colour", + "blur.midnightconfig.gradientEnd": "Gradient End Colour" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 8015a75..6fdbd36 100755 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -3,7 +3,9 @@ "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.gradientStart": "Gradient Start Color", + "blur.midnightconfig.gradientEnd": "Gradient End Color", + "blur.midnightconfig.gradientStartAlpha": "Gradient Start Alpha", + "blur.midnightconfig.gradientEndAlpha": "Gradient End Alpha", "blur.midnightconfig.showScreenTitle": "Show screen title" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/pt_br.json b/src/main/resources/assets/blur/lang/pt_br.json index f4bcd84..b416882 100644 --- a/src/main/resources/assets/blur/lang/pt_br.json +++ b/src/main/resources/assets/blur/lang/pt_br.json @@ -3,6 +3,6 @@ "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", - "blur.midnightconfig.gradientEndColor": "Cor de término do gradiente" + "blur.midnightconfig.gradientStart": "Cor de início do gradiente", + "blur.midnightconfig.gradientEnd": "Cor de término do gradiente" } diff --git a/src/main/resources/assets/blur/lang/ru_ru.json b/src/main/resources/assets/blur/lang/ru_ru.json index f107ab0..e3cbd6d 100644 --- a/src/main/resources/assets/blur/lang/ru_ru.json +++ b/src/main/resources/assets/blur/lang/ru_ru.json @@ -3,6 +3,6 @@ "blur.midnightconfig.blurExclusions": "Исключения размытия", "blur.midnightconfig.fadeTimeMillis": "Время размытия (в милисекундах)", "blur.midnightconfig.radius": "Радиус размытия", - "blur.midnightconfig.gradientStartColor": "Верхний цвет градиента", - "blur.midnightconfig.gradientEndColor": "Нижний цвет градиента" + "blur.midnightconfig.gradientStart": "Верхний цвет градиента", + "blur.midnightconfig.gradientEnd": "Нижний цвет градиента" } diff --git a/src/main/resources/assets/blur/lang/sv_se.json b/src/main/resources/assets/blur/lang/sv_se.json index 0d06643..03404c6 100644 --- a/src/main/resources/assets/blur/lang/sv_se.json +++ b/src/main/resources/assets/blur/lang/sv_se.json @@ -3,7 +3,7 @@ "blur.midnightconfig.blurExclusions": "Undantag till Blur", "blur.midnightconfig.fadeTimeMillis": "Toningstid (i millisekunder)", "blur.midnightconfig.radius": "Radie", - "blur.midnightconfig.gradientStartColor": "Toningsfärg (start)", - "blur.midnightconfig.gradientEndColor": "Toningsfärg (slut)", + "blur.midnightconfig.gradientStart": "Toningsfärg (start)", + "blur.midnightconfig.gradientEnd": "Toningsfärg (slut)", "blur.midnightconfig.showScreenTitle": "Visa skärmtitel" } \ No newline at end of file diff --git a/src/main/resources/assets/blur/lang/zh_cn.json b/src/main/resources/assets/blur/lang/zh_cn.json index 0738eea..5c87f7f 100644 --- a/src/main/resources/assets/blur/lang/zh_cn.json +++ b/src/main/resources/assets/blur/lang/zh_cn.json @@ -2,6 +2,6 @@ "blur.midnightconfig.title": "模糊配置", "blur.midnightconfig.fadeTimeMillis": "淡入时间(毫秒)", "blur.midnightconfig.radius": "半径", - "blur.midnightconfig.gradientStartColor": "渐变起始色", - "blur.midnightconfig.gradientEndColor": "渐变结束色" + "blur.midnightconfig.gradientStart": "渐变起始色", + "blur.midnightconfig.gradientEnd": "渐变结束色" } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index a16a204..caf2792 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,7 +8,7 @@ "icon": "assets/blur/icon.png", "entrypoints": { "client": [ - "com.tterrag.blur.Blur" + "com.tterrag.blur.Blur::INSTANCE" ] }, "contact": {