Fix hands always rendering with 1.16 OF shaders (fixes #280)
This commit is contained in:
@@ -7,6 +7,11 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
|
//#if MC>=11600
|
||||||
|
//$$ import net.minecraft.client.render.Camera;
|
||||||
|
//$$ import net.minecraft.client.util.math.MatrixStack;
|
||||||
|
//#endif
|
||||||
|
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
import com.replaymod.core.events.PreRenderHandCallback;
|
import com.replaymod.core.events.PreRenderHandCallback;
|
||||||
//#else
|
//#else
|
||||||
@@ -21,8 +26,18 @@ import com.replaymod.core.events.PreRenderHandCallback;
|
|||||||
}, remap = false)
|
}, remap = false)
|
||||||
public abstract class MixinShadersRender {
|
public abstract class MixinShadersRender {
|
||||||
|
|
||||||
@Inject(method = "renderHand0", at = @At("HEAD"), cancellable = true, remap = false)
|
@Inject(method = { "renderHand0", "renderHand1" }, at = @At("HEAD"), cancellable = true, remap = false)
|
||||||
private static void replayModCompat_disableRenderHand0(GameRenderer er, float partialTicks, int renderPass, CallbackInfo ci) {
|
private static void replayModCompat_disableRenderHand0(
|
||||||
|
GameRenderer er,
|
||||||
|
//#if MC>=11600
|
||||||
|
//$$ MatrixStack stack,
|
||||||
|
//$$ Camera camera,
|
||||||
|
//#endif
|
||||||
|
float partialTicks,
|
||||||
|
//#if MC<11600
|
||||||
|
int renderPass,
|
||||||
|
//#endif
|
||||||
|
CallbackInfo ci) {
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
if (PreRenderHandCallback.EVENT.invoker().preRenderHand()) {
|
if (PreRenderHandCallback.EVENT.invoker().preRenderHand()) {
|
||||||
//#else
|
//#else
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.replaymod.render.RenderSettings;
|
|||||||
import com.replaymod.render.capturer.CaptureData;
|
import com.replaymod.render.capturer.CaptureData;
|
||||||
import com.replaymod.render.capturer.RenderInfo;
|
import com.replaymod.render.capturer.RenderInfo;
|
||||||
import com.replaymod.render.capturer.WorldRenderer;
|
import com.replaymod.render.capturer.WorldRenderer;
|
||||||
|
import de.johni0702.minecraft.gui.utils.EventRegistrations;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ import net.minecraft.client.util.math.MatrixStack;
|
|||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
import com.replaymod.core.events.PostRenderCallback;
|
import com.replaymod.core.events.PostRenderCallback;
|
||||||
import com.replaymod.core.events.PreRenderCallback;
|
import com.replaymod.core.events.PreRenderCallback;
|
||||||
|
import com.replaymod.core.events.PreRenderHandCallback;
|
||||||
//#else
|
//#else
|
||||||
//#if MC>=11400
|
//#if MC>=11400
|
||||||
//$$ import net.minecraftforge.fml.hooks.BasicEventHooks;
|
//$$ import net.minecraftforge.fml.hooks.BasicEventHooks;
|
||||||
@@ -25,7 +27,7 @@ import com.replaymod.core.events.PreRenderCallback;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class EntityRendererHandler implements WorldRenderer {
|
public class EntityRendererHandler extends EventRegistrations implements WorldRenderer {
|
||||||
public final MinecraftClient mc = MCVer.getMinecraft();
|
public final MinecraftClient mc = MCVer.getMinecraft();
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@@ -42,7 +44,12 @@ public class EntityRendererHandler implements WorldRenderer {
|
|||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
this.renderInfo = renderInfo;
|
this.renderInfo = renderInfo;
|
||||||
|
|
||||||
|
//#if MC>=11400
|
||||||
|
on(PreRenderHandCallback.EVENT, () -> omnidirectional);
|
||||||
|
//#endif
|
||||||
|
|
||||||
((IEntityRenderer) mc.gameRenderer).replayModRender_setHandler(this);
|
((IEntityRenderer) mc.gameRenderer).replayModRender_setHandler(this);
|
||||||
|
register();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -84,6 +91,7 @@ public class EntityRendererHandler implements WorldRenderer {
|
|||||||
@Override
|
@Override
|
||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
((IEntityRenderer) mc.gameRenderer).replayModRender_setHandler(null);
|
((IEntityRenderer) mc.gameRenderer).replayModRender_setHandler(null);
|
||||||
|
unregister();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user