Replace SpectatorRenderer

This commit is contained in:
johni0702
2016-08-14 17:16:11 +02:00
parent 1f4e1abae5
commit 00c2404345
11 changed files with 171 additions and 596 deletions

View File

@@ -5,7 +5,6 @@ import com.replaymod.render.capturer.CubicOpenGlFrameCapturer;
import com.replaymod.render.capturer.StereoscopicOpenGlFrameCapturer;
import com.replaymod.render.hooks.EntityRendererHandler;
import com.replaymod.replay.camera.CameraEntity;
import eu.crushedpixel.replaymod.renderer.SpectatorRenderer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.EntityRenderer;
import net.minecraft.client.renderer.GlStateManager;
@@ -32,9 +31,6 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
private EntityRendererHandler replayModRender_handler;
@Shadow(remap = false)
private SpectatorRenderer spectatorRenderer;
@Override
public void replayModRender_setHandler(EntityRendererHandler handler) {
this.replayModRender_handler = handler;
@@ -119,13 +115,18 @@ public abstract class MixinEntityRenderer implements EntityRendererHandler.IEnti
}
Entity currentEntity = Minecraft.getMinecraft().getRenderViewEntity();
if (currentEntity instanceof EntityPlayer && !(currentEntity instanceof CameraEntity)) {
renderPass = replayModRender_handler.data == StereoscopicOpenGlFrameCapturer.Data.LEFT_EYE ? 1 : 0;
spectatorRenderer.renderSpectatorHand((EntityPlayer) currentEntity, partialTicks, renderPass);
ci.cancel(); // No further hand rendering needed
if (renderPass == 2) { // Need to update render pass
renderPass = replayModRender_handler.data == StereoscopicOpenGlFrameCapturer.Data.LEFT_EYE ? 1 : 0;
renderHand(partialTicks, renderPass);
ci.cancel();
} // else, render normally
}
}
}
@Shadow
public abstract void renderHand(float partialTicks, int renderPass);
@Redirect(method = "renderWorldPass", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/RenderGlobal;drawSelectionBox(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/MovingObjectPosition;IF)V"))
private void replayModRender_drawSelectionBox(RenderGlobal instance, EntityPlayer player, MovingObjectPosition mop, int alwaysZero, float partialTicks) {
if (replayModRender_handler == null) {