Modified patches to use new item render hooks

This commit is contained in:
newthead 2012-03-17 11:48:54 -07:00
parent 4cf001c644
commit e2dc4d595e
2 changed files with 28 additions and 42 deletions

View File

@ -1,52 +1,45 @@
--- ../src_base/minecraft/net/minecraft/src/ItemRenderer.java 0000-00-00 00:00:00.000000000 -0000 --- ../src_base/minecraft/net/minecraft/src/ItemRenderer.java 0000-00-00 00:00:00.000000000 -0000
+++ ../src_work/minecraft/net/minecraft/src/ItemRenderer.java 0000-00-00 00:00:00.000000000 -0000 +++ ../src_work/minecraft/net/minecraft/src/ItemRenderer.java 0000-00-00 00:00:00.000000000 -0000
@@ -1,6 +1,10 @@ @@ -1,6 +1,11 @@
package net.minecraft.src; package net.minecraft.src;
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.IEquippedItemRenderer; +import net.minecraft.src.forge.IItemRenderer;
+import net.minecraft.src.forge.ItemRenderType;
+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,34 @@ @@ -33,22 +38,21 @@
public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3) public void renderItem(EntityLiving par1EntityLiving, ItemStack par2ItemStack, int par3)
{ {
GL11.glPushMatrix(); GL11.glPushMatrix();
+ IEquippedItemRenderer customRenderer = MinecraftForgeClient.getEquippedItemRenderer(par2ItemStack.itemID); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(par2ItemStack.itemID, ItemRenderType.EQUIPPED);
- 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("/terrain.png")); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png"));
+ if (par2ItemStack.itemID < 256) - 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("/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()); + ForgeHooksClient.renderEquippedItem(customRenderer, renderBlocksInstance, par1EntityLiving, par2ItemStack.itemID, par2ItemStack.getItemDamage());
+ }
+ else if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
+ {
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", par2ItemStack.getItem())));
this.renderBlocksInstance.renderBlockAsItem(Block.blocksList[par2ItemStack.itemID], par2ItemStack.getItemDamage(), 1.0F);
} }
else - else
+ else if (par2ItemStack.itemID < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par2ItemStack.itemID].getRenderType()))
{ {
if (par2ItemStack.itemID < 256) - if (par2ItemStack.itemID < 256)
{ - {
- GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png")); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png"));
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", Block.blocksList[par2ItemStack.itemID]))); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", par2ItemStack.getItem())));
+ this.renderBlocksInstance.renderBlockAsItem(Block.blocksList[par2ItemStack.itemID], par2ItemStack.getItemDamage(), 1.0F);
} }
else else
{ {
- GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/gui/items.png")); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/gui/items.png"));
+ GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture("/gui/items.png", Item.itemsList[par2ItemStack.itemID]))); - }
} + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture(ForgeHooksClient.getTexture(par2ItemStack.itemID < 256 ? "/terrain.png" : "/gui/items.png", Block.blocksList[par2ItemStack.itemID])));
Tessellator var4 = Tessellator.instance; Tessellator var4 = Tessellator.instance;
int var5 = par1EntityLiving.getItemIcon(par2ItemStack, par3);

View File

@ -6,8 +6,8 @@
import java.util.Random; import java.util.Random;
+ +
+import net.minecraft.src.forge.ForgeHooksClient; +import net.minecraft.src.forge.ForgeHooksClient;
+import net.minecraft.src.forge.IEntityItemRenderer; +import net.minecraft.src.forge.IItemRenderer;
+import net.minecraft.src.forge.IInventoryItemRenderer; +import net.minecraft.src.forge.ItemRenderType;
+import net.minecraft.src.forge.MinecraftForgeClient; +import net.minecraft.src.forge.MinecraftForgeClient;
+ +
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
@ -17,14 +17,14 @@
float var18; float var18;
float var23; float var23;
+ IEntityItemRenderer customRenderer = MinecraftForgeClient.getEntityItemRenderer(var10.itemID); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(var10.itemID, ItemRenderType.ENTITY);
+ if (customRenderer != null) + if (customRenderer != null)
+ { + {
+ if (MinecraftForgeClient.applyEntityItemRotationEffect(var10.itemID)) + if (customRenderer.useEntityItemRotationEffect())
+ { + {
+ GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F);
+ } + }
+ if (!MinecraftForgeClient.applyEntityItemBobbingEffect(var10.itemID)) + if (!customRenderer.useEntityItemBobbingEffect())
+ { + {
+ GL11.glTranslatef(0.0F, -var11, 0.0F); + GL11.glTranslatef(0.0F, -var11, 0.0F);
+ } + }
@ -58,7 +58,7 @@
+ } + }
+ else + else
+ { + {
+ this.loadTexture(ForgeHooksClient.getTexture("/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, var10.itemID, var10.getItemDamage());
+ } + }
@ -95,25 +95,18 @@
} }
if (this.field_27004_a) if (this.field_27004_a)
@@ -187,9 +240,65 @@ @@ -187,9 +240,58 @@
float var12; float var12;
float var13; float var13;
- if (par3 < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par3].getRenderType())) - if (par3 < 256 && RenderBlocks.renderItemIn3d(Block.blocksList[par3].getRenderType()))
+ IInventoryItemRenderer customRenderer = MinecraftForgeClient.getInventoryItemRenderer(par3); + IItemRenderer customRenderer = MinecraftForgeClient.getItemRenderer(par3, ItemRenderType.INVENTORY);
+ if (customRenderer != null) + if (customRenderer != null)
{ {
- par2RenderEngine.bindTexture(par2RenderEngine.getTexture("/terrain.png")); - par2RenderEngine.bindTexture(par2RenderEngine.getTexture("/terrain.png"));
+ if (par3 < 256) + par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture(par3 < 256 ? "/terrain.png" : "/gui/items.png", Item.itemsList[par3])));
+ {
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture("/terrain.png", Item.itemsList[par3])));
+ }
+ else
+ {
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(ForgeHooksClient.getTexture("/gui/items.png", Item.itemsList[par3])));
+ }
+ +
+ if (MinecraftForgeClient.renderInventoryItemAsBlock(par3)) + if (customRenderer.renderInventoryItemAsBlock())
+ { + {
+ 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);
@ -163,7 +156,7 @@
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 +330,7 @@ @@ -221,7 +323,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);
@ -172,7 +165,7 @@
for (var8 = 0; var8 <= 1; ++var8) for (var8 = 0; var8 <= 1; ++var8)
{ {
@@ -247,11 +356,11 @@ @@ -247,11 +349,11 @@
if (par3 < 256) if (par3 < 256)
{ {