diff options
| author | Lance5057 <Lance5057@gmail.com> | 2016-02-17 00:57:15 -0600 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2016-02-17 00:57:15 -0600 |
| commit | d01b86cd71b4a805f273bd662a38aacafa803cf4 (patch) | |
| tree | f6a7bd994cc76804eae9ee6f16e162325777d7a6 /src/main/java/lance5057/tDefense/armor | |
| parent | 10819ad8b1f865b47656de2ebec6c14ea552e262 (diff) | |
Buncha updates, forgot to github
Diffstat (limited to 'src/main/java/lance5057/tDefense/armor')
28 files changed, 2033 insertions, 163 deletions
diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java index 1410b8a..63abd7f 100644 --- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java +++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java @@ -12,17 +12,20 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.IChatComponent; +import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.ISpecialArmor; import scala.Int; import tconstruct.library.accessory.IAccessoryModel; +import tconstruct.library.tools.AbilityHelper; import tconstruct.library.tools.ToolCore; public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryModel -{ +{ int slot; - public ModelBiped armorModel; + protected Double reductionPercent = 0.0; + protected int maxReduction = 0; public ArmorCore(int baseProtection, int slot) { super(baseProtection); @@ -41,8 +44,18 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) { - ArmorProperties armorp = new ArmorProperties(0, 0.8, 100); //TODO figure this out - ((EntityPlayer)player).addChatComponentMessage(new ChatComponentText(Double.toString(damage))); + NBTTagCompound tags = armor.getTagCompound().getCompoundTag("InfiTool"); + + Double enhancedPercent = reductionPercent; + + if(tags.hasKey("Protection")) + enhancedPercent += (calcModifierDamage(tags.getInteger("Protection"), 0.75f, source) * 0.04); + + ArmorProperties armorp = new ArmorProperties(0, enhancedPercent, maxReduction); //0.04 per half shirt + ((EntityPlayer)player).addChatComponentMessage(new ChatComponentText(source.getDamageType() + + " - Max: " + Double.toString(damage) + + " - ReductPerc: " + Double.toString(reductionPercent) + + " - EnhancedPerc: " + Double.toString(enhancedPercent))); return armorp; } @@ -57,9 +70,10 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo return slot; } + @SideOnly(Side.CLIENT) public ModelBiped getModel(String[] color, NBTTagCompound tags) { - return armorModel; + return null; } @Override @@ -71,27 +85,7 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo @Override public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) { - if (stack.hasTagCompound()) - { - NBTTagCompound tags = stack.getTagCompound().getCompoundTag(getBaseTagName()); - if (!tags.getBoolean("Broken")) - { - int maxDurability = tags.getInteger("TotalDurability"); - int currentDurability = tags.getInteger("Damage"); - if (currentDurability + damage > maxDurability) - { - tags.setInteger("Damage", 0); - tags.setBoolean("Broken", true); - stack.setItemDamage(0); - entity.worldObj.playSound(entity.posX, entity.posY, entity.posZ, "random.break", 1f, 1f, true); - } - else - { - tags.setInteger("Damage", currentDurability + damage); - stack.setItemDamage(currentDurability + damage); - } - } - } + AbilityHelper.damageTool(stack, damage, entity, false); } @Override @@ -99,24 +93,7 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { - if (itemStack != null) { - - if (armorModel != null) { - armorModel.isSneak = entityLiving.isSneaking(); - armorModel.isRiding = entityLiving.isRiding(); - armorModel.isChild = entityLiving.isChild(); - armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1 - : 0; - - if (entityLiving instanceof EntityPlayer) { - armorModel.aimedBow = ((EntityPlayer) entityLiving) - .getItemInUseDuration() > 2; - } - return armorModel; - } - } - return armorModel; - //this.armor + return null; } @Override @@ -160,5 +137,18 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo // // TODO Auto-generated method stub // return null; // } + + public int calcModifierDamage(int level, float typeMod, DamageSource source) + { + if (source.canHarmInCreative()) + { + return 0; + } + else + { + float f = (float)(6 + level * level) / 3.0F; + return MathHelper.floor_float(f * typeMod); + } + } } diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java b/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java new file mode 100644 index 0000000..d077565 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java @@ -0,0 +1,17 @@ +package lance5057.tDefense.armor.events; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.ChatComponentText; +import net.minecraftforge.client.event.RenderPlayerEvent; +import net.minecraftforge.event.entity.living.LivingHurtEvent; + +public class ArmorModEvents +{ + @SubscribeEvent + public void AddProtections(LivingHurtEvent event) + { +// if(event.entityLiving instanceof EntityPlayer) +// ((EntityPlayer)event.entity).addChatComponentMessage(new ChatComponentText("Damage Recieved:" + Double.toString(event.ammount))); + } +} diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java index 21ed906..42810b1 100644 --- a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java +++ b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java @@ -1,17 +1,19 @@ package lance5057.tDefense.armor.events; import lance5057.tDefense.armor.ArmorCore; -import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.client.event.RenderPlayerEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ArmorRenderEvent { + @SideOnly(Side.CLIENT) @SubscribeEvent public void renderArmorEvent(RenderPlayerEvent.SetArmorModel event) { if (event.entityPlayer != null) diff --git a/src/main/java/lance5057/tDefense/armor/items/ChainArmor.java b/src/main/java/lance5057/tDefense/armor/items/ChainArmor.java deleted file mode 100644 index a2bbd67..0000000 --- a/src/main/java/lance5057/tDefense/armor/items/ChainArmor.java +++ /dev/null @@ -1,77 +0,0 @@ -package lance5057.tDefense.armor.items; - -import lance5057.tDefense.proxy.ClientProxy; -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.ItemStack; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - -public class ChainArmor extends ItemArmor { - public ChainArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) { - super(par2EnumArmorMaterial, par3, par4); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister par1IconRegister) { - String itemName = "tinkersdefense:textures/armor/ChainArmor"; - this.itemIcon = par1IconRegister.registerIcon(itemName); - } - - @Override - public String getArmorTexture(ItemStack stack, Entity entity, int slot, - String type) { - return "tinkersdefense:textures/armor/ChainArmor.png"; - } - - @Override - @SideOnly(Side.CLIENT) - public ModelBiped getArmorModel(EntityLivingBase entityLiving, - ItemStack itemStack, int armorSlot) - { - -// return ClientProxy.chain; - ModelBiped armorModel = ClientProxy.chain; - if (itemStack != null) { -// if (itemStack.getItem() instanceof TinkerArmor) { -// int type = ((ItemArmor) itemStack.getItem()).armorType; -// if (type == 1 || type == 3) { -// armorModel = TinkersDefense.proxy.getArmorModel(0); -// } else { -// armorModel = TinkersDefense.proxy.getArmorModel(1); -// } -// -// } - if (armorModel != null) { -// armorModel.bipedHead.showModel = armorSlot == 0; -// armorModel.bipedHeadwear.showModel = armorSlot == 0; -// armorModel.bipedBody.showModel = armorSlot == 1 -// || armorSlot == 2; -// armorModel.bipedRightArm.showModel = armorSlot == 1; -// armorModel.bipedLeftArm.showModel = armorSlot == 1; -// armorModel.bipedRightLeg.showModel = armorSlot == 2 -// || armorSlot == 3; -// armorModel.bipedLeftLeg.showModel = armorSlot == 2 -// || armorSlot == 3; - armorModel.isSneak = entityLiving.isSneaking(); - armorModel.isRiding = entityLiving.isRiding(); - armorModel.isChild = entityLiving.isChild(); - armorModel.heldItemRight = entityLiving.getHeldItem() != null ? 1 - : 0; - - if (entityLiving instanceof EntityPlayer) { - armorModel.aimedBow = ((EntityPlayer) entityLiving) - .getItemInUseDuration() > 2; - } - return armorModel; - } - } - return armorModel; - } - -}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java index 33f42b2..daa71f6 100644 --- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java +++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java @@ -1,58 +1,65 @@ package lance5057.tDefense.armor.items.cloth; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import lance5057.tDefense.TinkersDefense; import lance5057.tDefense.armor.ArmorCore; -import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.cloth.ModelTinkersHood; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import tconstruct.tools.TinkerTools; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; public class TinkersHood extends ArmorCore { public TinkersHood() { - super(2,0); - this.setUnlocalizedName("tinkershelm"); + super(0,0); + this.setUnlocalizedName("tinkershood"); } @Override public Item getHeadItem() { - return TinkerTools.frypanHead; + return TinkersDefense.partCloth; } @Override public Item getHandleItem() { - return TinkerTools.toughRod; + return TinkersDefense.partCloth; } @Override public Item getAccessoryItem() { - return TinkersDefense.partArmorplate; + return TinkersDefense.partRivet; } @Override public int durabilityTypeAccessory() { - return 2; + return 1; } @Override public float getRepairCost() { - return 4.0f; + return 1.0f; } @Override public float getDurabilityModifier() { - return 2.5f; + return 1f; } @Override public float getDamageModifier() { - return 1.4f; + return 1f; } @Override @@ -65,13 +72,13 @@ public class TinkersHood extends ArmorCore { switch (partType) { case 0: - return "_helm_top"; + return "_hood_cloth"; case 1: - return "_helm_top_broken"; + return "_hood_cloth_broken"; case 2: - return "_helm_visor"; + return "_hood_trim"; case 3: - return "_helm_chain"; + return "_hood_rivet"; default: return ""; } @@ -80,13 +87,13 @@ public class TinkersHood extends ArmorCore @Override public String getEffectSuffix() { - return "_helm_effect"; + return "_hood_effect"; } @Override public String getDefaultFolder() { - return "armor/helm"; + return "armor/hood"; } // @Override @@ -99,26 +106,35 @@ public class TinkersHood extends ArmorCore @Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { - return "tinkersdefense:textures/armor/TinkersHelm.png"; + return "tinkersdefense:textures/armor/TinkersHood.png"; } @Override public String[] getTraits() { - return new String[] {"armor","helmet","helm","heavyarmor"}; + return new String[] {"armor","helmet","hood","cloth"}; } @Override + @SideOnly(Side.CLIENT) public ModelBiped getModel(String[] color,NBTTagCompound tags) { String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; - armorModel = new ModelTinkersHelm(color, this.getDefaultFolder(), textures); - return armorModel; + int HeadID = tags.getCompoundTag("InfiTool").getInteger("RenderHead"); + int HandleID = tags.getCompoundTag("InfiTool").getInteger("RenderHandle"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(HeadID, ClothMaterial.class); + color[1] = Integer.toHexString(newColor.color); + + newColor = TConstructRegistry.getCustomMaterial(HandleID, ClothMaterial.class); + color[0] = Integer.toHexString(newColor.color); + + return new ModelTinkersHood(color, this.getDefaultFolder(), textures); } @Override public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - return 2; + return 0; } } diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java new file mode 100644 index 0000000..0961b57 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java @@ -0,0 +1,129 @@ +package lance5057.tDefense.armor.items.cloth; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.cloth.ModelTinkersRobe; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class TinkersRobe extends ArmorCore +{ + public TinkersRobe() { + super(0,2); + this.setUnlocalizedName("tinkerrobe"); + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partCloth; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partCloth; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1.0f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 2; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_robe_cloth"; + case 1: + return "_robe_cloth_broken"; + case 2: + return "_robe_trim"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_robe_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/robe"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersRobe.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","pants","robe","cloth"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0)}; + + int HeadID = tags.getCompoundTag("InfiTool").getInteger("RenderHead"); + int HandleID = tags.getCompoundTag("InfiTool").getInteger("RenderHandle"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(HeadID, ClothMaterial.class); + color[1] = Integer.toHexString(newColor.color); + + newColor = TConstructRegistry.getCustomMaterial(HandleID, ClothMaterial.class); + color[0] = Integer.toHexString(newColor.color); + + return new ModelTinkersRobe(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 0; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java new file mode 100644 index 0000000..97341a1 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java @@ -0,0 +1,139 @@ +package lance5057.tDefense.armor.items.cloth; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.cloth.ModelTinkersShawl; +import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; +import tconstruct.tools.TinkerTools; + +public class TinkersShawl extends ArmorCore +{ + public TinkersShawl() { + super(0,1); + this.setUnlocalizedName("tinkersshawl"); + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partCloth; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partCloth; + } + + @Override + public Item getAccessoryItem() + { + return TinkersDefense.partClasp; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 3; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_shawl_cloth"; + case 1: + return "_shawl_cloth_broken"; + case 2: + return "_shawl_trim"; + case 3: + return "_shawl_clasp"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_shawl_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/shawl"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersShawl.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","chest","shawl","cloth"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; + + int HeadID = tags.getCompoundTag("InfiTool").getInteger("RenderHead"); + int HandleID = tags.getCompoundTag("InfiTool").getInteger("RenderHandle"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(HeadID, ClothMaterial.class); + color[1] = Integer.toHexString(newColor.color); + + newColor = TConstructRegistry.getCustomMaterial(HandleID, ClothMaterial.class); + color[0] = Integer.toHexString(newColor.color); + + return new ModelTinkersShawl(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 0; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java new file mode 100644 index 0000000..d842647 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java @@ -0,0 +1,133 @@ +package lance5057.tDefense.armor.items.cloth; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.light.ModelTinkersBoots; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; + +public class TinkersShoes extends ArmorCore +{ + public TinkersShoes() { + super(0,3); + this.setUnlocalizedName("tinkersshoes"); + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partCloth; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partClasp; + } + + @Override + public Item getAccessoryItem() + { + return TinkersDefense.partRivet; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1.0f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 3; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_shoes_cloth"; + case 1: + return "_shoes_cloth_broken"; + case 2: + return "_shoes_clasp"; + case 3: + return "_shoes_rivet"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_shoes_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/shoes"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersShoes.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","helmet","shoes","cloth"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; + + int HeadID = tags.getCompoundTag("InfiTool").getInteger("RenderHead"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(HeadID, ClothMaterial.class); + color[1] = Integer.toHexString(newColor.color); + + return (ModelBiped) new ModelTinkersBoots(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 0; + } +} 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 3a8be65..d3fce5d 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java +++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java @@ -1,23 +1,30 @@ package lance5057.tDefense.armor.items.heavy; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; 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.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; import tconstruct.tools.TinkerTools; public class TinkersBreastplate extends ArmorCore { public TinkersBreastplate() { - super(0,1); + super(2,1); this.setUnlocalizedName("tinkershelm"); + this.maxReduction = 100; + this.reductionPercent = 0.32; } @Override @@ -118,12 +125,17 @@ public class TinkersBreastplate extends ArmorCore } @Override + @SideOnly(Side.CLIENT) public ModelBiped getModel(String[] color,NBTTagCompound tags) { String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3), this.getIconSuffix(4)}; - armorModel = new ModelTinkersBreastplate(color, this.getDefaultFolder(), textures); - - return armorModel; + return new ModelTinkersBreastplate(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 8; } } diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java index 4903bde..747b0e7 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java +++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java @@ -1,21 +1,29 @@ package lance5057.tDefense.armor.items.heavy; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import lance5057.tDefense.TinkersDefense; import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.armor.renderers.heavy.ModelTinkersGrieves; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; import tconstruct.tools.TinkerTools; public class TinkersGrieves extends ArmorCore { public TinkersGrieves() { - super(0,2); + super(2,2); this.setUnlocalizedName("tinkergrieves"); + this.maxReduction = 100; + this.reductionPercent = 0.24; } @Override @@ -116,11 +124,17 @@ public class TinkersGrieves extends ArmorCore } @Override + @SideOnly(Side.CLIENT) public ModelBiped getModel(String[] color,NBTTagCompound tags) { String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3), this.getIconSuffix(4)}; - armorModel = new ModelTinkersGrieves(color, this.getDefaultFolder(), textures); - return armorModel; + return new ModelTinkersGrieves(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 6; } } diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java index a4444d4..a2ad9eb 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java +++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java @@ -5,18 +5,24 @@ import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; import tconstruct.tools.TinkerTools; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class TinkersHelm extends ArmorCore { public TinkersHelm() { super(2,0); this.setUnlocalizedName("tinkershelm"); + this.maxReduction = 100; + this.reductionPercent = 0.12; } @Override @@ -109,17 +115,17 @@ public class TinkersHelm extends ArmorCore } @Override + @SideOnly(Side.CLIENT) public ModelBiped getModel(String[] color,NBTTagCompound tags) { String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; - armorModel = new ModelTinkersHelm(color, this.getDefaultFolder(), textures); - return armorModel; + return new ModelTinkersHelm(color, this.getDefaultFolder(), textures); } @Override public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) { - return 2; + return 3; } } diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java index 2ada754..b3cb58a 100644 --- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java +++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java @@ -1,14 +1,21 @@ package lance5057.tDefense.armor.items.heavy; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import lance5057.tDefense.TinkersDefense; import lance5057.tDefense.armor.ArmorCore; import lance5057.tDefense.armor.parts.ClothMaterial; import lance5057.tDefense.armor.renderers.heavy.ModelTinkersSabatons; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; import tconstruct.library.TConstructRegistry; import tconstruct.library.tools.CustomMaterial; import tconstruct.tools.TinkerTools; @@ -16,8 +23,10 @@ import tconstruct.tools.TinkerTools; public class TinkersSabatons extends ArmorCore { public TinkersSabatons() { - super(0,3); + super(2,3); this.setUnlocalizedName("tinkersabatons"); + this.maxReduction = 100; + this.reductionPercent = 0.12; } @Override @@ -118,16 +127,24 @@ public class TinkersSabatons extends ArmorCore } @Override + @SideOnly(Side.CLIENT) public ModelBiped getModel(String[] color, NBTTagCompound tags) { String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3), this.getIconSuffix(4)}; int matID = tags.getCompoundTag("InfiTool").getInteger("RenderExtra"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(matID, ClothMaterial.class); color[3] = Integer.toHexString(newColor.color); - armorModel = new ModelTinkersSabatons(color, this.getDefaultFolder(), textures); - return armorModel; + return new ModelTinkersSabatons(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 3; } } diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java b/src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java new file mode 100644 index 0000000..afe0368 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java @@ -0,0 +1,139 @@ +package lance5057.tDefense.armor.items.light; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.cloth.ModelTinkersHood; +import lance5057.tDefense.armor.renderers.light.ModelTinkersBoots; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; + +public class TinkersBoots extends ArmorCore +{ + public TinkersBoots() { + super(1,3); + this.setUnlocalizedName("tinkersboots"); + this.maxReduction = 100; + this.reductionPercent = 0.08; + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partChainmaille; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partCloth; + } + + @Override + public Item getAccessoryItem() + { + return TinkersDefense.partRivet; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1.0f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 3; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_boots_chain"; + case 1: + return "_boots_chain_broken"; + case 2: + return "_boots_cloth"; + case 3: + return "_boots_rivet"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_boots_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/boots"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersBoots.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","feet","boots","lightarmor"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; + + int HandleID = tags.getCompoundTag("InfiTool").getInteger("RenderHandle"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(HandleID, ClothMaterial.class); + color[0] = Integer.toHexString(newColor.color); + + return new ModelTinkersBoots(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 2; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java b/src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java new file mode 100644 index 0000000..203535d --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java @@ -0,0 +1,134 @@ +package lance5057.tDefense.armor.items.light; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.light.ModelTinkersChausses; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; + +public class TinkersChausses extends ArmorCore +{ + public TinkersChausses() { + super(1,2); + this.setUnlocalizedName("tinkerschausses"); + this.maxReduction = 100; + this.reductionPercent = 0.2; + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partChainmaille; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partArmorplate; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1.0f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 2; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_chausses_chain"; + case 1: + return "_chausses_chain_broken"; + case 2: + return "_chausses_plate"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_chausses_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/chausses"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersChausses.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","feet","chausses","lightarmor"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0)}; + + return new ModelTinkersChausses(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 5; + } + + @Override + public ArmorProperties getProperties(EntityLivingBase player, + ItemStack armor, DamageSource source, double damage, int slot) + { + ArmorProperties armorp = new ArmorProperties(0, 0.2, 100); //0.04 per half shirt + //((EntityPlayer)player).addChatComponentMessage(new ChatComponentText(Double.toString(damage))); + return armorp; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java b/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java new file mode 100644 index 0000000..47dbf27 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java @@ -0,0 +1,149 @@ +package lance5057.tDefense.armor.items.light; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.cloth.ModelTinkersHood; +import lance5057.tDefense.armor.renderers.light.ModelTinkersCoif; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; +import tconstruct.tools.TinkerTools; + +public class TinkersCoif extends ArmorCore +{ + public TinkersCoif() { + super(1,0); + this.setUnlocalizedName("tinkerscoif"); + this.maxReduction = 100; + this.reductionPercent = 0.08; + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partChainmaille; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partCloth; + } + + @Override + public Item getAccessoryItem() + { + return TinkerTools.toughRod; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1.0f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 3; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_coif_chain"; + case 1: + return "_coif_chain_broken"; + case 2: + return "_coif_cloth"; + case 3: + return "_coif_circlet"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_coif_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/coif"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersCoif.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","head","coif","lightarmor"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; + + int HandleID = tags.getCompoundTag("InfiTool").getInteger("RenderHandle"); + + CustomMaterial newColor = TConstructRegistry.getCustomMaterial(HandleID, ClothMaterial.class); + color[0] = Integer.toHexString(newColor.color); + + return new ModelTinkersCoif(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 2; + } + + @Override + public ArmorProperties getProperties(EntityLivingBase player, + ItemStack armor, DamageSource source, double damage, int slot) + { + ArmorProperties armorp = new ArmorProperties(0, 0.08, 100); //0.04 per half shirt + //((EntityPlayer)player).addChatComponentMessage(new ChatComponentText(Double.toString(damage))); + return armorp; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersHalberd.java b/src/main/java/lance5057/tDefense/armor/items/light/TinkersHalberd.java new file mode 100644 index 0000000..739e6e0 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/items/light/TinkersHalberd.java @@ -0,0 +1,135 @@ +package lance5057.tDefense.armor.items.light; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import lance5057.tDefense.TinkersDefense; +import lance5057.tDefense.armor.ArmorCore; +import lance5057.tDefense.armor.parts.ClothMaterial; +import lance5057.tDefense.armor.renderers.cloth.ModelTinkersHood; +import lance5057.tDefense.armor.renderers.light.ModelTinkersHalberd; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraftforge.common.ISpecialArmor.ArmorProperties; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.tools.CustomMaterial; +import tconstruct.tools.TinkerTools; + +public class TinkersHalberd extends ArmorCore +{ + public TinkersHalberd() { + super(1,1); + this.setUnlocalizedName("tinkershalberd"); + this.maxReduction = 100; + this.reductionPercent = 0.24; + } + + @Override + public Item getHeadItem() + { + return TinkersDefense.partChainmaille; + } + + @Override + public Item getHandleItem() { + return TinkersDefense.partArmorplate; + } + + @Override + public Item getAccessoryItem() + { + return TinkersDefense.partRivet; + } + + @Override + public int durabilityTypeAccessory() { + return 1; + } + + @Override + public float getRepairCost() { + return 1.0f; + } + + @Override + public float getDurabilityModifier() { + return 1f; + } + + @Override + public float getDamageModifier() { + return 1f; + } + + @Override + public int getPartAmount() { + return 3; + } + + @Override + public String getIconSuffix(int partType) + { + switch (partType) { + case 0: + return "_halberd_chain"; + case 1: + return "_halberd_chain_broken"; + case 2: + return "_halberd_plate"; + case 3: + return "_halberd_rivet"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() + { + return "_halberd_effect"; + } + + @Override + public String getDefaultFolder() + { + return "armor/halberd"; + } + +// @Override +// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, +// boolean par5) { +// super.onUpdate(stack, world, entity, par4, par5); +// +// } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, + String type) { + return "tinkersdefense:textures/armor/TinkersHalberd.png"; + } + + @Override + public String[] getTraits() { + return new String[] {"armor","chest","halberd","lightarmor"}; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getModel(String[] color,NBTTagCompound tags) + { + String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3)}; + + return new ModelTinkersHalberd(color, this.getDefaultFolder(), textures); + } + + @Override + public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) + { + return 6; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java b/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java new file mode 100644 index 0000000..1ee7b1f --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java @@ -0,0 +1,52 @@ +package lance5057.tDefense.armor.modifiers; + +import java.util.List; + +import cpw.mods.fml.common.registry.GameRegistry; +import lance5057.tDefense.TinkersDefense; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import tconstruct.armor.TinkerArmor; +import tconstruct.library.TConstructRegistry; +import tconstruct.library.client.TConstructClientRegistry; +import tconstruct.library.crafting.ModifyBuilder; +import tconstruct.library.tools.ToolCore; + +public class ArmorMods +{ + Item protKit; + + public ArmorMods() + { + LoadItems(); + RegisterRecipes(); + RegisterModifiers(); + } + + public void LoadItems() + { + protKit = new Item() + .setUnlocalizedName("protectionkit") + .setCreativeTab(TinkersDefense.tabName) + .setTextureName("tinkersdefense:protectionkit"); + + GameRegistry.registerItem(protKit, "protectionkit"); + } + + public void RegisterRecipes() + { + GameRegistry.addShapelessRecipe(new ItemStack(protKit,1), new ItemStack(TinkersDefense.partArmorplate,1,2), TinkerArmor.heartCanister, Items.iron_ingot); + } + + public void RegisterModifiers() + { + ModifyBuilder.registerModifier(new modifierProtection(new ItemStack[] {new ItemStack(protKit,1)}, TinkersDefense.config.ArmorProtectionID, 1, "\u00A77")); + + for (ToolCore tool : TConstructRegistry.getToolMapping()) + { + TConstructClientRegistry.addEffectRenderMapping(tool, TinkersDefense.config.ArmorProtectionID, "tinker", "protection", true); + } + } +} diff --git a/src/main/java/lance5057/tDefense/armor/modifiers/modifierProtection.java b/src/main/java/lance5057/tDefense/armor/modifiers/modifierProtection.java new file mode 100644 index 0000000..bd781cd --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/modifiers/modifierProtection.java @@ -0,0 +1,98 @@ +package lance5057.tDefense.armor.modifiers; + +import java.util.Arrays; +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import tconstruct.library.crafting.PatternBuilder; +import tconstruct.library.modifier.ItemModifier; +import tconstruct.library.tools.AbilityHelper; +import tconstruct.library.tools.ToolCore; +import tconstruct.modifiers.tools.ModInteger; + + +public class modifierProtection extends ModInteger +{ + String color; + String tooltipName = ""; + int initialIncrease; + int secondaryIncrease; + + public modifierProtection(ItemStack[] items, int effect, int increase, String c) + { + super(items, effect, "Protection", increase, c, "Protection"); + color = c; + } + + @Override + protected boolean canModify (ItemStack tool, ItemStack[] input) + { + if (tool.getItem() instanceof ToolCore) + { + List list = Arrays.asList(((ToolCore)tool.getItem()).getTraits()); + if (list.contains("heavyarmor") || list.contains("lightarmor")) + { + return true; + } + } + return false; + } + + @Override + public void modify (ItemStack[] input, ItemStack tool) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + if (tags.hasKey(key)) + { + int increase = tags.getInteger(key); + increase += secondaryIncrease; + tags.setInteger(key, increase); + } + else + { + tags.setInteger(key, initialIncrease); + } + + int modifiers = tags.getInteger("Modifiers"); + modifiers -= 1; + tags.setInteger("Modifiers", modifiers); + + int prot = tags.getInteger("Protection"); + prot += 1; + tags.setInteger("Protection", prot); + + addToolTip(tool, color + tooltipName, color + key); + } + + protected int addToolTip (ItemStack tool, String tooltip, String modifierTip) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + int tipNum = 0; + while (true) + { + tipNum++; + String tip = "Tooltip" + tipNum; + if (!tags.hasKey(tip)) + { + tags.setString(tip, ""); + String modTip = "ModifierTip" + tipNum; + String tag = tags.getString(modTip); + tags.setString(modTip, getProperName(modifierTip, tag)); + return tipNum; + } + else + { + String modTip = "ModifierTip" + tipNum; + String tag = tags.getString(modTip); + if (tag.contains(modifierTip)) + { + tags.setString(tip, ""); + tag = tags.getString(modTip); + tags.setString(modTip, getProperName(modifierTip, tag)); + return tipNum; + } + } + } + } +}
\ No newline at end of file diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java b/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java new file mode 100644 index 0000000..0ae93c0 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java @@ -0,0 +1,82 @@ +package lance5057.tDefense.armor.renderers.cloth; + +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 + * Created using Tabula 4.1.1 + */ +public class ModelTinkersHood extends ModelBiped { + public ModelRenderer Hood; + public ModelRenderer Flop; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersHood(String[] colors, String defaultFolder, String[] textures) + { + super(1.1f, 0, 64,64); + + this.textureWidth = 64; + this.textureHeight = 64; + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.Hood = new ModelRenderer(this, 0, 44); + this.Hood.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Hood.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.5F); + this.bipedHead.addChild(this.Hood); + + this.Flop = new ModelRenderer(this, 0, 32); + this.Flop.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Flop.addBox(-4.0F, -9.6F, 0.3F, 8, 8, 4, 0.0F); + this.setRotateAngle(Flop, -0.4553564018453205F, 0.0F, 0.0F); + this.bipedHead.addChild(this.Flop); + + this.bipedHeadwear.isHidden = true; + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glPushMatrix(); + for(int i = 0; i<3; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size = 2.25f; + GL11.glScalef(1.5F / size, 1.5F / size, 1.5F / size); + GL11.glTranslatef(0.0F, 0F*f5, 0.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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java b/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java new file mode 100644 index 0000000..63634c8 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java @@ -0,0 +1,127 @@ +package lance5057.tDefense.armor.renderers.cloth; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; + +/** + * ClothRobes - Undefined + * Created using Tabula 4.1.1 + */ +public class ModelTinkersRobe extends ModelBiped { + public ModelRenderer Left; + public ModelRenderer Right; + public ModelRenderer RightBack; + public ModelRenderer LeftFront; + public ModelRenderer RightFront; + public ModelRenderer Belt; + public ModelRenderer LeftBack; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersRobe(String[] colors, String defaultFolder, String[] textures) + { + super(1f, 0, 64,64); + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.textureWidth = 64; + this.textureHeight = 64; + + this.Right = new ModelRenderer(this, 18, 41); + this.Right.mirror = true; + this.Right.setRotationPoint(0F, 0F, 0F); + this.Right.addBox(-2.5F, 0.0F, -2.5F, 6, 11, 5, 0.01F); + this.setRotateAngle(Right, 0.0F, 0.0F, 0.08726646259971647F); + this.bipedRightLeg.addChild(this.Right); + + this.RightBack = new ModelRenderer(this, 40, 43); + this.RightBack.mirror = true; + this.RightBack.setRotationPoint(0F, 0F, 0F); + this.RightBack.addBox(-2.5F, 0.27F, -0.6F, 6, 11, 3, 0.0F); + this.setRotateAngle(RightBack, 0.2617993877991494F, 0.0F, 0.08726646259971647F); + this.bipedRightLeg.addChild(this.RightBack); + + this.LeftBack = new ModelRenderer(this, 40, 43); + this.LeftBack.setRotationPoint(0F, 0F, 0F); + this.LeftBack.addBox(-3.5F, 0.27F, -0.6F, 6, 11, 3, 0.0F); + this.setRotateAngle(LeftBack, 0.2617993877991494F, 0.0F, -0.08726646259971647F); + this.bipedLeftLeg.addChild(this.LeftBack); + + this.Belt = new ModelRenderer(this, 0, 32); + this.Belt.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Belt.addBox(-6.8F, 10.0F, -3.0F, 10, 3, 6, 0.0F); + this.setRotateAngle(Belt, 0.0F, 0.0F, -0.13962634015954636F); + this.bipedBody.addChild(this.Belt); + + this.Left = new ModelRenderer(this, 18, 41); + this.Left.setRotationPoint(0F, 0F, 0F); + this.Left.addBox(-3.5F, 0.0F, -2.5F, 6, 11, 5, 0.01F); + this.setRotateAngle(Left, 0.0F, 0.0F, -0.08726646259971647F); + this.bipedLeftLeg.addChild(this.Left); + + this.LeftFront = new ModelRenderer(this, 0, 43); + this.LeftFront.setRotationPoint(0F, 0F, 0F); + this.LeftFront.addBox(-3.5F, 0.27F, -2.4F, 6, 11, 3, 0.0F); + this.setRotateAngle(LeftFront, -0.2617993877991494F, 0.0F, -0.08726646259971647F); + this.bipedLeftLeg.addChild(this.LeftFront); + + this.RightFront = new ModelRenderer(this, 0, 43); + this.RightFront.mirror = true; + this.RightFront.setRotationPoint(0F, 0F, 0F); + this.RightFront.addBox(-2.5F, 0.27F, -2.4F, 6, 11, 3, 0.0F); + this.setRotateAngle(RightFront, -0.2617993877991494F, 0.0F, 0.08726646259971647F); + this.bipedRightLeg.addChild(this.RightFront); + + //this.bipedBody.isHidden = true; + this.bipedHead.isHidden = true; + this.bipedHeadwear.isHidden = true; + //this.bipedRightLeg.isHidden = true; + //this.bipedLeftLeg.isHidden = true; + this.bipedRightArm.isHidden = true; + this.bipedLeftArm.isHidden = true; + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glPushMatrix(); + for(int i = 0; i<2; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size = 1.45f; + GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / size); + GL11.glTranslatef(0F, -1.5F*f5, -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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java b/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java new file mode 100644 index 0000000..8ddb70b --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java @@ -0,0 +1,140 @@ +package lance5057.tDefense.armor.renderers.cloth; + +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 + * Created using Tabula 4.1.1 + */ +public class ModelTinkersShawl extends ModelBiped { + public ModelRenderer ShawlLeft1; + public ModelRenderer ShawlLeft2; + public ModelRenderer ShawlRight1; + public ModelRenderer ShawlRight2; + public ModelRenderer Button; + public ModelRenderer TopLeft; + public ModelRenderer TopRight; + public ModelRenderer ArmLeft; + public ModelRenderer ArmRight; + public ModelRenderer Chest; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersShawl(String[] colors, String defaultFolder, String[] textures) + { + super(1f, 0, 64,64); + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.textureWidth = 64; + this.textureHeight = 64; + + this.ArmLeft = new ModelRenderer(this, 48, 48); + this.ArmLeft.mirror = true; + this.ArmLeft.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmLeft.addBox(-1.0F, -2.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedLeftArm.addChild(this.ArmLeft); + + this.ArmRight = new ModelRenderer(this, 48, 48); + this.ArmRight.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmRight.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedRightArm.addChild(this.ArmRight); + + this.Chest = new ModelRenderer(this, 40, 32); + this.Chest.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Chest.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, 0.0F); + this.bipedBody.addChild(this.Chest); + + this.TopRight = new ModelRenderer(this, 0, 52); + this.TopRight.mirror = true; + this.TopRight.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TopRight.addBox(-3.5F, -2.3F, -3.0F, 9, 3, 6, -0.01F); + this.bipedRightArm.addChild(this.TopRight); + + this.Button = new ModelRenderer(this, 0, 61); + this.Button.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Button.addBox(0.0F, 0.0F, -3.5F, 2, 2, 1, 0.0F); + this.setRotateAngle(Button, 0.0F, 0.0F, 0.7853981633974483F); + this.bipedBody.addChild(this.Button); + + this.TopLeft = new ModelRenderer(this, 0, 52); + this.TopLeft.setRotationPoint(0.0F, 0.0F, 0.0F); + this.TopLeft.addBox(-5.5F, -2.3F, -3.0F, 9, 3, 6, -0.01F); + this.bipedLeftArm.addChild(this.TopLeft); + + this.ShawlRight1 = new ModelRenderer(this, 0, 32); + this.ShawlRight1.mirror = true; + this.ShawlRight1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ShawlRight1.addBox(-4.0F, -1.3F, -3.0F, 6, 5, 6, 0.0F); + this.setRotateAngle(ShawlRight1, 0.0F, 0.0F, 0.2617993877991494F); + this.bipedRightArm.addChild(this.ShawlRight1); + + this.ShawlRight2 = new ModelRenderer(this, 0, 43); + this.ShawlRight2.mirror = true; + this.ShawlRight2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ShawlRight2.addBox(-1.9F, 0.8F, -3.0F, 6, 3, 6, 0.01F); + this.setRotateAngle(ShawlRight2, 0.0F, 0.0F, -0.6981317007977318F); + this.bipedRightArm.addChild(this.ShawlRight2); + + this.ShawlLeft1 = new ModelRenderer(this, 0, 32); + this.ShawlLeft1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ShawlLeft1.addBox(-2.0F, -1.3F, -3.0F, 6, 5, 6, 0.0F); + this.setRotateAngle(ShawlLeft1, 0.0F, 0.0F, -0.2617993877991494F); + this.bipedLeftArm.addChild(this.ShawlLeft1); + + this.ShawlLeft2 = new ModelRenderer(this, 0, 43); + this.ShawlLeft2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ShawlLeft2.addBox(-4.1F, 0.8F, -3.0F, 6, 3, 6, 0.1F); + this.setRotateAngle(ShawlLeft2, 0.0F, 0.0F, 0.6981317007977318F); + this.bipedLeftArm.addChild(this.ShawlLeft2); + + 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) { + GL11.glPushMatrix(); + for(int i = 0; i<3; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size = 1.5f; + GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / size); + GL11.glTranslatef(0F, -0F*f5, -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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} 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 7c99478..d1c3fd5 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java +++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java @@ -100,7 +100,7 @@ public class ModelTinkersBreastplate extends ModelBiped this.setRotateAngle(PauldronL, 0.0F, -0.0F, -0.4363323129985824F); this.bipedLeftArm.addChild(this.PauldronL); - this.ArmR.offsetX = this.ArmR.offsetX + 0.04f; + // this.ArmR.offsetX = this.ArmR.offsetX + 0.04f; this.bipedHead.isHidden = true; this.bipedHeadwear.isHidden = true; 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 c210df7..5c87cdb 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java +++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java @@ -68,9 +68,9 @@ public class ModelTinkersHelm extends ModelBiped FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); - float size = 1.75f; + float size = 2.5f; GL11.glScalef(1.5F / size, 1.5F / size, 1.5F / size); - GL11.glTranslatef(0.0F, -12F * f5, 0.0F); + GL11.glTranslatef(0.0F, -0F * f5, 0.0F); int[] intColors = TinkersDefense.hexToRGB(colors[i]); GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255); diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java index 0d7fd15..e8f8963 100644 --- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java +++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java @@ -134,9 +134,9 @@ public class ModelTinkersSabatons extends ModelBiped FMLClientHandler.instance().getClient().renderEngine.bindTexture(texture); - float size =0.75f; + float size =1.5f; GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / size); - GL11.glTranslatef(0.0F, -12.4F*f5, 0.0F); + GL11.glTranslatef(0.0F, -1F*f5, 0.0F); int[] intColors = TinkersDefense.hexToRGB(colors[i]); GL11.glColor3d((float)intColors[0]/255, (float)intColors[1]/255, (float)intColors[2]/255); diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java new file mode 100644 index 0000000..9144d38 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java @@ -0,0 +1,91 @@ +package lance5057.tDefense.armor.renderers.light; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; + +/** + * ModelBiped - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelTinkersBoots extends ModelBiped +{ + public ModelRenderer LegR; + public ModelRenderer LegL; + public ModelRenderer FootL; + public ModelRenderer FootR; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersBoots(String[] colors, String defaultFolder, String[] textures) { + super(1.1f, 0, 64,64); + + this.textureWidth = 64; + this.textureHeight = 64; + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.FootL = new ModelRenderer(this, 0, 43); + this.FootL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.FootL.addBox(-2.0F, 10.0F, -3.0F, 4, 2, 1, 0.0F); + this.bipedLeftLeg.addChild(this.FootL); + + this.LegL = new ModelRenderer(this, 0, 48); + this.LegL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LegL.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedLeftLeg.addChild(this.LegL); + + this.FootR = new ModelRenderer(this, 0, 43); + this.FootR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.FootR.addBox(-2.0F, 10.0F, -3.0F, 4, 2, 1, 0.0F); + this.bipedRightLeg.addChild(this.FootR); + + this.LegR = new ModelRenderer(this, 0, 48); + this.LegR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.LegR.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedRightLeg.addChild(this.LegR); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glPushMatrix(); + for(int i = 0; i<3; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size =1.45f; + GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / size); + GL11.glTranslatef(0.0F, -1F*f5, 0.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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java new file mode 100644 index 0000000..c9326e7 --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java @@ -0,0 +1,117 @@ +package lance5057.tDefense.armor.renderers.light; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; + +/** + * ModelBiped - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelTinkersChausses extends ModelBiped { + public ModelRenderer LegL; + public ModelRenderer FrontL; + public ModelRenderer HipGuardL; + public ModelRenderer HipGuardR; + public ModelRenderer LegR; + public ModelRenderer BackL; + public ModelRenderer FrontR; + public ModelRenderer BackR; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersChausses(String[] colors, String defaultFolder, String[] textures) { + super(1.1f, 0, 64,64); + + this.textureWidth = 64; + this.textureHeight = 64; + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.HipGuardR = new ModelRenderer(this, 10, 37); + this.HipGuardR.setRotationPoint(0F, 0F, 0F); + this.HipGuardR.addBox(-2.5F, 0.0F, -2.5F, 4, 6, 5, 0.0F); + this.setRotateAngle(HipGuardR, 0.0F, 0.0F, 0.17453292519943295F); + this.bipedRightLeg.addChild(this.HipGuardR); + + this.LegL = new ModelRenderer(this, 0, 48); + this.LegL.setRotationPoint(0F, 0F, 0F); + this.LegL.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedLeftLeg.addChild(this.LegL); + + this.BackR = new ModelRenderer(this, 0, 40); + this.BackR.setRotationPoint(0F, 0F, 0F); + this.BackR.addBox(-0.1F, 0.0F, 1.7F, 4, 7, 1, 0.01F); + this.bipedRightLeg.addChild(this.BackR); + + this.FrontL = new ModelRenderer(this, 0, 40); + this.FrontL.setRotationPoint(0F, 0F, 0F); + this.FrontL.addBox(-4.0F, 0.0F, -2.7F, 4, 7, 1, 0.0F); + this.bipedLeftLeg.addChild(this.FrontL); + + this.LegR = new ModelRenderer(this, 0, 48); + this.LegR.setRotationPoint(0F, 0F, 0F); + this.LegR.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedRightLeg.addChild(this.LegR); + + this.BackL = new ModelRenderer(this, 0, 40); + this.BackL.setRotationPoint(0F, 0F, 0F); + this.BackL.addBox(-4.0F, 0.0F, 1.7F, 4, 7, 1, 0.0F); + this.bipedLeftLeg.addChild(this.BackL); + + this.FrontR = new ModelRenderer(this, 0, 40); + this.FrontR.setRotationPoint(0F, 0F, 0F); + this.FrontR.addBox(-0.1F, 0.0F, -2.7F, 4, 7, 1, 0.01F); + this.bipedRightLeg.addChild(this.FrontR); + + this.HipGuardL = new ModelRenderer(this, 10, 37); + this.HipGuardL.mirror = true; + this.HipGuardL.setRotationPoint(0F, 0F, 0F); + this.HipGuardL.addBox(-1.5F, 0.0F, -2.5F, 4, 6, 5, 0.0F); + this.setRotateAngle(HipGuardL, 0.0F, 0.0F, -0.17453292519943295F); + this.bipedLeftLeg.addChild(this.HipGuardL); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glPushMatrix(); + for(int i = 0; i<2; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size =1.5f; + GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / size); + GL11.glTranslatef(0F, -1F*f5, -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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java new file mode 100644 index 0000000..0589ccc --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java @@ -0,0 +1,78 @@ +package lance5057.tDefense.armor.renderers.light; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; + +/** + * ModelBiped - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelTinkersCoif extends ModelBiped { + public ModelRenderer Coif; + public ModelRenderer Head; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersCoif(String[] colors, String defaultFolder, String[] textures) { + super(1.1f, 0, 64,64); + + this.textureWidth = 64; + this.textureHeight = 64; + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.Head = new ModelRenderer(this, 32, 48); + this.Head.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, 0.0F); + this.bipedHead.addChild(this.Head); + + this.Coif = new ModelRenderer(this, 0, 46); + this.Coif.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Coif.addBox(-4.0F, -8.0F, -4.0F, 8, 10, 8, 0.5F); + this.bipedHead.addChild(this.Coif); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glPushMatrix(); + for(int i = 0; i<3; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size = 2.25f; + GL11.glScalef(1.5F / size, 1.5F / size, 1.5F / size); + GL11.glTranslatef(0.0F, 0F*f5, 0.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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHalberd.java b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHalberd.java new file mode 100644 index 0000000..4d4b46b --- /dev/null +++ b/src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHalberd.java @@ -0,0 +1,130 @@ +package lance5057.tDefense.armor.renderers.light; + +import lance5057.tDefense.TinkersDefense; +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import cpw.mods.fml.client.FMLClientHandler; + +/** + * ModelBiped - Either Mojang or a mod author + * Created using Tabula 4.1.1 + */ +public class ModelTinkersHalberd extends ModelBiped { + public ModelRenderer Pauldron1; + public ModelRenderer Pauldron2; + public ModelRenderer Pauldron3; + public ModelRenderer ArmR; + public ModelRenderer Body; + public ModelRenderer Pauldron1_1; + public ModelRenderer Pauldron2_1; + public ModelRenderer Pauldron3_1; + public ModelRenderer ArmL; + + public String[] colors; + + public String[] textures; + public String defaultFolder; + + public ModelTinkersHalberd(String[] colors, String defaultFolder, String[] textures) { + super(1.1f, 0, 64,64); + + this.textureWidth = 64; + this.textureHeight = 64; + + this.colors = colors; + this.textures = textures; + this.defaultFolder = defaultFolder; + + this.Pauldron2_1 = new ModelRenderer(this, 0, 32); + this.Pauldron2_1.mirror = true; + this.Pauldron2_1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron2_1.addBox(-0.7F, -2.7F, -2.0F, 3, 3, 4, 0.1F); + this.setRotateAngle(Pauldron2_1, 0.0F, 0.0F, 0.2617993877991494F); + this.bipedLeftArm.addChild(this.Pauldron2_1); + + this.Body = new ModelRenderer(this, 16, 48); + this.Body.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, 0.0F); + this.bipedBody.addChild(this.Body); + + this.Pauldron1_1 = new ModelRenderer(this, 30, 32); + this.Pauldron1_1.mirror = true; + this.Pauldron1_1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron1_1.addBox(0.5F, -1.9F, -2.5F, 3, 4, 5, 0.0F); + this.setRotateAngle(Pauldron1_1, 0.0F, 0.0F, -0.2617993877991494F); + this.bipedLeftArm.addChild(this.Pauldron1_1); + + this.Pauldron3 = new ModelRenderer(this, 16, 32); + this.Pauldron3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron3.addBox(-1.2F, -1.5F, -2.5F, 2, 2, 5, 0.1F); + this.setRotateAngle(Pauldron3, 0.0F, 0.0F, -0.2617993877991494F); + this.bipedRightArm.addChild(this.Pauldron3); + + this.ArmL = new ModelRenderer(this, 0, 48); + this.ArmL.mirror = true; + this.ArmL.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmL.addBox(-1.0F, -2.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedLeftArm.addChild(this.ArmL); + + this.Pauldron1 = new ModelRenderer(this, 30, 32); + this.Pauldron1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron1.addBox(-3.5F, -1.9F, -2.5F, 3, 4, 5, 0.0F); + this.setRotateAngle(Pauldron1, 0.0F, 0.0F, 0.2617993877991494F); + this.bipedRightArm.addChild(this.Pauldron1); + + this.Pauldron3_1 = new ModelRenderer(this, 16, 32); + this.Pauldron3_1.mirror = true; + this.Pauldron3_1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron3_1.addBox(-0.8F, -1.5F, -2.5F, 2, 2, 5, 0.1F); + this.setRotateAngle(Pauldron3_1, 0.0F, 0.0F, 0.2617993877991494F); + this.bipedLeftArm.addChild(this.Pauldron3_1); + + this.Pauldron2 = new ModelRenderer(this, 0, 32); + this.Pauldron2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.Pauldron2.addBox(-2.3F, -2.7F, -2.0F, 3, 3, 4, 0.1F); + this.setRotateAngle(Pauldron2, 0.0F, 0.0F, -0.2617993877991494F); + this.bipedRightArm.addChild(this.Pauldron2); + + this.ArmR = new ModelRenderer(this, 0, 48); + this.ArmR.setRotationPoint(0.0F, 0.0F, 0.0F); + this.ArmR.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, 0.0F); + this.bipedRightArm.addChild(this.ArmR); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + GL11.glPushMatrix(); + for(int i = 0; i<3; i++) + { + GL11.glPushMatrix(); + + FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png")); + + float size = 2.25f; + GL11.glScalef(1.5F / size, 1.5F / size, 1.5F / size); + GL11.glTranslatef(0.0F, 0F*f5, 0.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(); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} |
