From 6312636fd9a4d0f56dc7c9ff474a99d879bcb4e9 Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Mon, 23 Mar 2015 14:51:06 +0000 Subject: Reworked the whole repo. --- .../jewelrycraft/events/PlayerRenderHandler.java | 68 ++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java (limited to 'src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java') diff --git a/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java new file mode 100644 index 0000000..d85620a --- /dev/null +++ b/src/main/java/darkknight/jewelrycraft/events/PlayerRenderHandler.java @@ -0,0 +1,68 @@ +package darkknight.jewelrycraft.events; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.server.MinecraftServer; +import net.minecraftforge.client.event.RenderPlayerEvent; +import org.lwjgl.opengl.GL11; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +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 +{ + ModelMask maskModel = new ModelMask(); + MaskRender mask = new MaskRender(); + + public static String[] infamyCache = new String[] {}; + + @SubscribeEvent + public void renderScreen(RenderPlayerEvent.Specials.Post event) + { + if (infamyCache != null) + { + Iterator players = event.entityPlayer.worldObj.playerEntities.iterator(); + + while(players.hasNext()) + { + EntityPlayer player = players.next(); + if (checkPlayerInfamy(player.getDisplayName()) && event.entityPlayer.getDisplayName().equals(player.getDisplayName())) + { + 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.glColor4f(1, 1, 1, 1); + 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(); + } + } + } + } + + /** + * @param string + * @return + */ + private boolean checkPlayerInfamy(String string) + { + for (int i = 0; i < infamyCache.length; i++) + if (infamyCache[i].equals(string)) return true; + + return false; + } +} -- cgit v1.2.3