diff options
| author | makamys <makamys@outlook.com> | 2021-05-23 04:33:47 +0200 |
|---|---|---|
| committer | makamys <makamys@outlook.com> | 2021-05-23 04:33:47 +0200 |
| commit | 79cd910660eb3caa9e181772372e920a3b92c7ee (patch) | |
| tree | 18c6732e2204806276a1911c86482af94224afe8 /src/main/java/makamys/lodmod/mixin | |
| parent | f4a4f95cc14f4f8888ee6dc26fbbe529c588ff9d (diff) | |
| download | Neodymium-79cd910660eb3caa9e181772372e920a3b92c7ee.tar.gz Neodymium-79cd910660eb3caa9e181772372e920a3b92c7ee.tar.bz2 Neodymium-79cd910660eb3caa9e181772372e920a3b92c7ee.zip | |
Override fog of other mods
Diffstat (limited to 'src/main/java/makamys/lodmod/mixin')
| -rw-r--r-- | src/main/java/makamys/lodmod/mixin/MixinEntityRenderer.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/makamys/lodmod/mixin/MixinEntityRenderer.java b/src/main/java/makamys/lodmod/mixin/MixinEntityRenderer.java index eb3341a..dda56a4 100644 --- a/src/main/java/makamys/lodmod/mixin/MixinEntityRenderer.java +++ b/src/main/java/makamys/lodmod/mixin/MixinEntityRenderer.java @@ -1,14 +1,17 @@ package makamys.lodmod.mixin; +import org.lwjgl.opengl.GL11; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import makamys.lodmod.LODMod; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.EntityRenderer; +import net.minecraft.entity.EntityLivingBase; @Mixin(EntityRenderer.class) abstract class MixinEntityRenderer { @@ -22,4 +25,15 @@ abstract class MixinEntityRenderer { farPlaneDistance *= LODMod.renderer.getFarPlaneDistanceMultiplier(); } } + + @Inject(method = "setupFog", at = @At(value = "RETURN")) + private void afterSetupFog(int mode, float alpha, CallbackInfo ci) { + if(LODMod.isActive()) { + EntityLivingBase entity = Minecraft.getMinecraft().renderViewEntity; + if(LODMod.fogEventWasPosted && mode >= 0 && !Minecraft.getMinecraft().theWorld.provider.doesXZShowFog((int)entity.posX, (int)entity.posZ)) { + GL11.glFogf(GL11.GL_FOG_START, farPlaneDistance * 0.2f); + GL11.glFogf(GL11.GL_FOG_END, farPlaneDistance); + } + } + } } |
