Merged item rendering interfaces into a single IItemRenderer
This commit is contained in:
parent
e2dc4d595e
commit
0597c30ac2
|
@ -252,16 +252,19 @@ public class ForgeHooksClient
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void renderEntityItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, EntityItem item, int itemID, int metadata)
|
public static void renderEntityItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, EntityItem item)
|
||||||
{
|
{
|
||||||
customRenderer.renderEntityItem(renderBlocks, item, itemID, metadata);
|
customRenderer.renderEntityItem(renderBlocks, item);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void renderEquippedItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, EntityLiving entity, int itemID, int metadata)
|
public static void renderEquippedItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, EntityLiving entity, ItemStack item)
|
||||||
{
|
{
|
||||||
if (customRenderer.renderEquippedItemAsBlock())
|
if (customRenderer.renderEquippedItemAsBlock(item.itemID))
|
||||||
{
|
{
|
||||||
customRenderer.renderEquippedItem(renderBlocks, entity, itemID, metadata);
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||||
|
customRenderer.renderEquippedItem(renderBlocks, entity, item);
|
||||||
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -272,14 +275,14 @@ public class ForgeHooksClient
|
||||||
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
|
||||||
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
|
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
|
||||||
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
|
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
|
||||||
customRenderer.renderEquippedItem(renderBlocks, entity, itemID, metadata);
|
customRenderer.renderEquippedItem(renderBlocks, entity, item);
|
||||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void renderInventoryItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, int itemID, int metadata)
|
public static void renderInventoryItem(IItemRenderer customRenderer, RenderBlocks renderBlocks, ItemStack item)
|
||||||
{
|
{
|
||||||
customRenderer.renderInventoryItem(renderBlocks, itemID, metadata);
|
customRenderer.renderInventoryItem(renderBlocks, item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,18 @@ package net.minecraft.src.forge;
|
||||||
|
|
||||||
import net.minecraft.src.EntityItem;
|
import net.minecraft.src.EntityItem;
|
||||||
import net.minecraft.src.EntityLiving;
|
import net.minecraft.src.EntityLiving;
|
||||||
|
import net.minecraft.src.ItemStack;
|
||||||
import net.minecraft.src.RenderBlocks;
|
import net.minecraft.src.RenderBlocks;
|
||||||
|
|
||||||
public interface IItemRenderer
|
public interface IItemRenderer
|
||||||
{
|
{
|
||||||
/** Checks if this renderer should handle a specific item render type
|
/** Checks if this renderer should handle a specific item's render type
|
||||||
|
* @param itemID The item we are trying to render
|
||||||
* @param type A render type to check if this renderer handles
|
* @param type A render type to check if this renderer handles
|
||||||
* @return true if this renderer should handle the given render type,
|
* @return true if this renderer should handle the given render type,
|
||||||
* otherwise false
|
* otherwise false
|
||||||
*/
|
*/
|
||||||
public boolean handleRenderType(ItemRenderType type);
|
public boolean handleRenderType(int itemID, ItemRenderType type);
|
||||||
|
|
||||||
/** Called to render an in-world item, e.g. one that has been thrown or
|
/** Called to render an in-world item, e.g. one that has been thrown or
|
||||||
* dropped. The appropriate OpenGL transformations and scaling have already
|
* dropped. The appropriate OpenGL transformations and scaling have already
|
||||||
|
@ -19,22 +21,20 @@ public interface IItemRenderer
|
||||||
* EntityItem.
|
* EntityItem.
|
||||||
* @param render The RenderBlocks instance
|
* @param render The RenderBlocks instance
|
||||||
* @param item The in-world item to be rendered
|
* @param item The in-world item to be rendered
|
||||||
* @param itemID The item's ID (shifted index)
|
|
||||||
* @param metadata The item's metadata or damage value
|
|
||||||
*/
|
*/
|
||||||
public void renderEntityItem(RenderBlocks render, EntityItem item, int itemID, int metadata);
|
public void renderEntityItem(RenderBlocks render, EntityItem item);
|
||||||
|
|
||||||
/** Determines if a rotation effect should be used when rendering an
|
/** Determines if a rotation effect should be used when rendering an
|
||||||
* EntityItem, like most default blocks do.
|
* EntityItem, like most default blocks do.
|
||||||
* @return true if the EntityItem should rotate, otherwise false
|
* @return true if the EntityItem should rotate, otherwise false
|
||||||
*/
|
*/
|
||||||
public boolean useEntityItemRotationEffect();
|
public boolean useEntityItemRotationEffect(int itemID);
|
||||||
|
|
||||||
/** Determines if an up-and-down bobbing effect should be used when
|
/** Determines if an up-and-down bobbing effect should be used when
|
||||||
* rendering an EntityItem, like all default blocks and items do.
|
* rendering an EntityItem, like all default blocks and items do.
|
||||||
* @return true if the EntityItem should bob up and down, otherwise false
|
* @return true if the EntityItem should bob up and down, otherwise false
|
||||||
*/
|
*/
|
||||||
public boolean useEntityItemBobbingEffect();
|
public boolean useEntityItemBobbingEffect(int itemID);
|
||||||
|
|
||||||
/** Called to render an item currently held in-hand by a living entity. If
|
/** Called to render an item currently held in-hand by a living entity. If
|
||||||
* rendering as a 3D block, the item will be rotated to a 45-degree angle.
|
* rendering as a 3D block, the item will be rotated to a 45-degree angle.
|
||||||
|
@ -43,17 +43,16 @@ public interface IItemRenderer
|
||||||
* in local coordinates from (0,0,0)-(1,1,1).
|
* in local coordinates from (0,0,0)-(1,1,1).
|
||||||
* @param render The RenderBlocks instance
|
* @param render The RenderBlocks instance
|
||||||
* @param entity The entity holding this item
|
* @param entity The entity holding this item
|
||||||
* @param itemID The item's ID (shifted index)
|
* @param item The equipped item to be rendered
|
||||||
* @param metadata The item's metadata or damage value
|
|
||||||
*/
|
*/
|
||||||
public void renderEquippedItem(RenderBlocks render, EntityLiving entity, int itemID, int metadata);
|
public void renderEquippedItem(RenderBlocks render, EntityLiving entity, ItemStack item);
|
||||||
|
|
||||||
/** Determines if the currently equipped item should be rendered as a 3D
|
/** Determines if the currently equipped item should be rendered as a 3D
|
||||||
* block or as a 2D texture.
|
* block or as a 2D texture.
|
||||||
* @return true if the equipped item should be rendered as a 3D block,
|
* @return true if the equipped item should be rendered as a 3D block,
|
||||||
* otherwise false
|
* otherwise false
|
||||||
*/
|
*/
|
||||||
public boolean renderEquippedItemAsBlock();
|
public boolean renderEquippedItemAsBlock(int itemID);
|
||||||
|
|
||||||
/** Called to render an item in a GUI inventory slot. If rendering as a 3D
|
/** Called to render an item in a GUI inventory slot. If rendering as a 3D
|
||||||
* block, the appropriate OpenGL translations and scaling have already been
|
* block, the appropriate OpenGL translations and scaling have already been
|
||||||
|
@ -61,16 +60,15 @@ public interface IItemRenderer
|
||||||
* (0,0,0)-(1,1,1). If rendering as a 2D texture, the rendering should be in
|
* (0,0,0)-(1,1,1). If rendering as a 2D texture, the rendering should be in
|
||||||
* GUI pixel coordinates from (0, 0, 0)-(16, 16, 0).
|
* GUI pixel coordinates from (0, 0, 0)-(16, 16, 0).
|
||||||
* @param render The RenderBlocks instance
|
* @param render The RenderBlocks instance
|
||||||
* @param itemID The item's ID (shifted index)
|
* @param item The item stack to render
|
||||||
* @param metadata The item's metadata or damage value
|
|
||||||
*/
|
*/
|
||||||
public void renderInventoryItem(RenderBlocks render, int itemID, int metadata);
|
public void renderInventoryItem(RenderBlocks render, ItemStack item);
|
||||||
|
|
||||||
/** Determines if the item should be rendered in GUI inventory slots as a 3D
|
/** Determines if the item should be rendered in GUI inventory slots as a 3D
|
||||||
* block or as a 2D texture.
|
* block or as a 2D texture.
|
||||||
* @return true if the inventory item should be rendered as a 3D block,
|
* @return true if the inventory item should be rendered as a 3D block,
|
||||||
* otherwise false
|
* otherwise false
|
||||||
*/
|
*/
|
||||||
public boolean renderInventoryItemAsBlock();
|
public boolean renderInventoryItemAsBlock(int itemID);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ package net.minecraft.src.forge;
|
||||||
|
|
||||||
public enum ItemRenderType
|
public enum ItemRenderType
|
||||||
{
|
{
|
||||||
ENTITY,
|
ENTITY, // Render type for in-world EntityItems
|
||||||
EQUIPPED,
|
EQUIPPED, // Render type for an item equipped in-hand
|
||||||
INVENTORY;
|
INVENTORY; // Render type for items shown in a GUI inventory slot
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,8 +101,8 @@ public class MinecraftForgeClient
|
||||||
public static IItemRenderer getItemRenderer(int itemID, ItemRenderType type)
|
public static IItemRenderer getItemRenderer(int itemID, ItemRenderType type)
|
||||||
{
|
{
|
||||||
IItemRenderer renderer = customItemRenderers[itemID];
|
IItemRenderer renderer = customItemRenderers[itemID];
|
||||||
if (renderer != null && renderer.handleRenderType(type)) {
|
if (renderer != null && renderer.handleRenderType(itemID, type)) {
|
||||||
return customItemRenderers[itemID];
|
return renderer;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
- GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png"));
|
- GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png"));
|
||||||
- this.renderBlocksInstance.renderBlockAsItem(Block.blocksList[par2ItemStack.itemID], par2ItemStack.getItemDamage(), 1.0F);
|
- this.renderBlocksInstance.renderBlockAsItem(Block.blocksList[par2ItemStack.itemID], par2ItemStack.getItemDamage(), 1.0F);
|
||||||
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture(par2ItemStack.itemID < 256 ? "/terrain.png" : "/gui/items.png", par2ItemStack.getItem())));
|
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture(par2ItemStack.itemID < 256 ? "/terrain.png" : "/gui/items.png", par2ItemStack.getItem())));
|
||||||
+ ForgeHooksClient.renderEquippedItem(customRenderer, renderBlocksInstance, par1EntityLiving, par2ItemStack.itemID, par2ItemStack.getItemDamage());
|
+ ForgeHooksClient.renderEquippedItem(customRenderer, renderBlocksInstance, par1EntityLiving, par2ItemStack);
|
||||||
}
|
}
|
||||||
- else
|
- else
|
||||||
+ else if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
|
+ else if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
|
||||||
|
|
|
@ -20,11 +20,11 @@
|
||||||
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(var10.itemID, ItemRenderType.ENTITY);
|
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(var10.itemID, ItemRenderType.ENTITY);
|
||||||
+ if (customRenderer != null)
|
+ if (customRenderer != null)
|
||||||
+ {
|
+ {
|
||||||
+ if (customRenderer.useEntityItemRotationEffect())
|
+ if (customRenderer.useEntityItemRotationEffect(var10.itemID))
|
||||||
+ {
|
+ {
|
||||||
+ GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F);
|
+ GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F);
|
||||||
+ }
|
+ }
|
||||||
+ if (!customRenderer.useEntityItemBobbingEffect())
|
+ if (!customRenderer.useEntityItemBobbingEffect(var10.itemID))
|
||||||
+ {
|
+ {
|
||||||
+ GL11.glTranslatef(0.0F, -var11, 0.0F);
|
+ GL11.glTranslatef(0.0F, -var11, 0.0F);
|
||||||
+ }
|
+ }
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
+ ((random.nextFloat() * 2.0F - 1.0F) * 0.2F) / 0.5F,
|
+ ((random.nextFloat() * 2.0F - 1.0F) * 0.2F) / 0.5F,
|
||||||
+ ((random.nextFloat() * 2.0F - 1.0F) * 0.2F) / 0.5F);
|
+ ((random.nextFloat() * 2.0F - 1.0F) * 0.2F) / 0.5F);
|
||||||
+ }
|
+ }
|
||||||
+ ForgeHooksClient.renderEntityItem(customRenderer, renderBlocks, par1EntityItem, var10.itemID, var10.getItemDamage());
|
+ ForgeHooksClient.renderEntityItem(customRenderer, renderBlocks, par1EntityItem);
|
||||||
+ GL11.glPopMatrix();
|
+ GL11.glPopMatrix();
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
+ {
|
+ {
|
||||||
+ this.loadTexture(ForgeHooksClient.getTexture(var10.itemID < 256 ? "/terrain.png" : "/gui/items.png", var10.getItem()));
|
+ this.loadTexture(ForgeHooksClient.getTexture(var10.itemID < 256 ? "/terrain.png" : "/gui/items.png", var10.getItem()));
|
||||||
+ GL11.glScalef(0.5F, 0.5F, 0.5F);
|
+ GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||||
+ ForgeHooksClient.renderEntityItem(customRenderer, renderBlocks, par1EntityItem, var10.itemID, var10.getItemDamage());
|
+ ForgeHooksClient.renderEntityItem(customRenderer, renderBlocks, par1EntityItem);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ }
|
+ }
|
||||||
|
@ -95,68 +95,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.field_27004_a)
|
if (this.field_27004_a)
|
||||||
@@ -187,9 +240,58 @@
|
@@ -189,7 +242,7 @@
|
||||||
float var12;
|
|
||||||
float var13;
|
|
||||||
|
|
||||||
- if (par3 < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par3].getRenderType()))
|
if (par3 < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par3].getRenderType()))
|
||||||
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(par3, ItemRenderType.INVENTORY);
|
|
||||||
+ if (customRenderer != null)
|
|
||||||
{
|
{
|
||||||
- par2RenderEngine.bindTexture(par2RenderEngine.getTexture("/terrain.png"));
|
- par2RenderEngine.bindTexture(par2RenderEngine.getTexture("/terrain.png"));
|
||||||
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture(par3 < 256 ? "/terrain.png" : "/gui/items.png", Item.itemsList[par3])));
|
|
||||||
+
|
|
||||||
+ if (customRenderer.renderInventoryItemAsBlock())
|
|
||||||
+ {
|
|
||||||
+ GL11.glPushMatrix();
|
|
||||||
+ GL11.glTranslatef((float)(par6 - 2), (float)(par7 + 3), -3.0F + this.zLevel);
|
|
||||||
+ GL11.glScalef(10F, 10F, 10F);
|
|
||||||
+ GL11.glTranslatef(1.0F, 0.5F, 1.0F);
|
|
||||||
+ GL11.glScalef(1.0F, 1.0F, -1F);
|
|
||||||
+ GL11.glRotatef(210F, 1.0F, 0.0F, 0.0F);
|
|
||||||
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
|
|
||||||
+ int l1 = Item.itemsList[par3].getColorFromDamage(par4, 0);
|
|
||||||
+ float f2 = (float)(l1 >> 16 & 0xff) / 255F;
|
|
||||||
+ float f4 = (float)(l1 >> 8 & 0xff) / 255F;
|
|
||||||
+ float f5 = (float)(l1 & 0xff) / 255F;
|
|
||||||
+ if(field_27004_a)
|
|
||||||
+ {
|
|
||||||
+ GL11.glColor4f(f2, f4, f5, 1.0F);
|
|
||||||
+ }
|
|
||||||
+ GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
|
|
||||||
+ renderBlocks.useInventoryTint = field_27004_a;
|
|
||||||
+ ForgeHooksClient.renderInventoryItem(customRenderer, renderBlocks, par3, par4);
|
|
||||||
+ renderBlocks.useInventoryTint = true;
|
|
||||||
+ GL11.glPopMatrix();
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ GL11.glDisable(GL11.GL_LIGHTING);
|
|
||||||
+ GL11.glPushMatrix();
|
|
||||||
+ GL11.glTranslatef((float)(par6), (float)(par7), -3.0F + this.zLevel);
|
|
||||||
+
|
|
||||||
+ int var8 = Item.itemsList[par3].getColorFromDamage(par4, 0);
|
|
||||||
+ float var14 = (float)(var8 >> 16 & 255) / 255.0F;
|
|
||||||
+ float var16 = (float)(var8 >> 8 & 255) / 255.0F;
|
|
||||||
+ var11 = (float)(var8 & 255) / 255.0F;
|
|
||||||
+
|
|
||||||
+ if (this.field_27004_a)
|
|
||||||
+ {
|
|
||||||
+ GL11.glColor4f(var14, var16, var11, 1.0F);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ForgeHooksClient.renderInventoryItem(customRenderer, renderBlocks, par3, par4);
|
|
||||||
+ GL11.glPopMatrix();
|
|
||||||
+ GL11.glEnable(GL11.GL_LIGHTING);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else if (par3 < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par3].getRenderType()))
|
|
||||||
+ {
|
|
||||||
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", Block.blocksList[par3])));
|
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", Block.blocksList[par3])));
|
||||||
Block var15 = Block.blocksList[par3];
|
Block var15 = Block.blocksList[par3];
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
GL11.glTranslatef((float)(par6 - 2), (float)(par7 + 3), -3.0F + this.zLevel);
|
GL11.glTranslatef((float)(par6 - 2), (float)(par7 + 3), -3.0F + this.zLevel);
|
||||||
@@ -221,7 +323,7 @@
|
@@ -221,7 +274,7 @@
|
||||||
if (Item.itemsList[par3].func_46058_c())
|
if (Item.itemsList[par3].func_46058_c())
|
||||||
{
|
{
|
||||||
GL11.glDisable(GL11.GL_LIGHTING);
|
GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
@ -165,7 +113,7 @@
|
||||||
|
|
||||||
for (var8 = 0; var8 <= 1; ++var8)
|
for (var8 = 0; var8 <= 1; ++var8)
|
||||||
{
|
{
|
||||||
@@ -247,11 +349,11 @@
|
@@ -247,11 +300,11 @@
|
||||||
|
|
||||||
if (par3 < 256)
|
if (par3 < 256)
|
||||||
{
|
{
|
||||||
|
@ -179,3 +127,63 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var8 = Item.itemsList[par3].getColorFromDamage(par4, 0);
|
var8 = Item.itemsList[par3].getColorFromDamage(par4, 0);
|
||||||
|
@@ -279,7 +332,59 @@
|
||||||
|
{
|
||||||
|
if (par3ItemStack != null)
|
||||||
|
{
|
||||||
|
+ IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(par3ItemStack.itemID, ItemRenderType.INVENTORY);
|
||||||
|
+ if (customRenderer != null)
|
||||||
|
+ {
|
||||||
|
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture(par3ItemStack.itemID < 256 ? "/terrain.png" : "/gui/items.png", Item.itemsList[par3ItemStack.itemID])));
|
||||||
|
+
|
||||||
|
+ if (customRenderer.renderInventoryItemAsBlock(par3ItemStack.itemID))
|
||||||
|
+ {
|
||||||
|
+ GL11.glPushMatrix();
|
||||||
|
+ GL11.glTranslatef((float)(par4 - 2), (float)(par5 + 3), -3.0F + this.zLevel);
|
||||||
|
+ GL11.glScalef(10F, 10F, 10F);
|
||||||
|
+ GL11.glTranslatef(1.0F, 0.5F, 1.0F);
|
||||||
|
+ GL11.glScalef(1.0F, 1.0F, -1F);
|
||||||
|
+ GL11.glRotatef(210F, 1.0F, 0.0F, 0.0F);
|
||||||
|
+ GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F);
|
||||||
|
+ int color = Item.itemsList[par3ItemStack.itemID].getColorFromDamage(par4, 0);
|
||||||
|
+ float r = (float)(color >> 16 & 0xff) / 255F;
|
||||||
|
+ float g = (float)(color >> 8 & 0xff) / 255F;
|
||||||
|
+ float b = (float)(color & 0xff) / 255F;
|
||||||
|
+ if(field_27004_a)
|
||||||
|
+ {
|
||||||
|
+ GL11.glColor4f(r, g, b, 1.0F);
|
||||||
|
+ }
|
||||||
|
+ GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F);
|
||||||
|
+ renderBlocks.useInventoryTint = field_27004_a;
|
||||||
|
+ ForgeHooksClient.renderInventoryItem(customRenderer, renderBlocks, par3ItemStack);
|
||||||
|
+ renderBlocks.useInventoryTint = true;
|
||||||
|
+ GL11.glPopMatrix();
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ GL11.glDisable(GL11.GL_LIGHTING);
|
||||||
|
+ GL11.glPushMatrix();
|
||||||
|
+ GL11.glTranslatef((float)(par4), (float)(par5), -3.0F + this.zLevel);
|
||||||
|
+
|
||||||
|
+ int color = Item.itemsList[par3ItemStack.itemID].getColorFromDamage(par4, 0);
|
||||||
|
+ float r = (float)(color >> 16 & 255) / 255.0F;
|
||||||
|
+ float g = (float)(color >> 8 & 255) / 255.0F;
|
||||||
|
+ float b = (float)(color & 255) / 255.0F;
|
||||||
|
+
|
||||||
|
+ if (this.field_27004_a)
|
||||||
|
+ {
|
||||||
|
+ GL11.glColor4f(r, g, b, 1.0F);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ForgeHooksClient.renderInventoryItem(customRenderer, renderBlocks, par3ItemStack);
|
||||||
|
+ GL11.glPopMatrix();
|
||||||
|
+ GL11.glEnable(GL11.GL_LIGHTING);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
this.drawItemIntoGui(par1FontRenderer, par2RenderEngine, par3ItemStack.itemID, par3ItemStack.getItemDamage(), par3ItemStack.getIconIndex(), par4, par5);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (par3ItemStack != null && par3ItemStack.hasEffect())
|
||||||
|
{
|
||||||
|
|
Loading…
Reference in New Issue