MinecraftForge/MinecraftForge — pull request #15 by newthead (2012-03-17 07:49:23+00:00)
Title: Improved Custom Item Render Interfaces

I've divided the custom item rendering into 3 interfaces for better flexibility in rendering items based on state: IEntityItemRenderer, IEquippedItemRenderer, IInventoryItemRenderer

In addition, I added several flags specific to each registered interface:
- IEntityItemRenderer allows the renderer to enable/disable item rotation and/or bobbing
- IEquippedItemRenderer can render items held in hand as 3D blocks or 2D textures
- IInventoryItemRenderer can render items in inventory slots as 3D blocks or 2D textures

The implemented render hooks (in ForgeHooksClient.java) provide additional access to the objects being rendered, e.g. the in-world EntityItem, or the EntityLiving which has equipped the item.

All of the above also support Forge texture providers for the item being rendered, and will default to the appropriate terrain.png/items.png sheet based on item ID.

*If sample usage code is required for any of the changes, I'd be happy to create a small demo.*