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