diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch index fbe25532c..3e67a9229 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch @@ -1,5 +1,14 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java +++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java +@@ -42,7 +42,7 @@ + boolean flag = p_177077_9_.isGui3d(); + int i = this.func_177078_a(itemstack); + float f = 0.25F; +- float f1 = MathHelper.sin(((float)p_177077_1_.getAge() + p_177077_8_) / 10.0F + p_177077_1_.hoverStart) * 0.1F + 0.1F; ++ float f1 = shouldBob() ? MathHelper.sin(((float)p_177077_1_.getAge() + p_177077_8_) / 10.0F + p_177077_1_.hoverStart) * 0.1F + 0.1F : 0; + float f2 = p_177077_9_.getItemCameraTransforms().func_181688_b(ItemCameraTransforms.TransformType.GROUND).scale.y; + GlStateManager.translate((float)p_177077_2_, (float)p_177077_4_ + f1 + 0.25F * f2, (float)p_177077_6_); + @@ -158,4 +158,25 @@ { return TextureMap.locationBlocksTexture; diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch index bc5b356d7..d00961be8 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch @@ -1,10 +1,18 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java +++ ../src-work/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java -@@ -62,6 +62,7 @@ +@@ -50,6 +50,7 @@ + + public void doRender(AbstractClientPlayer entity, double x, double y, double z, float p_76986_8_, float partialTicks) + { ++ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderPlayerEvent.Pre(entity, this, partialTicks, x, y, z))) return; + if (!entity.isUser() || this.renderManager.livingPlayer == entity) + { + double d0 = y; +@@ -62,6 +63,7 @@ this.func_177137_d(entity); super.doRender(entity, x, d0, z, p_76986_8_, partialTicks); } -+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderPlayerEvent.Post(p_180596_1_, this, p_180596_9_, p_180596_2_, p_180596_4_, p_180596_6_)); ++ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderPlayerEvent.Post(entity, this, partialTicks, x, y, z)); } private void func_177137_d(AbstractClientPlayer p_177137_1_) diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch index 8548073e1..e18e068cd 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch @@ -26,11 +26,24 @@ } protected boolean func_177088_c(T p_177088_1_) -@@ -519,6 +524,7 @@ +@@ -470,10 +475,11 @@ + + public void renderName(T entity, double x, double y, double z) + { ++ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderLivingEvent.Specials.Pre(entity, this, x, y, z))) return; + if (this.canRenderName(entity)) + { + double d0 = entity.getDistanceSqToEntity(this.renderManager.livingPlayer); +- float f = entity.isSneaking() ? 32.0F : 64.0F; ++ float f = entity.isSneaking() ? NAME_TAG_RANGE_SNEAK : NAME_TAG_RANGE; + + if (d0 < (double)(f * f)) + { +@@ -519,6 +525,7 @@ } } } -+ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderLivingEvent.Specials.Post(p_77033_1_, this, p_77033_2_, p_77033_4_, p_77033_6_)); ++ net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderLivingEvent.Specials.Post(entity, this, x, y, z)); } protected boolean canRenderName(T entity) diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch index 117c5c7c4..49f5846e7 100644 --- a/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch @@ -1,5 +1,44 @@ --- ../src-base/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java +++ ../src-work/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java +@@ -56,28 +56,28 @@ + T t = this.func_177175_a(p_177182_9_); + t.setModelAttributes(this.field_177190_a.getMainModel()); + t.setLivingAnimations(p_177182_1_, p_177182_2_, p_177182_3_, p_177182_4_); ++ t = getArmorModelHook(p_177182_1_, itemstack, p_177182_9_, t); + this.func_177179_a(t, p_177182_9_); + boolean flag = this.func_177180_b(p_177182_9_); + this.field_177190_a.bindTexture(this.getArmorResource(itemarmor, flag)); + +- switch (itemarmor.getArmorMaterial()) +- { +- case LEATHER: + int i = itemarmor.getColor(itemstack); ++ { ++ if (i != -1) // Allow this for anything, not only cloth. ++ { + float f = (float)(i >> 16 & 255) / 255.0F; + float f1 = (float)(i >> 8 & 255) / 255.0F; + float f2 = (float)(i & 255) / 255.0F; + GlStateManager.color(this.field_177184_f * f, this.field_177185_g * f1, this.field_177192_h * f2, this.field_177187_e); + t.render(p_177182_1_, p_177182_2_, p_177182_3_, p_177182_5_, p_177182_6_, p_177182_7_, p_177182_8_); +- this.field_177190_a.bindTexture(this.getArmorResource(itemarmor, flag, "overlay")); +- case CHAIN: +- case IRON: +- case GOLD: +- case DIAMOND: ++ this.field_177190_a.bindTexture(this.getArmorResource(p_177182_1_, itemstack, flag ? 2 : 1, "overlay")); ++ } ++ else // Non-colored ++ { + GlStateManager.color(this.field_177184_f, this.field_177185_g, this.field_177192_h, this.field_177187_e); + t.render(p_177182_1_, p_177182_2_, p_177182_3_, p_177182_5_, p_177182_6_, p_177182_7_, p_177182_8_); +- default: +- ++ } ++ // Default + if (!this.field_177193_i && itemstack.isItemEnchanted()) + { + this.func_177183_a(p_177182_1_, t, p_177182_2_, p_177182_3_, p_177182_4_, p_177182_5_, p_177182_6_, p_177182_7_, p_177182_8_); @@ -136,11 +136,13 @@ GlStateManager.disableBlend(); } @@ -14,3 +53,53 @@ private ResourceLocation getArmorResource(ItemArmor p_177178_1_, boolean p_177178_2_, String p_177178_3_) { String s = String.format("textures/models/armor/%s_layer_%d%s.png", new Object[] {p_177178_1_.getArmorMaterial().getName(), Integer.valueOf(p_177178_2_ ? 2 : 1), p_177178_3_ == null ? "" : String.format("_%s", new Object[]{p_177178_3_})}); +@@ -158,4 +160,49 @@ + protected abstract void func_177177_a(); + + protected abstract void func_177179_a(T p_177179_1_, int p_177179_2_); ++ ++ /*=================================== FORGE START =========================================*/ ++ ++ /** ++ * Hook to allow item-sensitive armor model. for LayerBipedArmor. ++ */ ++ protected T getArmorModelHook(EntityLivingBase entity, ItemStack itemStack, int slot, T model) ++ { ++ return model; ++ } ++ ++ /** ++ * More generic ForgeHook version of the above function, it allows for Items to have more control over what texture they provide. ++ * ++ * @param entity Entity wearing the armor ++ * @param stack ItemStack for the armor ++ * @param slot Slot ID that the item is in ++ * @param type Subtype, can be null or "overlay" ++ * @return ResourceLocation pointing at the armor's texture ++ */ ++ public ResourceLocation getArmorResource(net.minecraft.entity.Entity entity, ItemStack stack, int slot, String type) ++ { ++ ItemArmor item = (ItemArmor)stack.getItem(); ++ String texture = item.getArmorMaterial().getName(); ++ String domain = "minecraft"; ++ int idx = texture.indexOf(':'); ++ if (idx != -1) ++ { ++ domain = texture.substring(0, idx); ++ texture = texture.substring(idx + 1); ++ } ++ String s1 = String.format("%s:textures/models/armor/%s_layer_%d%s.png", domain, texture, (slot == 2 ? 2 : 1), type == null ? "" : String.format("_%s", type)); ++ ++ s1 = net.minecraftforge.client.ForgeHooksClient.getArmorTexture(entity, stack, s1, slot, type); ++ ResourceLocation resourcelocation = (ResourceLocation)field_177191_j.get(s1); ++ ++ if (resourcelocation == null) ++ { ++ resourcelocation = new ResourceLocation(s1); ++ field_177191_j.put(s1, resourcelocation); ++ } ++ ++ return resourcelocation; ++ } ++ /*=================================== FORGE END ===========================================*/ + } diff --git a/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerBipedArmor.java.patch b/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerBipedArmor.java.patch new file mode 100644 index 000000000..9990cb44a --- /dev/null +++ b/patches/minecraft/net/minecraft/client/renderer/entity/layers/LayerBipedArmor.java.patch @@ -0,0 +1,13 @@ +--- ../src-base/minecraft/net/minecraft/client/renderer/entity/layers/LayerBipedArmor.java ++++ ../src-work/minecraft/net/minecraft/client/renderer/entity/layers/LayerBipedArmor.java +@@ -51,4 +51,10 @@ + { + p_177194_1_.setInvisible(false); + } ++ ++ @Override ++ protected ModelBiped getArmorModelHook(net.minecraft.entity.EntityLivingBase entity, net.minecraft.item.ItemStack itemStack, int slot, ModelBiped model) ++ { ++ return net.minecraftforge.client.ForgeHooksClient.getArmorModel(entity, itemStack, slot, model); ++ } + } diff --git a/patches/minecraft/net/minecraft/item/Item.java.patch b/patches/minecraft/net/minecraft/item/Item.java.patch index d09253616..2bd466c34 100644 --- a/patches/minecraft/net/minecraft/item/Item.java.patch +++ b/patches/minecraft/net/minecraft/item/Item.java.patch @@ -71,7 +71,7 @@ + /** + * ItemStack sensitive version of getItemAttributeModifiers + */ -+ public Multimap getAttributeModifiers(ItemStack stack) ++ public Multimap getAttributeModifiers(ItemStack stack) + { + return this.getItemAttributeModifiers(); + } diff --git a/patches/minecraft/net/minecraft/item/ItemStack.java.patch b/patches/minecraft/net/minecraft/item/ItemStack.java.patch index a52cb1433..d750d56ce 100644 --- a/patches/minecraft/net/minecraft/item/ItemStack.java.patch +++ b/patches/minecraft/net/minecraft/item/ItemStack.java.patch @@ -121,7 +121,24 @@ } public boolean interactWithEntity(EntityPlayer playerIn, EntityLivingBase entityIn) -@@ -861,6 +858,7 @@ +@@ -743,6 +740,7 @@ + } + } + ++ net.minecraftforge.event.ForgeEventFactory.onItemTooltip(this, playerIn, list, advanced); + return list; + } + +@@ -853,7 +851,7 @@ + } + else + { +- multimap = this.getItem().getItemAttributeModifiers(); ++ multimap = this.getItem().getAttributeModifiers(this); + } + + return multimap; +@@ -861,6 +859,7 @@ public void setItem(Item newItem) { diff --git a/rejects/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch.rej b/rejects/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch.rej deleted file mode 100644 index 06899dd6e..000000000 --- a/rejects/minecraft/net/minecraft/client/renderer/entity/RenderEntityItem.java.patch.rej +++ /dev/null @@ -1,26 +0,0 @@ -++++ REJECTED PATCH 1 - boolean flag = p_177077_9_.isGui3d(); - int i = this.func_177078_a(itemstack); - float f1 = 0.25F; -- float f2 = MathHelper.sin(((float)p_177077_1_.getAge() + p_177077_8_) / 10.0F + p_177077_1_.hoverStart) * 0.1F + 0.1F; -+ float f2 = shouldBob() ? MathHelper.sin(((float)p_177077_1_.getAge() + p_177077_8_) / 10.0F + p_177077_1_.hoverStart) * 0.1F + 0.1F : 0.0F; - GlStateManager.translate((float)p_177077_2_, (float)p_177077_4_ + f2 + 0.25F, (float)p_177077_6_); - float f3; - -++++ END PATCH -++++ REJECTED PATCH 2 - } - else - { -+ // Makes items offset when in 3D, like when in 2D, looks much better. Considered a vanilla bug... -+ if (j > 0 && shouldSpreadItems()) -+ { -+ float f2 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F; -+ float f3 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F; -+ float f4 = (this.field_177079_e.nextFloat() * 2.0F - 1.0F) * 0.15F; -+ GlStateManager.translate(f2, f3, 0); -+ } - this.field_177080_a.renderItem(itemstack, ibakedmodel); - GlStateManager.translate(0.0F, 0.0F, 0.046875F); - } -++++ END PATCH diff --git a/rejects/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch.rej b/rejects/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch.rej deleted file mode 100644 index 1cd962de4..000000000 --- a/rejects/minecraft/net/minecraft/client/renderer/entity/RenderPlayer.java.patch.rej +++ /dev/null @@ -1,9 +0,0 @@ -++++ REJECTED PATCH 1 - - public void func_180596_a(AbstractClientPlayer p_180596_1_, double p_180596_2_, double p_180596_4_, double p_180596_6_, float p_180596_8_, float p_180596_9_) - { -+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderPlayerEvent.Pre(p_180596_1_, this, p_180596_9_, p_180596_2_, p_180596_4_, p_180596_6_))) return; - if (!p_180596_1_.isUser() || this.renderManager.livingPlayer == p_180596_1_) - { - double d3 = p_180596_4_; -++++ END PATCH diff --git a/rejects/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch.rej b/rejects/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch.rej deleted file mode 100644 index 6d8c9bea4..000000000 --- a/rejects/minecraft/net/minecraft/client/renderer/entity/RendererLivingEntity.java.patch.rej +++ /dev/null @@ -1,14 +0,0 @@ -++++ REJECTED PATCH 4 - - public void passSpecialRender(EntityLivingBase p_77033_1_, double p_77033_2_, double p_77033_4_, double p_77033_6_) - { -+ if (net.minecraftforge.common.MinecraftForge.EVENT_BUS.post(new net.minecraftforge.client.event.RenderLivingEvent.Specials.Pre(p_77033_1_, this, p_77033_2_, p_77033_4_, p_77033_6_))) return; - if (this.canRenderName(p_77033_1_)) - { - double d3 = p_77033_1_.getDistanceSqToEntity(this.renderManager.livingPlayer); -- float f = p_77033_1_.isSneaking() ? 32.0F : 64.0F; -+ float f = p_77033_1_.isSneaking() ? NAME_TAG_RANGE_SNEAK : NAME_TAG_RANGE; - - if (d3 < (double)(f * f)) - { -++++ END PATCH diff --git a/rejects/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch.rej b/rejects/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch.rej deleted file mode 100644 index e50d4cdfc..000000000 --- a/rejects/minecraft/net/minecraft/client/renderer/entity/layers/LayerArmorBase.java.patch.rej +++ /dev/null @@ -1,88 +0,0 @@ -++++ REJECTED PATCH 1 - ModelBase modelbase = this.func_177175_a(p_177182_9_); - modelbase.setModelAttributes(this.field_177190_a.getMainModel()); - modelbase.setLivingAnimations(p_177182_1_, p_177182_2_, p_177182_3_, p_177182_4_); -+ modelbase = net.minecraftforge.client.ForgeHooksClient.getArmorModel(p_177182_1_, itemstack, p_177182_9_, modelbase); - this.func_177179_a(modelbase, p_177182_9_); - boolean flag = this.func_177180_b(p_177182_9_); -- this.field_177190_a.bindTexture(this.getArmorResource(itemarmor, flag)); -+ this.field_177190_a.bindTexture(this.getArmorResource(p_177182_1_, itemstack, flag ? 2 : 1, null)); - -- switch (LayerArmorBase.SwitchArmorMaterial.field_178747_a[itemarmor.getArmorMaterial().ordinal()]) - { -- case 1: -- int j = itemarmor.getColor(itemstack); -+ int j = itemarmor.getColor(itemstack); -+ if (j != -1) //Allow this for anything, not only cloth. -+ { - float f7 = (float)(j >> 16 & 255) / 255.0F; - float f8 = (float)(j >> 8 & 255) / 255.0F; - float f9 = (float)(j & 255) / 255.0F; - GlStateManager.color(this.field_177184_f * f7, this.field_177185_g * f8, this.field_177192_h * f9, this.field_177187_e); - modelbase.render(p_177182_1_, p_177182_2_, p_177182_3_, p_177182_5_, p_177182_6_, p_177182_7_, p_177182_8_); -- this.field_177190_a.bindTexture(this.getArmorResource(itemarmor, flag, "overlay")); -- case 2: -- case 3: -- case 4: -- case 5: -+ this.field_177190_a.bindTexture(this.getArmorResource(p_177182_1_, itemstack, flag ? 2 : 1, "overlay")); -+ } -+ { // Non-cloth - GlStateManager.color(this.field_177184_f, this.field_177185_g, this.field_177192_h, this.field_177187_e); - modelbase.render(p_177182_1_, p_177182_2_, p_177182_3_, p_177182_5_, p_177182_6_, p_177182_7_, p_177182_8_); -- default: -+ } -+ { // Default, Why is this a switch? there were no breaks. - if (!this.field_177193_i && itemstack.isItemEnchanted()) - { - this.func_177183_a(p_177182_1_, modelbase, p_177182_2_, p_177182_3_, p_177182_4_, p_177182_5_, p_177182_6_, p_177182_7_, p_177182_8_); - } -+ } - } - } - } -++++ END PATCH -++++ REJECTED PATCH 3 - - protected abstract void func_177179_a(ModelBase p_177179_1_, int p_177179_2_); - -+ /*=================================== FORGE START =========================================*/ -+ /** -+ * More generic ForgeHook version of the above function, it allows for Items to have more control over what texture they provide. -+ * -+ * @param entity Entity wearing the armor -+ * @param stack ItemStack for the armor -+ * @param slot Slot ID that the item is in -+ * @param type Subtype, can be null or "overlay" -+ * @return ResourceLocation pointing at the armor's texture -+ */ -+ public ResourceLocation getArmorResource(net.minecraft.entity.Entity entity, ItemStack stack, int slot, String type) -+ { -+ ItemArmor item = (ItemArmor)stack.getItem(); -+ String texture = ((ItemArmor)stack.getItem()).getArmorMaterial().getName(); -+ String domain = "minecraft"; -+ int idx = texture.indexOf(':'); -+ if (idx != -1) -+ { -+ domain = texture.substring(0, idx); -+ texture = texture.substring(idx + 1); -+ } -+ String s1 = String.format("%s:textures/models/armor/%s_layer_%d%s.png", domain, texture, (slot == 2 ? 2 : 1), type == null ? "" : String.format("_%s", type)); -+ -+ s1 = net.minecraftforge.client.ForgeHooksClient.getArmorTexture(entity, stack, s1, slot, type); -+ ResourceLocation resourcelocation = (ResourceLocation)field_177191_j.get(s1); -+ -+ if (resourcelocation == null) -+ { -+ resourcelocation = new ResourceLocation(s1); -+ field_177191_j.put(s1, resourcelocation); -+ } -+ -+ return resourcelocation; -+ } -+ /*=================================== FORGE END ===========================================*/ -+ - @SideOnly(Side.CLIENT) - - static final class SwitchArmorMaterial -++++ END PATCH diff --git a/rejects/minecraft/net/minecraft/item/ItemStack.java.patch.rej b/rejects/minecraft/net/minecraft/item/ItemStack.java.patch.rej deleted file mode 100644 index eee0c2642..000000000 --- a/rejects/minecraft/net/minecraft/item/ItemStack.java.patch.rej +++ /dev/null @@ -1,20 +0,0 @@ -++++ REJECTED PATCH 10 - } - } - -+ net.minecraftforge.event.ForgeEventFactory.onItemTooltip(this, playerIn, arraylist, advanced); -+ - return arraylist; - } - -++++ END PATCH -++++ REJECTED PATCH 11 - } - else - { -- object = this.getItem().getItemAttributeModifiers(); -+ object = this.getItem().getAttributeModifiers(this); - } - - return (Multimap)object; -++++ END PATCH diff --git a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java index fdf0c3059..2fc962352 100644 --- a/src/main/java/net/minecraftforge/client/ForgeHooksClient.java +++ b/src/main/java/net/minecraftforge/client/ForgeHooksClient.java @@ -10,7 +10,6 @@ import java.nio.FloatBuffer; import java.util.Map; import javax.vecmath.Matrix4f; -import javax.vecmath.Vector3d; import javax.vecmath.Vector3f; import javax.vecmath.Vector4f; @@ -23,7 +22,7 @@ import net.minecraft.client.audio.SoundManager; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiMainMenu; import net.minecraft.client.gui.GuiScreen; -import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; @@ -32,7 +31,6 @@ import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.block.model.ItemTransformVec3f; -import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher; @@ -91,6 +89,7 @@ import org.lwjgl.opengl.GL11; + import com.google.common.collect.Maps; public class ForgeHooksClient @@ -326,10 +325,10 @@ public class ForgeHooksClient renderLayer.set(layer); } - public static ModelBase getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int slotID, ModelBase _default) + public static ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int slotID, ModelBiped _default) { - ModelBase modelbase = itemStack.getItem().getArmorModel(entityLiving, itemStack, slotID); - return modelbase == null ? _default : modelbase; + ModelBiped model = itemStack.getItem().getArmorModel(entityLiving, itemStack, slotID); + return model == null ? _default : model; } //This properly moves the domain, if provided, to the front of the string before concatenating