summaryrefslogtreecommitdiff
path: root/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/darkknight/jewelrycraft/events/PlayerRenderHandler.java')
-rw-r--r--java/darkknight/jewelrycraft/events/PlayerRenderHandler.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
index c66a07a..65ce853 100644
--- a/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
+++ b/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java
@@ -1,10 +1,16 @@
package darkknight.jewelrycraft.events;
-import net.minecraft.client.Minecraft;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.client.event.RenderPlayerEvent;
+import org.lwjgl.opengl.GL11;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import darkknight.jewelrycraft.curses.Curse;
+import darkknight.jewelrycraft.entities.renders.RenderHelper;
+import darkknight.jewelrycraft.lib.Reference;
import darkknight.jewelrycraft.model.ModelMask;
import darkknight.jewelrycraft.tileentity.renders.MaskRender;
+import darkknight.jewelrycraft.util.PlayerUtils;
public class PlayerRenderHandler
{
@@ -12,9 +18,24 @@ public class PlayerRenderHandler
MaskRender mask = new MaskRender();
@SubscribeEvent
- public void renderScreen(RenderPlayerEvent.Pre event)
+ public void renderScreen(RenderPlayerEvent.Specials.Post event)
{
-// if (event.entityPlayer.equals(Minecraft.getMinecraft().thePlayer)) mask.doRender(event.entityPlayer, 0F, 0F, 0F, event.entityPlayer.rotationPitch, event.entityPlayer.rotationYawHead);
- // mask.renderTileEntityAt(null, event.x, event.entity.rotationPitch, event.entity.rotationYawHead, 0F);
+ EntityPlayer player = event.entityPlayer;
+ NBTTagCompound playerInfo = PlayerUtils.getModPlayerPersistTag(player, "Jewelrycraft");
+ if (playerInfo.getInteger(Reference.MODNAME + ":" + "Greed") >= 0){
+ float yaw = player.prevRotationYawHead + (player.rotationYawHead - player.prevRotationYawHead) * event.partialRenderTick;
+ float yawOffset = player.prevRenderYawOffset + (player.renderYawOffset - player.prevRenderYawOffset) * event.partialRenderTick;
+ float pitch = player.prevRotationPitch + (player.rotationPitch - player.prevRotationPitch) * event.partialRenderTick;
+ GL11.glPushMatrix();
+ GL11.glRotatef(yawOffset, 0, -1, 0);
+ GL11.glRotatef(yaw - 90, 0, 1, 0);
+ GL11.glRotatef(pitch, 0, 0, -1);
+ GL11.glRotatef(90F, 0, 1F, 0F);
+ RenderHelper.translateToHeadLevel(player);
+ GL11.glScalef(1.6f, 1.6f, 1.6f);
+ GL11.glTranslatef(-0.25F, -0.25F, -0.25F);
+ mask.doRender(event.entityPlayer, 0F, 0F, 0F, 0F, 0F);
+ GL11.glPopMatrix();
+ }
}
}