From cedb63a505e28eebfcaa64229117dd7d6735ffe4 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Fri, 7 Jul 2023 07:55:01 -0500 Subject: [PATCH] Fix 1.19 and 1.20 compiling --- .../common/rendering/SeamlessOverdraw.java | 10 ++++++++++ .../distanthorizons/fabric/FabricClientProxy.java | 6 +++++- .../mixins/client/MixinClientPacketListener.java | 3 ++- .../forge/mixins/client/MixinLevelRenderer.java | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/seibel/distanthorizons/common/rendering/SeamlessOverdraw.java b/common/src/main/java/com/seibel/distanthorizons/common/rendering/SeamlessOverdraw.java index 4a0ab5aa3..d55b5bf89 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/rendering/SeamlessOverdraw.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/rendering/SeamlessOverdraw.java @@ -1,6 +1,10 @@ package com.seibel.distanthorizons.common.rendering; +#if PRE_MC_1_19_4 import com.mojang.math.Matrix4f; +#else +import org.joml.Matrix4f; +#endif import com.seibel.distanthorizons.core.config.Config; import com.seibel.distanthorizons.core.util.RenderUtil; @@ -15,7 +19,13 @@ public class SeamlessOverdraw public static FloatBuffer overwriteMinecraftNearFarClipPlanes(Matrix4f minecraftProjectionMatrix, float previousPartialTicks) { FloatBuffer matrixFloatBuffer = FloatBuffer.allocate(16); + + #if PRE_MC_1_19_4 minecraftProjectionMatrix.store(matrixFloatBuffer); + #else + minecraftProjectionMatrix.get(matrixFloatBuffer); + #endif + float[] matrixFloatArray = matrixFloatBuffer.array(); float dhFarClipPlane = RenderUtil.getNearClipPlaneDistanceInBlocks(previousPartialTicks); diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java index 59d08d97b..0cd367f53 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/FabricClientProxy.java @@ -19,7 +19,6 @@ package com.seibel.distanthorizons.fabric; -import com.mojang.math.Matrix4f; import com.seibel.distanthorizons.common.rendering.SeamlessOverdraw; import com.seibel.distanthorizons.common.wrappers.McObjectConverter; import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; @@ -204,7 +203,12 @@ public class FabricClientProxy if (Config.Client.Advanced.Graphics.AdvancedGraphics.seamlessOverdraw.get()) { FloatBuffer modifiedMatrixBuffer = SeamlessOverdraw.overwriteMinecraftNearFarClipPlanes(renderContext.projectionMatrix(), renderContext.tickDelta()); + + #if PRE_MC_1_19_4 renderContext.projectionMatrix().load(modifiedMatrixBuffer); + #else + renderContext.projectionMatrix().set(modifiedMatrixBuffer); + #endif } } diff --git a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinClientPacketListener.java b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinClientPacketListener.java index 7a282532b..aac5f7022 100644 --- a/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinClientPacketListener.java +++ b/fabric/src/main/java/com/seibel/distanthorizons/fabric/mixins/client/MixinClientPacketListener.java @@ -3,6 +3,7 @@ package com.seibel.distanthorizons.fabric.mixins.client; import com.seibel.distanthorizons.common.wrappers.chunk.ChunkWrapper; import com.seibel.distanthorizons.common.wrappers.world.ClientLevelWrapper; import com.seibel.distanthorizons.core.api.internal.ClientApi; +import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.world.level.chunk.LevelChunk; @@ -58,7 +59,7 @@ public class MixinClientPacketListener @Inject(method = "enableChunkLight", at = @At("TAIL")) void onEnableChunkLight(LevelChunk chunk, int x, int z, CallbackInfo ci) { - ClientLevelWrapper clientLevel = ClientLevelWrapper.getWrapper((ClientLevel) chunk.getLevel()); + IClientLevelWrapper clientLevel = ClientLevelWrapper.getWrapper((ClientLevel) chunk.getLevel()); ClientApi.INSTANCE.clientChunkLoadEvent(new ChunkWrapper(chunk, chunk.getLevel(), clientLevel), clientLevel); } diff --git a/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinLevelRenderer.java b/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinLevelRenderer.java index f38a64967..58ba5bcb3 100644 --- a/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinLevelRenderer.java +++ b/forge/src/main/java/com/seibel/distanthorizons/forge/mixins/client/MixinLevelRenderer.java @@ -139,7 +139,12 @@ public class MixinLevelRenderer if (Config.Client.Advanced.Graphics.AdvancedGraphics.seamlessOverdraw.get()) { FloatBuffer modifiedMatrixBuffer = SeamlessOverdraw.overwriteMinecraftNearFarClipPlanes(projectionMatrix, previousPartialTicks); + + #if PRE_MC_1_19_4 projectionMatrix.load(modifiedMatrixBuffer); + #else + projectionMatrix.set(modifiedMatrixBuffer); + #endif } }