Added hook for rendering equipped items
This commit is contained in:
parent
2524cf273b
commit
dc0fc67412
|
@ -250,20 +250,25 @@ public class ForgeHooksClient
|
|||
}
|
||||
}
|
||||
|
||||
public static void renderCustomItem(ICustomItemRenderer customRenderer, RenderBlocks renderBlocks, int itemID, int metadata, float brightness)
|
||||
public static void renderEquippedItem(IEquippedItemRenderer customRenderer, RenderBlocks renderBlocks, EntityLiving entity, int itemID, int metadata)
|
||||
{
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
if (renderBlocks.useInventoryTint)
|
||||
if (MinecraftForgeClient.renderEquippedItemAsBlock(itemID))
|
||||
{
|
||||
int j = 0xffffff;//block.getRenderColor(i);
|
||||
float f1 = (float) (j >> 16 & 0xff) / 255F;
|
||||
float f3 = (float) (j >> 8 & 0xff) / 255F;
|
||||
float f5 = (float) (j & 0xff) / 255F;
|
||||
GL11.glColor4f(f1 * brightness, f3 * brightness, f5 * brightness, 1.0F);
|
||||
customRenderer.renderEquippedItem(renderBlocks, entity, itemID, metadata);
|
||||
}
|
||||
else
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glTranslatef(0.0F, 0.3F, 0.0F);
|
||||
GL11.glScalef(1.5F, 1.5F, 1.5F);
|
||||
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
|
||||
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
|
||||
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
|
||||
customRenderer.renderEquippedItem(renderBlocks, entity, itemID, metadata);
|
||||
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
//ModLoader.RenderInvBlock(this, block, i, k);
|
||||
customRenderer.renderInventory(renderBlocks, itemID, metadata);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,5 +4,5 @@ import net.minecraft.src.RenderBlocks;
|
|||
|
||||
public interface IEquippedItemRenderer
|
||||
{
|
||||
public void renderEquippedItem(RenderBlocks render, int itemID, int metadata);
|
||||
public void renderEquippedItem(RenderBlocks render, EntityLiving entity, int itemID, int metadata);
|
||||
}
|
||||
|
|
|
@ -5,23 +5,30 @@
|
|||
|
||||
import net.minecraft.client.Minecraft;
|
||||
+import net.minecraft.src.forge.ForgeHooksClient;
|
||||
+import net.minecraft.src.forge.ICustomItemRenderer;
|
||||
+import net.minecraft.src.forge.IEquippedItemRenderer;
|
||||
+import net.minecraft.src.forge.MinecraftForgeClient;
|
||||
+
|
||||
import org.lwjgl.opengl.GL11;
|
||||
import org.lwjgl.opengl.GL12;
|
||||
|
||||
@@ -33,21 +37,27 @@
|
||||
@@ -33,21 +37,34 @@
|
||||
public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3)
|
||||
{
|
||||
GL11.glPushMatrix();
|
||||
+ ICustomItemRenderer customRenderer = MinecraftForgeClient.getCustomItemRenderer(par2ItemStack.itemID);
|
||||
+ IEquippedItemRenderer customRenderer = MinecraftForgeClient.getEquippedItemRenderer(par2ItemStack.itemID);
|
||||
|
||||
- if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
|
||||
+ if (customRenderer != null)
|
||||
+ {
|
||||
+ if (par2ItemStack.itemID < 256)
|
||||
+ {
|
||||
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", par2ItemStack.getItem())));
|
||||
+ ForgeHooksClient.renderCustomItem(customRenderer, renderBlocksInstance, par2ItemStack.itemID, par2ItemStack.getItemDamage(), par1EntityLiving.getEntityBrightness(1.0F));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/gui/items.png", par2ItemStack.getItem())));
|
||||
+ }
|
||||
+ ForgeHooksClient.renderEquippedItem(customRenderer, renderBlocksInstance, par1EntityLiving, par2ItemStack.itemID, par2ItemStack.getItemDamage());
|
||||
+ }
|
||||
+ else if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue