diff --git a/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java b/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java index f21bfb05..14f3b4cc 100644 --- a/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java +++ b/src/main/java/com/replaymod/compat/shaders/ShaderBeginRender.java @@ -44,7 +44,11 @@ public class ShaderBeginRender extends EventRegistrations { // check if Shaders are enabled if (!(boolean) (ShaderReflection.config_isShaders.invoke(null))) return; - ShaderReflection.shaders_beginRender.invoke(null, mc, getRenderPartialTicks(), 0); + ShaderReflection.shaders_beginRender.invoke(null, mc, + //#if MC>=11400 + mc.gameRenderer.getCamera(), + //#endif + getRenderPartialTicks(), 0); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } diff --git a/src/main/java/com/replaymod/compat/shaders/ShaderReflection.java b/src/main/java/com/replaymod/compat/shaders/ShaderReflection.java index 59012fd4..d4aa860a 100644 --- a/src/main/java/com/replaymod/compat/shaders/ShaderReflection.java +++ b/src/main/java/com/replaymod/compat/shaders/ShaderReflection.java @@ -3,6 +3,10 @@ package com.replaymod.compat.shaders; import net.minecraft.client.MinecraftClient; +//#if MC>=11400 +import net.minecraft.client.render.Camera; +//#endif + import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -37,7 +41,11 @@ public class ShaderReflection { shaders_isShadowPass = shadersClass.getDeclaredField("isShadowPass"); shaders_isShadowPass.setAccessible(true); - shaders_beginRender = shadersClass.getDeclaredMethod("beginRender", MinecraftClient.class, float.class, long.class); + shaders_beginRender = shadersClass.getDeclaredMethod("beginRender", MinecraftClient.class, + //#if MC>=11400 + Camera.class, + //#endif + float.class, long.class); shaders_beginRender.setAccessible(true); renderGlobal_chunksToUpdateForced = Class.forName("net.minecraft.client.renderer.RenderGlobal") diff --git a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java index e97613bc..43c1b97b 100644 --- a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java +++ b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShaderRenderChunk.java @@ -21,8 +21,6 @@ public abstract class MixinShaderRenderChunk { */ @Inject(method = "isPlayerUpdate", at = @At("HEAD"), cancellable = true, remap = false) private void replayModCompat_disableIsPlayerUpdate(CallbackInfoReturnable ci) { - // TODO: Update to 1.12 once optifine is available - // TODO: We're on 1.13 now and haven't gotten any 1.12 complaints, so 1.12 is probably working but 1.13? if (((EntityRendererHandler.IEntityRenderer) mc.gameRenderer).replayModRender_getHandler() == null) return; ci.setReturnValue(true); } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index a61b467a..b94e54b4 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -26,6 +26,7 @@ "mixins": [ "mixins.jgui.json", "mixins.core.replaymod.json", + "mixins.compat.shaders.replaymod.json", "mixins.extras.playeroverview.replaymod.json", "mixins.recording.replaymod.json", "mixins.render.blend.replaymod.json",