Add an ItemStack sensitive version of getIconForRenderPass, defers to
existing by default. Should allow NBT data to affect multipass icon rendering.
This commit is contained in:
parent
2fb5ea1008
commit
5f2d1d1fc0
|
@ -299,6 +299,15 @@
|
|||
|
||||
switch (var2)
|
||||
{
|
||||
@@ -1774,7 +1874,7 @@
|
||||
{
|
||||
if (par1ItemStack.getItem().requiresMultipleRenderPasses())
|
||||
{
|
||||
- return par1ItemStack.getItem().getIconFromDamageForRenderPass(par1ItemStack.getItemDamage(), par2);
|
||||
+ return par1ItemStack.getItem().getIconFromItemStackForMultiplePasses(par1ItemStack, par2);
|
||||
}
|
||||
|
||||
if (this.itemInUse != null && par1ItemStack.itemID == Item.bow.shiftedIndex)
|
||||
@@ -1796,6 +1896,7 @@
|
||||
return 101;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
Vec3 var23 = var13.addVector((double)var18 * var21, (double)var17 * var21, (double)var20 * var21);
|
||||
return par1World.rayTraceBlocks_do_do(var13, var23, par3, !par3);
|
||||
}
|
||||
@@ -678,4 +690,266 @@
|
||||
@@ -678,4 +690,279 @@
|
||||
{
|
||||
StatList.initStats();
|
||||
}
|
||||
|
@ -302,5 +302,18 @@
|
|||
+ public float getSmeltingExperience(ItemStack item)
|
||||
+ {
|
||||
+ return -1; //-1 will default to the old lookups.
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Return the correct icon for rendering based on the supplied ItemStack and render pass.
|
||||
+ *
|
||||
+ * Defers to {@link #getIconFromDamageForRenderPass(int, int)}
|
||||
+ * @param stack to render for
|
||||
+ * @param pass the multi-render pass
|
||||
+ * @return the icon index
|
||||
+ */
|
||||
+ public int getIconFromItemStackForMultiplePasses(ItemStack stack, int pass)
|
||||
+ {
|
||||
+ return getIconFromDamageForRenderPass(stack.getItemDamage(), pass);
|
||||
+ }
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
GL11.glPopMatrix();
|
||||
}
|
||||
}
|
||||
@@ -121,10 +126,11 @@
|
||||
@@ -121,11 +126,12 @@
|
||||
GL11.glScalef(0.5F, 0.5F, 0.5F);
|
||||
}
|
||||
|
||||
|
@ -57,14 +57,16 @@
|
|||
-
|
||||
- for (var15 = 0; var15 <= 1; ++var15)
|
||||
- {
|
||||
- var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
|
||||
+ this.loadTexture(Item.itemsList[var10.itemID].getTextureFile());
|
||||
+
|
||||
+ for (var15 = 0; var15 < var10.getItem().getRenderPasses(var10.getItemDamage()); ++var15)
|
||||
+ {
|
||||
+ this.random.setSeed(187L); //Fixes Vanilla bug where layers would not render aligns properly.
|
||||
var16 = var10.getItem().getIconFromDamageForRenderPass(var10.getItemDamage(), var15);
|
||||
+ var16 = var10.getItem().getIconFromItemStackForMultiplePasses(var10, var15);
|
||||
var17 = 1.0F;
|
||||
|
||||
if (this.field_77024_a)
|
||||
@@ -155,14 +161,7 @@
|
||||
|
||||
var15 = var10.getIconIndex();
|
||||
|
@ -95,19 +97,23 @@
|
|||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef((float)(par4 - 2), (float)(par5 + 3), -3.0F + this.zLevel);
|
||||
GL11.glScalef(10.0F, 10.0F, 10.0F);
|
||||
@@ -265,9 +264,9 @@
|
||||
@@ -265,11 +264,11 @@
|
||||
if (Item.itemsList[var6].requiresMultipleRenderPasses())
|
||||
{
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
- par2RenderEngine.bindTexture(par2RenderEngine.getTexture("/gui/items.png"));
|
||||
-
|
||||
- for (var9 = 0; var9 <= 1; ++var9)
|
||||
- {
|
||||
- var10 = Item.itemsList[var6].getIconFromDamageForRenderPass(var7, var9);
|
||||
+ par2RenderEngine.bindTexture(par2RenderEngine.getTexture(Item.itemsList[var6].getTextureFile()));
|
||||
+
|
||||
+ for (var9 = 0; var9 < Item.itemsList[var6].getRenderPasses(var7); ++var9)
|
||||
{
|
||||
var10 = Item.itemsList[var6].getIconFromDamageForRenderPass(var7, var9);
|
||||
+ {
|
||||
+ var10 = Item.itemsList[var6].getIconFromItemStackForMultiplePasses(par3ItemStack, var9);
|
||||
int var11 = Item.itemsList[var6].getColorFromItemStack(par3ItemStack, var9);
|
||||
var12 = (float)(var11 >> 16 & 255) / 255.0F;
|
||||
var13 = (float)(var11 >> 8 & 255) / 255.0F;
|
||||
@@ -289,14 +288,7 @@
|
||||
{
|
||||
GL11.glDisable(GL11.GL_LIGHTING);
|
||||
|
|
Loading…
Reference in New Issue