diff --git a/common/src/main/java/eu/midnightdust/blur/Blur.java b/common/src/main/java/eu/midnightdust/blur/Blur.java index 8f0acba..ef00133 100644 --- a/common/src/main/java/eu/midnightdust/blur/Blur.java +++ b/common/src/main/java/eu/midnightdust/blur/Blur.java @@ -92,12 +92,13 @@ public class Blur { float diagonal = Math.sqrt((float) width*width + height*height); int smallestDimension = Math.min(width, height); - context.getMatrices().pushMatrix(); - Matrix3x2f posMatrix = context.getMatrices(); - posMatrix.rotate(Math.toRadians(getRotation())); - posMatrix.setTranslation(width / 2f, height / 2f); // Make the gradient's center the pivot point + context.getMatrices().push(); + Matrix4f posMatrix = context.getMatrices().peek().getPositionMatrix(); + posMatrix.rotationZ(Math.toRadians(getRotation())); + posMatrix.setTranslation(width / 2f, height / 2f, -1000); // Make the gradient's center the pivot point posMatrix.scale(diagonal / smallestDimension); // Scales the gradient to the maximum diagonal value needed context.fillGradient(-width / 2, -height / 2, width / 2, height / 2, Blur.getBackgroundColor(false), Blur.getBackgroundColor(true)); // Actually draw the gradient - context.getMatrices().popMatrix(); + posMatrix.rotationZ(0); + context.getMatrices().pop(); } } diff --git a/common/src/main/java/eu/midnightdust/blur/mixin/MixinScreen.java b/common/src/main/java/eu/midnightdust/blur/mixin/MixinScreen.java index 60bf8fa..c5da7ce 100755 --- a/common/src/main/java/eu/midnightdust/blur/mixin/MixinScreen.java +++ b/common/src/main/java/eu/midnightdust/blur/mixin/MixinScreen.java @@ -28,12 +28,13 @@ public abstract class MixinScreen { @Shadow public int height; @Shadow protected abstract void applyBlur(DrawContext context); + @Shadow protected abstract void applyBlur(float delta); + @Inject(at = @At("HEAD"), method = "render") public void blur$processScreenChange(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) { Blur.onRender(); Blur.renderFadeout(context, width, height, client); } - @Inject(at = @At("HEAD"), method = "applyBlur", cancellable = true) public void blur$getBlurEnabled(CallbackInfo ci) { if (BlurConfig.forceDisabledScreens.contains(this.getClass().getCanonicalName())) { @@ -42,7 +43,6 @@ public abstract class MixinScreen { if (!BlurConfig.excludedScreens.contains(this.getClass().getCanonicalName())) BlurInfo.screenHasBlur = true; // Test if the screen has blur } - @WrapOperation(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;renderBackgroundTexture(Lnet/minecraft/client/gui/DrawContext;Lnet/minecraft/util/Identifier;IIFFII)V"), method = "renderDarkening(Lnet/minecraft/client/gui/DrawContext;IIII)V") private void blur$applyGradient(DrawContext context, Identifier texture, int x, int y, float u, float v, int width, int height, Operation original) { if (BlurConfig.useGradient) { @@ -58,7 +58,7 @@ public abstract class MixinScreen { private void blur$renderGradient(DrawContext context) { BlurInfo.screenHasBackground = true; // Test if the screen has a background if (BlurConfig.forceEnabledScreens.contains(this.getClass().getCanonicalName())) - this.applyBlur(context); + this.applyBlur(client.getRenderTickCounter().getTickDelta(true)); Blur.renderRotatedGradient(context, width, height); // Replaces the default gradient with our rotated one } diff --git a/gradle.properties b/gradle.properties index d7ebdc2..b07520f 100755 --- a/gradle.properties +++ b/gradle.properties @@ -2,13 +2,13 @@ org.gradle.jvmargs=-Xmx2G org.gradle.parallel=true -minecraft_version=1.21.6 -supported_versions= -yarn_mappings=1.21.6+build.1 +minecraft_version=1.21.1 +supported_versions=1.21 +yarn_mappings=1.21.1+build.3 enabled_platforms=fabric,neoforge # Mod Properties -mod_version=5.2.2 +mod_version=5.2.2+1.21.1 maven_group=eu.midnightdust.blur archives_base_name=blur release_type=release @@ -16,12 +16,12 @@ curseforge_id=393563 modrinth_id=NK39zBp2 # Modloaders -fabric_loader_version=0.16.14 -fabric_api_version=0.127.0+1.21.6 +fabric_loader_version=0.16.13 +fabric_api_version=0.115.4+1.21.1 -neoforge_version=21.6.0-beta +neoforge_version=21.1.153 yarn_mappings_patch_neoforge_version = 1.21+build.4 # Libraries -midnightlib_version = 1.7.4+1.21.6 +midnightlib_version = 1.7.5+1.21.1 modmenu_version = 11.0.2