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 (MinecraftForgeClient.renderEquippedItemAsBlock(itemID))
|
||||||
if (renderBlocks.useInventoryTint)
|
|
||||||
{
|
{
|
||||||
int j = 0xffffff;//block.getRenderColor(i);
|
customRenderer.renderEquippedItem(renderBlocks, entity, itemID, metadata);
|
||||||
float f1 = (float) (j >> 16 & 0xff) / 255F;
|
}
|
||||||
float f3 = (float) (j >> 8 & 0xff) / 255F;
|
else
|
||||||
float f5 = (float) (j & 0xff) / 255F;
|
{
|
||||||
GL11.glColor4f(f1 * brightness, f3 * brightness, f5 * brightness, 1.0F);
|
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 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.client.Minecraft;
|
||||||
+import net.minecraft.src.forge.ForgeHooksClient;
|
+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 net.minecraft.src.forge.MinecraftForgeClient;
|
||||||
+
|
+
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import org.lwjgl.opengl.GL12;
|
import org.lwjgl.opengl.GL12;
|
||||||
|
|
||||||
@@ -33,21 +37,27 @@
|
@@ -33,21 +37,34 @@
|
||||||
public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3)
|
public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3)
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix();
|
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 (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
|
||||||
+ if (customRenderer != null)
|
+ if (customRenderer != null)
|
||||||
+ {
|
+ {
|
||||||
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", par2ItemStack.getItem())));
|
+ if (par2ItemStack.itemID < 256)
|
||||||
+ ForgeHooksClient.renderCustomItem(customRenderer, renderBlocksInstance, par2ItemStack.itemID, par2ItemStack.getItemDamage(), par1EntityLiving.getEntityBrightness(1.0F));
|
+ {
|
||||||
|
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", par2ItemStack.getItem())));
|
||||||
|
+ }
|
||||||
|
+ 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()))
|
+ else if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue