diff --git a/src/main/java/com/tterrag/blur/Blur.java b/src/main/java/com/tterrag/blur/Blur.java index 97e8a8e..1c2e9ca 100644 --- a/src/main/java/com/tterrag/blur/Blur.java +++ b/src/main/java/com/tterrag/blur/Blur.java @@ -46,6 +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 || BlurConfig.blurExclusions.stream().anyMatch(exclusion -> newGui.getClass().getName().contains(exclusion)); @@ -64,7 +65,9 @@ public class Blur implements ClientModInitializer { } private float getProgress() { - return Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); + float x = Math.min((System.currentTimeMillis() - start) / (float) BlurConfig.fadeTimeMillis, 1); + if (BlurConfig.ease) x *= (2 - x); // easeOutCubic + return x; } public int getBackgroundColor(boolean second) { diff --git a/src/main/java/com/tterrag/blur/config/BlurConfig.java b/src/main/java/com/tterrag/blur/config/BlurConfig.java index 8f24825..cbec238 100644 --- a/src/main/java/com/tterrag/blur/config/BlurConfig.java +++ b/src/main/java/com/tterrag/blur/config/BlurConfig.java @@ -10,6 +10,8 @@ public class BlurConfig extends MidnightConfig { public static List blurExclusions = Blur.defaultExclusions; @Entry(min = 0, max = 5000, width = 4) public static int fadeTimeMillis = 200; + @Entry + public static boolean ease = true; @Entry(min = 0, max = 500, width = 3) public static int radius = 8; @Entry(isColor = true, width = 7, min = 7) diff --git a/src/main/resources/assets/blur/lang/de_de.json b/src/main/resources/assets/blur/lang/de_de.json index c676c96..c9ccafb 100644 --- a/src/main/resources/assets/blur/lang/de_de.json +++ b/src/main/resources/assets/blur/lang/de_de.json @@ -2,9 +2,10 @@ "blur.midnightconfig.title": "Blur Konfiguration", "blur.midnightconfig.blurExclusions": "Blur-Ausnahmen", "blur.midnightconfig.fadeTimeMillis": "Überblendzeit (in Millisekunden)", + "blur.midnightconfig.ease": "Geschmeidige Animation", "blur.midnightconfig.radius": "Radius", - "blur.midnightconfig.gradientStartColor": "Farbverlauf-Anfangsfarbe", - "blur.midnightconfig.gradientEndColor": "Farbverlauf-Endfarbe", + "blur.midnightconfig.gradientStart": "Farbverlauf-Anfangsfarbe", + "blur.midnightconfig.gradientEnd": "Farbverlauf-Endfarbe", "blur.midnightconfig.gradientStartAlpha": "Farbverlauf-Anfangstransparenz", "blur.midnightconfig.gradientEndAlpha": "Farbverlauf-Endstransparenz", "blur.midnightconfig.showScreenTitle": "Zeige Bildschirmtitel" diff --git a/src/main/resources/assets/blur/lang/en_us.json b/src/main/resources/assets/blur/lang/en_us.json index 6fdbd36..487437e 100755 --- a/src/main/resources/assets/blur/lang/en_us.json +++ b/src/main/resources/assets/blur/lang/en_us.json @@ -2,6 +2,7 @@ "blur.midnightconfig.title": "Blur Config", "blur.midnightconfig.blurExclusions": "Blur Exclusions", "blur.midnightconfig.fadeTimeMillis": "Fade Time (in milliseconds)", + "blur.midnightconfig.ease": "Ease Animation", "blur.midnightconfig.radius": "Radius", "blur.midnightconfig.gradientStart": "Gradient Start Color", "blur.midnightconfig.gradientEnd": "Gradient End Color",