aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/core/block/ItemMetadataRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/binnie/core/block/ItemMetadataRenderer.java')
-rw-r--r--src/Java/binnie/core/block/ItemMetadataRenderer.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/Java/binnie/core/block/ItemMetadataRenderer.java b/src/Java/binnie/core/block/ItemMetadataRenderer.java
new file mode 100644
index 0000000000..e96dd068c1
--- /dev/null
+++ b/src/Java/binnie/core/block/ItemMetadataRenderer.java
@@ -0,0 +1,64 @@
+package binnie.core.block;
+
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.RenderBlocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.client.IItemRenderer;
+import net.minecraftforge.client.IItemRenderer.ItemRenderType;
+import net.minecraftforge.client.IItemRenderer.ItemRendererHelper;
+import org.lwjgl.opengl.GL11;
+
+public class ItemMetadataRenderer
+ implements IItemRenderer
+{
+ public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type)
+ {
+ return (type == IItemRenderer.ItemRenderType.INVENTORY) || (type == IItemRenderer.ItemRenderType.ENTITY) || (type == IItemRenderer.ItemRenderType.EQUIPPED) || (type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON);
+ }
+
+ public boolean shouldUseRenderHelper(IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper)
+ {
+ if (type == IItemRenderer.ItemRenderType.INVENTORY) {
+ return helper == IItemRenderer.ItemRendererHelper.INVENTORY_BLOCK;
+ }
+ if (type == IItemRenderer.ItemRenderType.ENTITY) {
+ return (helper == IItemRenderer.ItemRendererHelper.ENTITY_BOBBING) || (helper == IItemRenderer.ItemRendererHelper.ENTITY_ROTATION);
+ }
+ if ((type == IItemRenderer.ItemRenderType.EQUIPPED) || (type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON)) {
+ return helper == IItemRenderer.ItemRendererHelper.EQUIPPED_BLOCK;
+ }
+ return false;
+ }
+
+ public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data)
+ {
+ GL11.glPushMatrix();
+
+
+
+
+
+
+
+
+
+
+ Block block = Block.getBlockFromItem(item.getItem());
+ if (type == IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON) {
+ GL11.glTranslated(0.5D, 0.5D, 0.5D);
+ }
+ if ((type == IItemRenderer.ItemRenderType.INVENTORY) &&
+ (block.getRenderBlockPass() != 0))
+ {
+ GL11.glAlphaFunc(516, 0.1F);
+ GL11.glEnable(3042);
+ OpenGlHelper.glBlendFunc(770, 771, 1, 0);
+ }
+ GL11.glPushMatrix();
+ ((RenderBlocks)data[0]).renderBlockAsItem(block, TileEntityMetadata.getItemDamage(item), 1.0F);
+
+ GL11.glPopMatrix();
+ GL11.glPopMatrix();
+ }
+}