From 508ae317fe29cc44acba7ac3076820c2066addfc Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sun, 20 Jun 2021 16:29:45 +0300 Subject: [PATCH] Rendering update --- .../mixin/client/BackgroundRendererMixin.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/ru/bclib/mixin/client/BackgroundRendererMixin.java b/src/main/java/ru/bclib/mixin/client/BackgroundRendererMixin.java index ca1076be..10495c5a 100644 --- a/src/main/java/ru/bclib/mixin/client/BackgroundRendererMixin.java +++ b/src/main/java/ru/bclib/mixin/client/BackgroundRendererMixin.java @@ -1,5 +1,6 @@ package ru.bclib.mixin.client; +import net.minecraft.world.level.material.FogType; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -41,8 +42,8 @@ public class BackgroundRendererMixin { @Inject(method = "setupColor", at = @At("RETURN")) private static void bcl_onRender(Camera camera, float tickDelta, ClientLevel world, int i, float f, CallbackInfo info) { - FluidState fluidState = camera.getFluidInCamera(); - if (fluidState.isEmpty() && world.dimension().equals(Level.END)) { + FogType fogType = camera.getFluidInCamera(); + if (fogType != FogType.WATER && world.dimension().equals(Level.END)) { Entity entity = camera.getEntity(); boolean skip = false; if (entity instanceof LivingEntity) { @@ -62,10 +63,10 @@ public class BackgroundRendererMixin { } @Inject(method = "setupFog", at = @At("HEAD"), cancellable = true) - private static void bcl_fogDensity(Camera camera, FogRenderer.FogMode fogType, float viewDistance, boolean thickFog, CallbackInfo info) { + private static void bcl_fogDensity(Camera camera, FogRenderer.FogMode fogMode, float viewDistance, boolean thickFog, CallbackInfo info) { Entity entity = camera.getEntity(); - FluidState fluidState = camera.getFluidInCamera(); - if (fluidState.isEmpty()) { + FogType fogType = camera.getFluidInCamera(); + if (fogType != FogType.WATER) { float fog = bcl_getFogDensity(entity.level, entity.getX(), entity.getEyeY(), entity.getZ()); BackgroundInfo.fogDensity = fog; float start = viewDistance * 0.75F / fog; @@ -93,10 +94,8 @@ public class BackgroundRendererMixin { } } - RenderSystem.fogStart(start); - RenderSystem.fogEnd(end); - RenderSystem.fogMode(GlStateManager.FogMode.LINEAR); - RenderSystem.setupNvFogDistance(); + RenderSystem.setShaderFogStart(start); + RenderSystem.setShaderFogEnd(end); info.cancel(); } }