summaryrefslogtreecommitdiff
path: root/src/main/java/ihl/servitor/SkullItemRender.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/ihl/servitor/SkullItemRender.java')
-rw-r--r--src/main/java/ihl/servitor/SkullItemRender.java78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/main/java/ihl/servitor/SkullItemRender.java b/src/main/java/ihl/servitor/SkullItemRender.java
new file mode 100644
index 0000000..8b9e2b7
--- /dev/null
+++ b/src/main/java/ihl/servitor/SkullItemRender.java
@@ -0,0 +1,78 @@
+package ihl.servitor;
+
+import org.lwjgl.opengl.GL11;
+
+import ihl.IHLModInfo;
+import net.minecraft.client.Minecraft;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.IItemRenderer;
+
+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