diff --git a/src/main/java/com/replaymod/compat/shaders/mixin/MixinShadersRender.java b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShadersRender.java new file mode 100644 index 00000000..b81d176f --- /dev/null +++ b/src/main/java/com/replaymod/compat/shaders/mixin/MixinShadersRender.java @@ -0,0 +1,22 @@ +package com.replaymod.compat.shaders.mixin; + +import net.minecraft.client.renderer.EntityRenderer; +import net.minecraftforge.client.ForgeHooksClient; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Pseudo; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Pseudo +@Mixin(targets = "shadersmod/client/ShadersRender", remap = false) +public abstract class MixinShadersRender { + + @Inject(method = "renderHand0", at = @At("HEAD"), cancellable = true) + private static void replayModCompat_disableRenderHand0(EntityRenderer er, float partialTicks, int renderPass, CallbackInfo ci) { + if (ForgeHooksClient.renderFirstPersonHand(er.mc.renderGlobal, partialTicks, renderPass)) { + ci.cancel(); + } + } + +} diff --git a/src/main/resources/mixins.compat.shaders.replaymod.json b/src/main/resources/mixins.compat.shaders.replaymod.json index 5919e87f..792af576 100644 --- a/src/main/resources/mixins.compat.shaders.replaymod.json +++ b/src/main/resources/mixins.compat.shaders.replaymod.json @@ -6,7 +6,8 @@ "client": [ "MixinShaderEntityRenderer", "MixinShaderRenderChunk", - "MixinShaderRenderGlobal" + "MixinShaderRenderGlobal", + "MixinShadersRender" ], "compatibilityLevel": "JAVA_8", "refmap": "mixins.replaymod.refmap.json"