From 0b1e4b8e3edd31c30b6731ee01be0d7e67abacd1 Mon Sep 17 00:00:00 2001 From: johni0702 Date: Fri, 14 Aug 2015 14:43:50 +0200 Subject: [PATCH] Remove overlays during replay via mixins --- .../replaymod/entities/CameraEntity.java | 3 --- .../replaymod/mixin/MixinItemRenderer.java | 18 ++++++++++++++++++ src/main/resources/mixins.replaymod.json | 5 +++-- 3 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 src/main/java/eu/crushedpixel/replaymod/mixin/MixinItemRenderer.java diff --git a/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java b/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java index f618c18d..08622b8e 100755 --- a/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java +++ b/src/main/java/eu/crushedpixel/replaymod/entities/CameraEntity.java @@ -100,9 +100,6 @@ public class CameraEntity extends EntityPlayer { //Aligns the particle rotation mc.thePlayer.rotationPitch = mc.thePlayer.prevRotationPitch = mc.getRenderViewEntity().rotationPitch; mc.thePlayer.rotationYaw = mc.thePlayer.prevRotationYaw = mc.getRenderViewEntity().rotationYaw; - - //removes water/suffocation/shadow overlays in screen - mc.thePlayer.setPosition(0, 500, 0); } lastCall = Sys.getTime(); diff --git a/src/main/java/eu/crushedpixel/replaymod/mixin/MixinItemRenderer.java b/src/main/java/eu/crushedpixel/replaymod/mixin/MixinItemRenderer.java new file mode 100644 index 00000000..72e083ee --- /dev/null +++ b/src/main/java/eu/crushedpixel/replaymod/mixin/MixinItemRenderer.java @@ -0,0 +1,18 @@ +package eu.crushedpixel.replaymod.mixin; + +import eu.crushedpixel.replaymod.replay.ReplayHandler; +import net.minecraft.client.renderer.ItemRenderer; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(ItemRenderer.class) +public abstract class MixinItemRenderer { + @Inject(method = "renderOverlays", at = @At("HEAD"), cancellable = true) + public void shouldRenderOverlay(float partialTick, CallbackInfo ci) { + if (ReplayHandler.getCameraEntity() != null) { + ci.cancel(); + } + } +} diff --git a/src/main/resources/mixins.replaymod.json b/src/main/resources/mixins.replaymod.json index d89e68e8..0454ef41 100644 --- a/src/main/resources/mixins.replaymod.json +++ b/src/main/resources/mixins.replaymod.json @@ -4,12 +4,13 @@ "mixins": [ "MixinEffectRenderer", "MixinEntityRenderer", + "MixinItemRenderer", "MixinMinecraft", "MixinRender", "MixinRendererLivingEntity", + "MixinRenderGlobal", "MixinRenderItem", - "MixinRenderManager", - "MixinRenderGlobal" + "MixinRenderManager" ], "server": [], "client": [],