diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-11-23 00:50:42 -0600 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-11-23 00:50:42 -0600 |
| commit | 3ec5ba87778c94fd58bc98bb9af85391d12491c4 (patch) | |
| tree | 264a263ea788d5c8df7a848f2ab41305a812ccd0 /src/main/java | |
| parent | 48ab932c89e28dd3371167e8c2ba79db522e82dd (diff) | |
Banging on armor rendering
Diffstat (limited to 'src/main/java')
8 files changed, 205 insertions, 64 deletions
diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java index 55723ef..f36127e 100644 --- a/src/main/java/lance5057/tDefense/TinkersDefense.java +++ b/src/main/java/lance5057/tDefense/TinkersDefense.java @@ -136,7 +136,7 @@ public class TinkersDefense { public static Block block_JewelersBench; public static ToolCore armor_TinkerHelm; - public static Item item_TinkerBreastplate; + public static ToolCore armor_TinkerBreastplate; public static Item item_TinkerGrieves; public static Item item_TinkerSabatons; @@ -313,6 +313,7 @@ public class TinkersDefense { tool_zweihander = new TinkerZweihander(0); armor_TinkerHelm = new TinkersHelm(); + armor_TinkerBreastplate = new TinkersBreastplate(); //Register Tools @@ -324,6 +325,7 @@ public class TinkersDefense { GameRegistry.registerItem(tool_mask, "Mask"); GameRegistry.registerItem(tool_zweihander, "Zweihander"); GameRegistry.registerItem(armor_TinkerHelm,"tinkerhelm"); + GameRegistry.registerItem(armor_TinkerBreastplate,"tinkerbreastplate"); //Add Tools to TiCo directory TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield); @@ -334,6 +336,7 @@ public class TinkersDefense { TConstructRegistry.addItemToDirectory("Mask", tool_mask); TConstructRegistry.addItemToDirectory("Zweihander", tool_zweihander); TConstructRegistry.addItemToDirectory("tinkerhelm", armor_TinkerHelm); + TConstructRegistry.addItemToDirectory("tinkerbreastplate", armor_TinkerBreastplate); //Register Items GameRegistry.registerItem(item_thread = new Item_Thread(), "thread"); @@ -359,8 +362,8 @@ public class TinkersDefense { // Renderers proxy.registerRenderers(); - item_TinkerBreastplate = new TinkersBreastplate(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Tinkers_Breastplate"); - GameRegistry.registerItem(item_TinkerBreastplate,"Tinkers Breastplate"); +// item_TinkerBreastplate = new TinkersBreastplate().setUnlocalizedName("Tinkers_Breastplate"); +// GameRegistry.registerItem(item_TinkerBreastplate,"Tinkers Breastplate"); item_TinkerGrieves = new TinkersGrieves(ArmorMaterial.IRON, 4, 2).setUnlocalizedName("Tinkers_Grieves"); GameRegistry.registerItem(item_TinkerGrieves,"Tinkers Grieves"); @@ -604,6 +607,7 @@ public class TinkersDefense { TConstructRegistry.addToolRecipe(tool_mask, partArmorplate, partCloth, partClasp); TConstructRegistry.addToolRecipe(armor_TinkerHelm, TinkerTools.frypanHead, TinkerTools.toughRod, partArmorplate); + TConstructRegistry.addToolRecipe(armor_TinkerBreastplate, TinkerTools.largePlate, TinkerTools.toughRod, partArmorplate, partChainmaille); tcInject = new Injector(0,TinkerTools.broadsword); GameRegistry.registerItem(tcInject, "debugger"); diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java index 5bf9095..3853c3d 100644 --- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java +++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java @@ -47,6 +47,11 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo return 1; } + public int getSlot() + { + return slot; + } + public ModelBiped getModel(String[] color) { return armorModel; diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java index 28c7378..343ddc0 100644 --- a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java +++ b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java @@ -30,7 +30,22 @@ public class ArmorRenderEvent ModelBiped armorModel = AArmor.getModel(color); - armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, event.entityPlayer.limbSwingAmount,event.entityPlayer.ticksExisted , event.entityPlayer.prevRotationYaw/* - event.entityPlayer.renderYawOffset*/, event.entityPlayer.rotationPitch, 0.0825f); + float size; + switch(AArmor.getSlot()) + { + case 0: size = 0.085f; break; + case 1: size = .126f; break; + + default: size = 0.1f; break; + } + + float yaw = event.entityPlayer.prevRotationYawHead + (event.entityPlayer.rotationYawHead - event.entityPlayer.prevRotationYawHead) * event.partialRenderTick; + float yawOffset = event.entityPlayer.prevRenderYawOffset + (event.entityPlayer.renderYawOffset - event.entityPlayer.prevRenderYawOffset) * event.partialRenderTick; + float limbs = event.entityPlayer.prevLimbSwingAmount + (event.entityPlayer.limbSwingAmount - event.entityPlayer.prevLimbSwingAmount) * event.partialRenderTick; + + armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, limbs,event.entityPlayer.ticksExisted , + yaw - yawOffset + , event.entityPlayer.rotationPitch, size); } } } diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java index c5bde60..0b690c3 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java +++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java @@ -1,57 +1,126 @@ package lance5057.tDefense.armor.items.heavy; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.armor.renderers.heavy.ModelTinkersBreastplate; +import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm; import net.minecraft.client.model.ModelBiped; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemArmor; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.world.World; +import tconstruct.tools.TinkerTools; -public class TinkersBreastplate extends ItemArmor { - public TinkersBreastplate(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par2EnumArmorMaterial, par3, par4); +public class TinkersBreastplate extends ArmorCore +{ + public TinkersBreastplate() { + super(0,1); + this.setUnlocalizedName("tinkershelm"); + } + + @Override + public Item getHeadItem() + { + return TinkerTools.largePlate; + } + + @Override + public Item getHandleItem() { + return TinkerTools.toughRod; + } + + @Override + public Item getAccessoryItem() + { + return TinkersDefense.partArmorplate; + } + + @Override + public Item getExtraItem() + { + return TinkersDefense.partChainmaille; + } + + @Override + public int durabilityTypeAccessory() { + return 2; } @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - String itemName = "tinkersdefense:textures/armor/TinkersBreastPlate"; - this.itemIcon = par1IconRegister.registerIcon(itemName); + public float getRepairCost() { + return 4.0f; } @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, - String type) { - return "tinkersdefense:textures/armor/TinkersBreastPlate.png"; + public float getDurabilityModifier() { + return 2.5f; + } + + @Override + public float getDamageModifier() { + return 1.4f; } @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, - ItemStack itemStack, int armorSlot) + public int getPartAmount() { + return 4; + } + + @Override + public String getIconSuffix(int partType) { - ModelBiped armorModel = new ModelTinkersBreastplate(); - if (itemStack != null) { + switch (partType) { + case 0: + return "_breastplate_plate"; + case 1: + return "_breastplate_plate_broken"; + case 2: + return "_breastplate_trim"; + case 3: + return "_breastplate_smallplate"; + case 4: + return "_breastplate_chain"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_breastplate_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/breastplate"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } - if (armorModel != null) { - armorModel.isSneak = entityLiving.isSneaking(); - armorModel.isRiding = entityLiving.isRiding(); - armorModel.isChild = entityLiving.isChild(); - armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1 - : 0; + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/Tinkersbreastplate.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","chest","breastplate","heavyarmor"}; + } - if (entityLiving instanceof EntityPlayer) { - armorModel.aimedBow = ((EntityPlayer) entityLiving) - .getItemInUseDuration() > 2; - } - return armorModel; - } - } + @Override + public ModelBiped getModel(String[] color) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3), this.getIconSuffix(4)}; + + armorModel = new ModelTinkersBreastplate(color, this.getDefaultFolder(), textures); return armorModel; } - -}
\ No newline at end of file +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java index 519a56f..4978724 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java +++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java @@ -1,8 +1,14 @@ package lance5057.tDefense.armor.renderers.heavy; +import lance5057.tDefense.TinkersDefense; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; /** * ModelBiped - Either Mojang or a mod author @@ -20,11 +26,20 @@ public class ModelTinkersBreastplate extends ModelBiped public ModelRenderer ArmL; public ModelRenderer ArmR; public ModelRenderer BreastPlateFront; + + public String[] colors; + + public String[] textures; + public String defaultFolder; - public ModelTinkersBreastplate() + public ModelTinkersBreastplate(String[] colors, String defaultFolder, String[] textures) { super(1.1f, 0, 64,64); + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + this.textureWidth = 64; this.textureHeight = 64; @@ -84,12 +99,33 @@ public class ModelTinkersBreastplate extends ModelBiped this.PauldronL.addBox(0.5F, -2.0F, -3.5F, 4, 5, 7, 0.0F); this.setRotateAngle(PauldronL, 0.0F, -0.0F, -0.4363323129985824F); this.bipedLeftArm.addChild(this.PauldronL); + + this.ArmR.offsetX = this.ArmR.offsetX + 0.04f; + + this.bipedHead.isHidden = true; + this.bipedHeadwear.isHidden = true; + this.bipedCloak.isHidden = true; } @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); + GL11.glPushMatrix(); + for(int i = 0; i<4; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + GL11.glTranslatef(0f, -1.51f, 0f); + + int[] intColors = TinkersDefense.hexToRGB(colors[i]); + GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255); + + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + GL11.glPopMatrix(); + } + GL11.glPopMatrix(); } /** diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java index 13377a4..283e75f 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java +++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java @@ -49,6 +49,13 @@ public class ModelTinkersHelm extends ModelBiped this.Trim.setRotationPoint(0.0F, 0.0F, 0.0F); this.Trim.addBox(-1.0F, -8.3F, -4.0F, 2, 9, 8, 0.7F); this.bipedHead.addChild(this.Trim); + + this.bipedBody.isHidden = true; + this.bipedCloak.isHidden = true; + this.bipedLeftArm.isHidden = true; + this.bipedLeftLeg.isHidden = true; + this.bipedRightArm.isHidden = true; + this.bipedRightLeg.isHidden = true; } @Override @@ -57,18 +64,18 @@ public class ModelTinkersHelm extends ModelBiped GL11.glPushMatrix(); for(int i = 0; i<3; i++) { - GL11.glPushMatrix(); - - FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); - - GL11.glTranslatef(0f, -1f, 0f); - - int[] intColors = TinkersDefense.hexToRGB(colors[i]); - GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255); - - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - GL11.glPopMatrix(); + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + GL11.glTranslatef(0f, -1f, 0f); + + int[] intColors = TinkersDefense.hexToRGB(colors[i]); + GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255); + + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + GL11.glPopMatrix(); } GL11.glPopMatrix(); } diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java index 91b76a7..af124dc 100644 --- a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java +++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java @@ -23,19 +23,22 @@ public class TDefenseActiveToolMod extends ActiveToolMod @Override public void updateTool(ToolCore tool, ItemStack stack, World world, Entity entity) { - NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool"); - - if (!tags.getBoolean("Broken")) + if(stack.hasTagCompound() && stack.getTagCompound().hasKey("InfiTool")) { - //TDefense - TDMods.UpdateAll(tool, stack, world, entity, tags); + NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool"); - //Botania - if(Loader.isModLoaded("Botania")) + if (!tags.getBoolean("Broken")) { - FlowerMods.UpdateAll(tool, stack, world, entity, tags); + //TDefense + TDMods.UpdateAll(tool, stack, world, entity, tags); + + //Botania + if(Loader.isModLoaded("Botania")) + { + FlowerMods.UpdateAll(tool, stack, world, entity, tags); + } + } - } } diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java index 31eaa24..bb02e9e 100644 --- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java +++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java @@ -37,6 +37,8 @@ public class ClientProxy extends CommonProxy { renderer); MinecraftForgeClient.registerItemRenderer(TinkersDefense.armor_TinkerHelm, renderer); + MinecraftForgeClient.registerItemRenderer(TinkersDefense.armor_TinkerBreastplate, + renderer); ClientRegistry.bindTileEntitySpecialRenderer( TileEntity_CrestMount.class, new Renderer_CrestMount()); |
