summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense/armor
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2016-02-17 00:57:15 -0600
committerLance5057 <Lance5057@gmail.com>2016-02-17 00:57:15 -0600
commitd01b86cd71b4a805f273bd662a38aacafa803cf4 (patch)
treef6a7bd994cc76804eae9ee6f16e162325777d7a6 /src/main/java/lance5057/tDefense/armor
parent10819ad8b1f865b47656de2ebec6c14ea552e262 (diff)
Buncha updates, forgot to github
Diffstat (limited to 'src/main/java/lance5057/tDefense/armor')
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java78
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java17
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java4
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/ChainArmor.java77
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java60
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java129
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java139
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java133
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java20
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java20
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java14
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java23
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/light/TinkersBoots.java139
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/light/TinkersChausses.java134
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java149
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/light/TinkersHalberd.java135
-rw-r--r--src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java52
-rw-r--r--src/main/java/lance5057/tDefense/armor/modifiers/modifierProtection.java98
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersHood.java82
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersRobe.java127
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/cloth/ModelTinkersShawl.java140
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java2
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java4
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java4
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersBoots.java91
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersChausses.java117
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersCoif.java78
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/light/ModelTinkersHalberd.java130
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;
+ }
+}