summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense/armor
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-12-22 07:56:28 -0600
committerLance5057 <Lance5057@gmail.com>2015-12-22 07:56:28 -0600
commit10819ad8b1f865b47656de2ebec6c14ea552e262 (patch)
tree7e6c8be899da18415ef111360c8aee65fb75300a /src/main/java/lance5057/tDefense/armor
parent3ec5ba87778c94fd58bc98bb9af85391d12491c4 (diff)
Prepping for Xmas Alpha
Diffstat (limited to 'src/main/java/lance5057/tDefense/armor')
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java11
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java32
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/ClothArmor.java76
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java124
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java5
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java139
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java12
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java146
-rw-r--r--src/main/java/lance5057/tDefense/armor/parts/Cloth.java40
-rw-r--r--src/main/java/lance5057/tDefense/armor/parts/ClothMaterial.java14
-rw-r--r--src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java51
-rw-r--r--src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java51
-rw-r--r--src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java51
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java4
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java42
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java7
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java45
17 files changed, 521 insertions, 329 deletions
diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
index 3853c3d..1410b8a 100644
--- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java
+++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
@@ -9,10 +9,13 @@ 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.minecraft.util.IChatComponent;
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.ToolCore;
@@ -38,13 +41,15 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo
public ArmorProperties getProperties(EntityLivingBase player,
ItemStack armor, DamageSource source, double damage, int slot)
{
- return new ArmorProperties(0, 10, 100); //TODO figure this out
+ ArmorProperties armorp = new ArmorProperties(0, 0.8, 100); //TODO figure this out
+ ((EntityPlayer)player).addChatComponentMessage(new ChatComponentText(Double.toString(damage)));
+ return armorp;
}
@Override
public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot)
{
- return 1;
+ return 0;
}
public int getSlot()
@@ -52,7 +57,7 @@ public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryMo
return slot;
}
- public ModelBiped getModel(String[] color)
+ public ModelBiped getModel(String[] color, NBTTagCompound tags)
{
return armorModel;
}
diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
index 343ddc0..21ed906 100644
--- a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
+++ b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
@@ -3,7 +3,9 @@ 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;
@@ -11,7 +13,7 @@ public class ArmorRenderEvent
{
@SubscribeEvent
- public void renderArmorEvent(RenderPlayerEvent.Specials.Post event) {
+ public void renderArmorEvent(RenderPlayerEvent.SetArmorModel event) {
if (event.entityPlayer != null)
{
for(int i = 0; i < 4 ; i++)
@@ -19,6 +21,7 @@ public class ArmorRenderEvent
if(event.entityPlayer.inventory.armorItemInSlot(i) != null)
{
ItemStack Armor = event.entityPlayer.inventory.armorItemInSlot(i);
+ NBTTagCompound tags = Armor.getTagCompound();
if(Armor.getItem() instanceof ArmorCore)
{
@@ -28,24 +31,29 @@ public class ArmorRenderEvent
for(int j = 0; j<10; j++)
color[j] = Integer.toHexString(AArmor.getColorFromItemStack(Armor, j));
- ModelBiped armorModel = AArmor.getModel(color);
+ ModelBiped armorModel = AArmor.getModel(color, tags);
- float size;
- switch(AArmor.getSlot())
- {
- case 0: size = 0.085f; break;
- case 1: size = .126f; break;
-
- default: size = 0.1f; break;
+ if (armorModel != null) {
+ armorModel.isSneak = event.entityPlayer.isSneaking();
+ armorModel.isRiding = event.entityPlayer.isRiding();
+ armorModel.isChild = event.entityPlayer.isChild();
+ armorModel.heldItemRight = event.entityPlayer.getHeldItem() != null ? 1
+ : 0;
+
+ if (event.entityPlayer instanceof EntityPlayer) {
+ armorModel.aimedBow = ((EntityPlayer) event.entityPlayer)
+ .getItemInUseDuration() > 2;
+ }
}
float yaw = event.entityPlayer.prevRotationYawHead + (event.entityPlayer.rotationYawHead - event.entityPlayer.prevRotationYawHead) * event.partialRenderTick;
float yawOffset = event.entityPlayer.prevRenderYawOffset + (event.entityPlayer.renderYawOffset - event.entityPlayer.prevRenderYawOffset) * event.partialRenderTick;
float limbs = event.entityPlayer.prevLimbSwingAmount + (event.entityPlayer.limbSwingAmount - event.entityPlayer.prevLimbSwingAmount) * event.partialRenderTick;
-
- armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, limbs,event.entityPlayer.ticksExisted ,
+ float limbSwing = event.entityPlayer.limbSwing - event.entityPlayer.limbSwingAmount * (1.0F - event.partialRenderTick);
+
+ armorModel.render(event.entityPlayer, limbSwing, limbs,event.entityPlayer.ticksExisted ,
yaw - yawOffset
- , event.entityPlayer.rotationPitch, size);
+ , event.entityPlayer.rotationPitch, 0.1f);
}
}
}
diff --git a/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java b/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java
deleted file mode 100644
index e297028..0000000
--- a/src/main/java/lance5057/tDefense/armor/items/ClothArmor.java
+++ /dev/null
@@ -1,76 +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 ClothArmor extends ItemArmor {
- public ClothArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
- super(par2EnumArmorMaterial, par3, par4);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister) {
- String itemName = "tinkersdefense:textures/armor/ClothArmor";
- this.itemIcon = par1IconRegister.registerIcon(itemName);
- }
-
- @Override
- public String getArmorTexture(ItemStack stack, Entity entity, int slot,
- String type) {
- return "tinkersdefense:textures/armor/ClothArmor.png";
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public ModelBiped getArmorModel(EntityLivingBase entityLiving,
- ItemStack itemStack, int armorSlot) {
-
- // return ClientProxy.chain;
- ModelBiped armorModel = ClientProxy.cloth;
- 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
new file mode 100644
index 0000000..33f42b2
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java
@@ -0,0 +1,124 @@
+package lance5057.tDefense.armor.items.cloth;
+
+import lance5057.tDefense.TinkersDefense;
+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.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import tconstruct.tools.TinkerTools;
+
+public class TinkersHood extends ArmorCore
+{
+ public TinkersHood() {
+ super(2,0);
+ this.setUnlocalizedName("tinkershelm");
+ }
+
+ @Override
+ public Item getHeadItem()
+ {
+ return TinkerTools.frypanHead;
+ }
+
+ @Override
+ public Item getHandleItem() {
+ return TinkerTools.toughRod;
+ }
+
+ @Override
+ public Item getAccessoryItem()
+ {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public int durabilityTypeAccessory() {
+ return 2;
+ }
+
+ @Override
+ public float getRepairCost() {
+ return 4.0f;
+ }
+
+ @Override
+ public float getDurabilityModifier() {
+ return 2.5f;
+ }
+
+ @Override
+ public float getDamageModifier() {
+ return 1.4f;
+ }
+
+ @Override
+ public int getPartAmount() {
+ return 3;
+ }
+
+ @Override
+ public String getIconSuffix(int partType)
+ {
+ switch (partType) {
+ case 0:
+ return "_helm_top";
+ case 1:
+ return "_helm_top_broken";
+ case 2:
+ return "_helm_visor";
+ case 3:
+ return "_helm_chain";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String getEffectSuffix()
+ {
+ return "_helm_effect";
+ }
+
+ @Override
+ public String getDefaultFolder()
+ {
+ return "armor/helm";
+ }
+
+// @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/TinkersHelm.png";
+ }
+
+ @Override
+ public String[] getTraits() {
+ return new String[] {"armor","helmet","helm","heavyarmor"};
+ }
+
+ @Override
+ 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;
+ }
+
+ @Override
+ public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot)
+ {
+ return 2;
+ }
+}
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 0b690c3..3a8be65 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
@@ -6,8 +6,10 @@ 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.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import tconstruct.tools.TinkerTools;
@@ -116,11 +118,12 @@ public class TinkersBreastplate extends ArmorCore
}
@Override
- public ModelBiped getModel(String[] color)
+ 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;
}
}
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 d0fd9f8..4903bde 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java
@@ -1,57 +1,126 @@
package lance5057.tDefense.armor.items.heavy;
+import lance5057.tDefense.TinkersDefense;
+import lance5057.tDefense.armor.ArmorCore;
import lance5057.tDefense.armor.renderers.heavy.ModelTinkersGrieves;
import net.minecraft.client.model.ModelBiped;
-import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemArmor;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import tconstruct.tools.TinkerTools;
-public class TinkersGrieves extends ItemArmor {
- public TinkersGrieves(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
- super(par2EnumArmorMaterial, par3, par4);
+public class TinkersGrieves extends ArmorCore
+{
+ public TinkersGrieves() {
+ super(0,2);
+ this.setUnlocalizedName("tinkergrieves");
+ }
+
+ @Override
+ public Item getHeadItem()
+ {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public Item getHandleItem() {
+ return TinkerTools.toughRod;
+ }
+
+ @Override
+ public Item getAccessoryItem()
+ {
+ return TinkersDefense.partChainmaille;
+ }
+
+ @Override
+ public Item getExtraItem()
+ {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public int durabilityTypeAccessory() {
+ return 2;
}
@Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister) {
- String itemName = "tinkersdefense:textures/armor/TinkersGrieves";
- this.itemIcon = par1IconRegister.registerIcon(itemName);
+ public float getRepairCost() {
+ return 4.0f;
}
@Override
+ public float getDurabilityModifier() {
+ return 2.5f;
+ }
+
+ @Override
+ public float getDamageModifier() {
+ return 1.4f;
+ }
+
+ @Override
+ public int getPartAmount() {
+ return 4;
+ }
+
+ @Override
+ public String getIconSuffix(int partType)
+ {
+ switch (partType) {
+ case 0:
+ return "_grieves_plate";
+ case 1:
+ return "_grieves_plate_broken";
+ case 2:
+ return "_grieves_trim";
+ case 3:
+ return "_grieves_chain";
+ case 4:
+ return "_grieves_cod";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String getEffectSuffix()
+ {
+ return "_grieves_effect";
+ }
+
+ @Override
+ public String getDefaultFolder()
+ {
+ return "armor/grieves";
+ }
+
+// @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/TinkersGrieves.png";
}
+
+ @Override
+ public String[] getTraits() {
+ return new String[] {"armor","pants","grieves","heavyarmor"};
+ }
@Override
- @SideOnly(Side.CLIENT)
- public ModelBiped getArmorModel(EntityLivingBase entityLiving,
- ItemStack itemStack, int armorSlot)
+ public ModelBiped getModel(String[] color,NBTTagCompound tags)
{
- ModelBiped armorModel = new ModelTinkersGrieves();
- 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;
- }
- }
+ String[] textures = {this.getIconSuffix(2),this.getIconSuffix(0),this.getIconSuffix(3), this.getIconSuffix(4)};
+
+ armorModel = new ModelTinkersGrieves(color, this.getDefaultFolder(), textures);
return armorModel;
}
-
-} \ No newline at end of file
+}
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 7a49650..a4444d4 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
@@ -5,15 +5,17 @@ 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.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import tconstruct.tools.TinkerTools;
public class TinkersHelm extends ArmorCore
{
public TinkersHelm() {
- super(0,0);
+ super(2,0);
this.setUnlocalizedName("tinkershelm");
}
@@ -107,11 +109,17 @@ public class TinkersHelm extends ArmorCore
}
@Override
- public ModelBiped getModel(String[] color)
+ 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;
}
+
+ @Override
+ public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot)
+ {
+ return 2;
+ }
}
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 38078af..2ada754 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java
@@ -1,57 +1,133 @@
package lance5057.tDefense.armor.items.heavy;
+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.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemArmor;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.nbt.NBTTagCompound;
+import tconstruct.library.TConstructRegistry;
+import tconstruct.library.tools.CustomMaterial;
+import tconstruct.tools.TinkerTools;
-public class TinkersSabatons extends ItemArmor {
- public TinkersSabatons(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
- super(par2EnumArmorMaterial, par3, par4);
+public class TinkersSabatons extends ArmorCore
+{
+ public TinkersSabatons() {
+ super(0,3);
+ this.setUnlocalizedName("tinkersabatons");
+ }
+
+ @Override
+ public Item getHeadItem()
+ {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public Item getHandleItem() {
+ return TinkerTools.toughRod;
+ }
+
+ @Override
+ public Item getAccessoryItem()
+ {
+ return TinkersDefense.partArmorplate;
+ }
+
+ @Override
+ public Item getExtraItem()
+ {
+ return TinkersDefense.partCloth;
+ }
+
+ @Override
+ public int durabilityTypeAccessory() {
+ return 2;
}
@Override
- @SideOnly(Side.CLIENT)
- public void registerIcons(IIconRegister par1IconRegister) {
- String itemName = "tinkersdefense:textures/armor/TinkersSabatons";
- this.itemIcon = par1IconRegister.registerIcon(itemName);
+ public float getRepairCost() {
+ return 4.0f;
}
@Override
+ public float getDurabilityModifier() {
+ return 2.5f;
+ }
+
+ @Override
+ public float getDamageModifier() {
+ return 1.4f;
+ }
+
+ @Override
+ public int getPartAmount() {
+ return 4;
+ }
+
+ @Override
+ public String getIconSuffix(int partType)
+ {
+ switch (partType) {
+ case 0:
+ return "_sabatons_plates";
+ case 1:
+ return "_sabatons_plate_broken";
+ case 2:
+ return "_sabatons_trim";
+ case 3:
+ return "_sabatons_caps";
+ case 4:
+ return "_sabatons_soles";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String getEffectSuffix()
+ {
+ return "_sabatons_effect";
+ }
+
+ @Override
+ public String getDefaultFolder()
+ {
+ return "armor/sabatons";
+ }
+
+// @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/TinkersSabatons.png";
}
+
+ @Override
+ public String[] getTraits() {
+ return new String[] {"armor","shoes","sabatons","heavyarmor"};
+ }
@Override
- @SideOnly(Side.CLIENT)
- public ModelBiped getArmorModel(EntityLivingBase entityLiving,
- ItemStack itemStack, int armorSlot)
+ public ModelBiped getModel(String[] color, NBTTagCompound tags)
{
- ModelBiped armorModel = new ModelTinkersSabatons();
- 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;
- }
- }
+ 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;
}
-
-} \ No newline at end of file
+}
diff --git a/src/main/java/lance5057/tDefense/armor/parts/Cloth.java b/src/main/java/lance5057/tDefense/armor/parts/Cloth.java
new file mode 100644
index 0000000..5613157
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/parts/Cloth.java
@@ -0,0 +1,40 @@
+package lance5057.tDefense.armor.parts;
+
+import mantle.items.abstracts.CraftingItem;
+import net.minecraft.item.ItemStack;
+import tconstruct.library.TConstructRegistry;
+import tconstruct.library.util.IToolPart;
+
+public class Cloth extends CraftingItem implements IToolPart
+{
+ public Cloth()
+ {
+ super(toolMaterialNames, buildTextureNames("_cloth"), "parts/", "tinker", TConstructRegistry.materialTab);
+ this.setHasSubtypes(true);
+ this.setMaxDamage(0);
+ }
+
+ private static String[] buildTextureNames (String textureType)
+ {
+ String[] names = new String[toolMaterialNames.length];
+ for (int i = 0; i < toolMaterialNames.length; i++)
+ {
+ if (toolTextureNames[i].equals(""))
+ names[i] = "";
+ else
+ names[i] = toolTextureNames[i] + textureType;
+ }
+ return names;
+ }
+
+ public static final String[] toolMaterialNames = new String[] { "white", "orange", "magenta", "lightblue", "yellow", "lime", "pink", "gray", "lightgray", "cyan", "purple", "blue", "brown", "green", "red", "black" };
+ public static final String[] toolTextureNames = new String[] { "white", "orange", "magenta", "lightblue", "yellow", "lime", "pink", "gray", "lightgray", "cyan", "purple", "blue", "brown", "green", "red", "black" };
+
+ @Override
+ public int getMaterialID (ItemStack stack)
+ {
+ if (stack.getItemDamage() >= toolMaterialNames.length)
+ return -1;
+ return stack.getItemDamage();
+ }
+} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/armor/parts/ClothMaterial.java b/src/main/java/lance5057/tDefense/armor/parts/ClothMaterial.java
new file mode 100644
index 0000000..40bf260
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/parts/ClothMaterial.java
@@ -0,0 +1,14 @@
+package lance5057.tDefense.armor.parts;
+
+import net.minecraft.item.ItemStack;
+import tconstruct.library.tools.CustomMaterial;
+
+public class ClothMaterial extends CustomMaterial
+{
+
+ public ClothMaterial(int materialID, int value, ItemStack input,
+ ItemStack craftingItem, int color) {
+ super(materialID, value, input, craftingItem, color);
+ }
+
+}
diff --git a/src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java b/src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java
deleted file mode 100644
index 26f54b1..0000000
--- a/src/main/java/lance5057/tDefense/armor/parts/Item_Cloth.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package lance5057.tDefense.armor.parts;
-
-import java.util.List;
-
-import lance5057.tDefense.TinkersDefense;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-
-public class Item_Cloth extends Item
-{
- public IIcon[] icons = new IIcon[16];
- public static final String[] colors = new String[] {"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "grey", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white"};
-
- public Item_Cloth()
- {
- super();
- this.setHasSubtypes(true);
- this.setUnlocalizedName("Cloth");
- this.setCreativeTab(TinkersDefense.tabName);
- }
-
- @Override
- public void registerIcons(IIconRegister reg) {
- for (int i = 0; i < 16; i ++) {
- this.icons[i] = reg.registerIcon("tinkersdefense:" + colors[i] + "_cloth" );
- }
- }
-
- @Override
- public IIcon getIconFromDamage(int meta) {
- if (meta > 15)
- meta = 0;
-
- return this.icons[meta];
- }
-
- @Override
- public void getSubItems(Item item, CreativeTabs tab, List list) {
- for (int i = 0; i < 16; i ++) {
- list.add(new ItemStack(item, 1, i));
- }
- }
-
- @Override
- public String getUnlocalizedName(ItemStack stack) {
- return colors[stack.getItemDamage()] + "_" + this.getUnlocalizedName();
- }
-}
diff --git a/src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java b/src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java
deleted file mode 100644
index 8539c6f..0000000
--- a/src/main/java/lance5057/tDefense/armor/parts/Item_Glowthread.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package lance5057.tDefense.armor.parts;
-
-import java.util.List;
-
-import lance5057.tDefense.TinkersDefense;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-
-public class Item_Glowthread extends Item
-{
- public IIcon[] icons = new IIcon[16];
- public static final String[] colors = new String[] {"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "grey", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white"};
-
- public Item_Glowthread()
- {
- super();
- this.setHasSubtypes(true);
- this.setUnlocalizedName("GlowThread");
- this.setCreativeTab(TinkersDefense.tabName);
- }
-
- @Override
- public void registerIcons(IIconRegister reg) {
- for (int i = 0; i < 16; i ++) {
- this.icons[i] = reg.registerIcon("tinkersdefense:" + colors[i] + "_glowthread" );
- }
- }
-
- @Override
- public IIcon getIconFromDamage(int meta) {
- if (meta > 15)
- meta = 0;
-
- return this.icons[meta];
- }
-
- @Override
- public void getSubItems(Item item, CreativeTabs tab, List list) {
- for (int i = 0; i < 16; i ++) {
- list.add(new ItemStack(item, 1, i));
- }
- }
-
- @Override
- public String getUnlocalizedName(ItemStack stack) {
- return colors[stack.getItemDamage()] + "_" + this.getUnlocalizedName();
- }
-}
diff --git a/src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java b/src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java
deleted file mode 100644
index f1bc61c..0000000
--- a/src/main/java/lance5057/tDefense/armor/parts/Item_Thread.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package lance5057.tDefense.armor.parts;
-
-import java.util.List;
-
-import lance5057.tDefense.TinkersDefense;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.IIcon;
-
-public class Item_Thread extends Item
-{
- public IIcon[] icons = new IIcon[16];
- public static final String[] colors = new String[] {"black", "red", "green", "brown", "blue", "purple", "cyan", "silver", "grey", "pink", "lime", "yellow", "lightBlue", "magenta", "orange", "white"};
-
- public Item_Thread()
- {
- super();
- this.setHasSubtypes(true);
- this.setUnlocalizedName("Thread");
- this.setCreativeTab(TinkersDefense.tabName);
- }
-
- @Override
- public void registerIcons(IIconRegister reg) {
- for (int i = 0; i < 16; i ++) {
- this.icons[i] = reg.registerIcon("tinkersdefense:" + colors[i] + "_thread" );
- }
- }
-
- @Override
- public IIcon getIconFromDamage(int meta) {
- if (meta > 15)
- meta = 0;
-
- return this.icons[meta];
- }
-
- @Override
- public void getSubItems(Item item, CreativeTabs tab, List list) {
- for (int i = 0; i < 16; i ++) {
- list.add(new ItemStack(item, 1, i));
- }
- }
-
- @Override
- public String getUnlocalizedName(ItemStack stack) {
- return colors[stack.getItemDamage()] + "_" + this.getUnlocalizedName();
- }
-}
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 4978724..7c99478 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
@@ -116,7 +116,9 @@ public class ModelTinkersBreastplate extends ModelBiped
FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
- GL11.glTranslatef(0f, -1.51f, 0f);
+ float size =1.5f;
+ GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / 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);
diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java
index 99ee68b..ecc00da 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java
@@ -1,8 +1,14 @@
package lance5057.tDefense.armor.renderers.heavy;
+import lance5057.tDefense.TinkersDefense;
+
+import org.lwjgl.opengl.GL11;
+
+import cpw.mods.fml.client.FMLClientHandler;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
+import net.minecraft.util.ResourceLocation;
/**
* TinkersGrieves - Either Mojang or a mod author
@@ -18,9 +24,18 @@ public class ModelTinkersGrieves extends ModelBiped {
public ModelRenderer LeftLeg;
public ModelRenderer RightLeg;
- public ModelTinkersGrieves()
+ public String[] colors;
+
+ public String[] textures;
+ public String defaultFolder;
+
+ public ModelTinkersGrieves(String[] colors, String defaultFolder, String[] textures)
{
- super(1.0f, 0, 64,64);
+ super(1f, 0, 64,64);
+
+ this.colors = colors;
+ this.textures = textures;
+ this.defaultFolder = defaultFolder;
this.textureWidth = 64;
this.textureHeight = 64;
@@ -69,14 +84,31 @@ public class ModelTinkersGrieves extends ModelBiped {
this.Belt = new ModelRenderer(this, 0, 57);
this.Belt.setRotationPoint(0.0F, 0.0F, 0.0F);
- this.Belt.addBox(-4.5F, 10.0F, -2.5F, 9, 2, 5, 0.0F);
+ this.Belt.addBox(-4.5F, 10.0F, -2.5F, 9, 2, 5, -0.25F);
this.bipedBody.addChild(this.Belt);
}
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
- super.render(entity, f, f1, f2, f3, f4, f5);
- setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ GL11.glPushMatrix();
+ for(int i = 0; i<4; i++)
+ {
+ GL11.glPushMatrix();
+
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
+
+ float size =1.45f;
+ 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();
}
/**
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 283e75f..c210df7 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
@@ -27,7 +27,7 @@ public class ModelTinkersHelm extends ModelBiped
public ModelTinkersHelm(String[] colors, String defaultFolder, String[] textures)
{
- super(1f, 0, 64,64);
+ super(1.5f, 0, 64,64);
this.colors = colors;
this.textures = textures;
@@ -68,8 +68,9 @@ public class ModelTinkersHelm extends ModelBiped
FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png"));
- GL11.glTranslatef(0f, -1f, 0f);
-
+ float size = 1.75f;
+ GL11.glScalef(1.5F / size, 1.5F / size, 1.5F / size);
+ GL11.glTranslatef(0.0F, -12F * 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 572f4cb..0d7fd15 100644
--- a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java
@@ -1,8 +1,17 @@
package lance5057.tDefense.armor.renderers.heavy;
+import java.io.File;
+
+import lance5057.tDefense.TinkersDefense;
+
+import org.lwjgl.opengl.GL11;
+
+import tconstruct.library.TConstructRegistry;
+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
@@ -23,10 +32,19 @@ public class ModelTinkersSabatons extends ModelBiped
public ModelRenderer KneeGuardL;
public ModelRenderer KneeGuardCapR;
- public ModelTinkersSabatons()
+ public String[] colors;
+
+ public String[] textures;
+ public String defaultFolder;
+
+ public ModelTinkersSabatons(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;
@@ -105,8 +123,29 @@ public class ModelTinkersSabatons extends ModelBiped
@Override
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
- super.render(entity, f, f1, f2, f3, f4, f5);
- setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ GL11.glPushMatrix();
+
+ for(int i = 0; i<4; i++)
+ {
+ //TConstructRegistry.getCustomMaterial(arg0, arg1)
+ GL11.glPushMatrix();
+ ResourceLocation texture = new ResourceLocation("tinkersdefense:textures/" + defaultFolder + "/" + textures[i] + ".png");
+ //Boolean exists = new File(texture.getResourceDomain() + ":" + texture.getResourcePath()).exists();
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(texture);
+
+
+ float size =0.75f;
+ GL11.glScalef(1.0F / size, 1.0F / size, 1.0F / size);
+ GL11.glTranslatef(0.0F, -12.4F*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();
}
/**