From 146d42bbe913ce81a57c9213dfb5a5fbc12b28aa Mon Sep 17 00:00:00 2001 From: tom lee Date: Thu, 23 Dec 2021 18:23:58 +0800 Subject: [PATCH] Fabric: Added no vanilla fog support. This isn't availible due to Forge default overrides something. Note that this noFog also won't work on custom renderer. --- .../lod/fabric/mixins/MixinFogRenderer.java | 24 +++++++++++++++++++ fabric/src/main/resources/lod.mixins.json | 1 + 2 files changed, 25 insertions(+) create mode 100644 fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinFogRenderer.java diff --git a/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinFogRenderer.java b/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinFogRenderer.java new file mode 100644 index 000000000..4b3172176 --- /dev/null +++ b/fabric/src/main/java/com/seibel/lod/fabric/mixins/MixinFogRenderer.java @@ -0,0 +1,24 @@ +package com.seibel.lod.fabric.mixins; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.seibel.lod.core.util.SingletonHandler; +import com.seibel.lod.core.wrapperInterfaces.config.ILodConfigWrapperSingleton; + +import net.minecraft.client.Camera; +import net.minecraft.client.renderer.FogRenderer; +import net.minecraft.client.renderer.FogRenderer.FogMode; + +@Mixin(FogRenderer.class) +public class MixinFogRenderer { + private static final ILodConfigWrapperSingleton CONFIG = SingletonHandler.get(ILodConfigWrapperSingleton.class); + + @Inject(at = @At("RETURN"), method = "setupFog(Lnet/minecraft/client/Camera;Lnet/minecraft/client/renderer/FogRenderer$FogMode;FZ)V") + private static final void disableSetupFog(Camera camera, FogMode fogMode, float f, boolean bl, CallbackInfo callback) { + if (CONFIG.client().graphics().fogQuality().getDisableVanillaFog()) + FogRenderer.setupNoFog(); + } +} diff --git a/fabric/src/main/resources/lod.mixins.json b/fabric/src/main/resources/lod.mixins.json index b71c0db38..1f3b64437 100644 --- a/fabric/src/main/resources/lod.mixins.json +++ b/fabric/src/main/resources/lod.mixins.json @@ -11,6 +11,7 @@ "MixinMinecraft", "MixinOptionsScreen", "MixinWorldRenderer", + "MixinFogRenderer", "events.MixinClientLevel", "events.MixinMinecraft" ],