summaryrefslogtreecommitdiff
path: root/ihl/servitor/SkullItemRender.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
committerFoghrye4 <foghrye4@gmail.com>2016-04-11 19:44:54 +0300
commit05c78126859231a68e199dc34613689bd0978e2f (patch)
tree050bea104a18c72905095d29f31bec2935a27a24 /ihl/servitor/SkullItemRender.java
Initial commit
Diffstat (limited to 'ihl/servitor/SkullItemRender.java')
-rw-r--r--ihl/servitor/SkullItemRender.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/ihl/servitor/SkullItemRender.java b/ihl/servitor/SkullItemRender.java
new file mode 100644
index 0000000..3d00df1
--- /dev/null
+++ b/ihl/servitor/SkullItemRender.java
@@ -0,0 +1,77 @@
+package ihl.servitor;
+
+import ihl.IHLModInfo;
+import net.minecraft.client.Minecraft;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.IItemRenderer;
+import org.lwjgl.opengl.GL11;
+
+public class SkullItemRender implements IItemRenderer{
+ private SkullModel model = new SkullModel();
+ private ResourceLocation tex;
+ private float scale;
+
+public SkullItemRender()
+{
+ super();
+ scale = 1F/80F;
+ tex = new ResourceLocation(IHLModInfo.MODID+":textures/items/skull.png");
+}
+
+@Override
+public void renderItem(ItemRenderType type, ItemStack item, Object... data)
+{
+ GL11.glPushMatrix();
+ switch(type)
+ {
+ case EQUIPPED_FIRST_PERSON:
+ GL11.glRotatef(80F, 0.0F, 1.0F, 0.0F);
+ GL11.glTranslatef(0F, 0.18F, 1F);
+ GL11.glScalef(1.5F, -1.5F, -1.5F);
+ break;
+ case ENTITY:
+ GL11.glTranslatef(0F, 1.0F, 0F);
+ GL11.glScalef(1.0F, -1F, -1F);
+ break;
+ case INVENTORY:
+ GL11.glRotatef(210F, 0F, 1.0F, -0.15F);
+ GL11.glTranslatef(0.0F,-0.75F,0.0F);
+ GL11.glScalef(1.5F, -1.5F, -1.5F);
+ break;
+ case EQUIPPED:
+ GL11.glTranslatef(0.5F,0.5F,0.25F);
+ GL11.glScalef(1.0F, -1F, -1F);
+ break;
+ default:
+ break;
+ }
+ Minecraft.getMinecraft().renderEngine.bindTexture(tex);
+ model.Base.render(scale);
+ GL11.glPopMatrix();
+}
+
+/**
+ * IItemRenderer implementation *
+ */
+@Override
+public boolean handleRenderType(ItemStack item, ItemRenderType type) {
+ switch (type) {
+ case ENTITY:
+ return true;
+ case EQUIPPED:
+ return true;
+ case EQUIPPED_FIRST_PERSON:
+ return true;
+ case INVENTORY:
+ return true;
+ default:
+ return false;
+ }
+}
+
+@Override
+public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
+ return true;
+}
+} \ No newline at end of file