summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-11-05 04:48:34 -0600
committerLance5057 <Lance5057@gmail.com>2015-11-05 04:48:34 -0600
commit1138bd307f49f8ae4913d836f5a43f827f60417b (patch)
treeb9a4431c09b65de04253bca2a7169437776a3278 /src/main/java
parent2b70895bbb350ba51e0aa3eebf772ca8267af0fe (diff)
Armor, Armor, ARMOR!
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/lance5057/tDefense/TinkersDefense.java106
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java141
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java33
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java (renamed from src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java)36
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java57
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java118
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java57
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java109
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java103
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java90
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java66
-rw-r--r--src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java120
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/Shears.java169
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/BotaniaToolMods.java54
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java72
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TdefenseToolMods.java51
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/modifiers/Modifiers.java59
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java109
-rw-r--r--src/main/java/lance5057/tDefense/proxy/ClientProxy.java6
19 files changed, 1254 insertions, 302 deletions
diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java
index 2f322cc..55723ef 100644
--- a/src/main/java/lance5057/tDefense/TinkersDefense.java
+++ b/src/main/java/lance5057/tDefense/TinkersDefense.java
@@ -3,11 +3,16 @@ package lance5057.tDefense;
import static net.minecraft.util.EnumChatFormatting.DARK_RED;
import static net.minecraft.util.EnumChatFormatting.GOLD;
import static net.minecraft.util.EnumChatFormatting.LIGHT_PURPLE;
+import lance5057.tDefense.armor.ArmorCore;
+import lance5057.tDefense.armor.events.ArmorRenderEvent;
import lance5057.tDefense.armor.items.ChainArmor;
import lance5057.tDefense.armor.items.ClothArmor;
import lance5057.tDefense.armor.items.Mask;
import lance5057.tDefense.armor.items.Sheath;
-import lance5057.tDefense.armor.items.TinkerArmor;
+import lance5057.tDefense.armor.items.heavy.TinkersBreastplate;
+import lance5057.tDefense.armor.items.heavy.TinkersGrieves;
+import lance5057.tDefense.armor.items.heavy.TinkersHelm;
+import lance5057.tDefense.armor.items.heavy.TinkersSabatons;
import lance5057.tDefense.armor.parts.Item_Cloth;
import lance5057.tDefense.armor.parts.Item_Glowthread;
import lance5057.tDefense.armor.parts.Item_Thread;
@@ -26,15 +31,10 @@ import lance5057.tDefense.core.liquids.moltenQueensGoldFluid;
import lance5057.tDefense.core.network.PacketHandler;
import lance5057.tDefense.core.tools.HeaterShield;
import lance5057.tDefense.core.tools.RoundShield;
+import lance5057.tDefense.core.tools.Shears;
import lance5057.tDefense.core.tools.TinkerWrench;
import lance5057.tDefense.core.tools.TinkerZweihander;
-import lance5057.tDefense.core.tools.modifiers.TDefenseActiveToolMod;
-import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofBlades;
-import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofFeathers;
-import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofLegends;
-import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofMirrors;
-import lance5057.tDefense.core.tools.modifiers.weapons.modifierDaze;
-import lance5057.tDefense.core.tools.modifiers.weapons.modifierTorchArrow;
+import lance5057.tDefense.core.tools.modifiers.Modifiers;
import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.FinishingAnvil;
import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.TileEntity_FinishingAnvil;
import lance5057.tDefense.proxy.CommonProxy;
@@ -42,8 +42,6 @@ import lance5057.tDefense.tileentities.TileEntity_JewelersBench;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ItemStack;
@@ -58,7 +56,6 @@ import tconstruct.library.client.TConstructClientRegistry;
import tconstruct.library.client.ToolGuiElement;
import tconstruct.library.crafting.FluidType;
import tconstruct.library.crafting.LiquidCasting;
-import tconstruct.library.crafting.ModifyBuilder;
import tconstruct.library.crafting.PatternBuilder;
import tconstruct.library.crafting.Smeltery;
import tconstruct.library.crafting.StencilBuilder;
@@ -97,6 +94,7 @@ public class TinkersDefense {
};
public static TDEventHandler TDevents;
+ public static ArmorRenderEvent AREvent;
public static TD_Config config;
@@ -105,6 +103,8 @@ public class TinkersDefense {
public static Item tabIcon;
+ public static Modifiers mods;
+
public static Item item_AeonSteelIngot;
public static Block block_AeonSteelBlock;
@@ -129,22 +129,24 @@ public class TinkersDefense {
public static ToolCore tool_sheath;
public static ToolCore tool_mask;
public static ToolCore tool_zweihander;
+ public static ToolCore tool_shears;
public static Block block_CrestMount;
public static Block block_ArmorAnvil;
public static Block block_JewelersBench;
- public static Item item_TinkerArmor;
+ public static ToolCore armor_TinkerHelm;
+ public static Item item_TinkerBreastplate;
+ public static Item item_TinkerGrieves;
+ public static Item item_TinkerSabatons;
+
public static Item item_ChainArmor;
public static Item item_ClothArmor;
-
public static Item item_thread;
public static Item item_glowthread;
public static Item item_cloth;
- public static Item item_relic;
-
public static Pattern woodPattern;
public static Pattern metalPattern;
@@ -162,8 +164,15 @@ public class TinkersDefense {
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
PacketHandler.init();
- //TDevents = new TDEventHandler();
+ TDevents = new TDEventHandler();
+
+ AREvent = new ArmorRenderEvent();
+ MinecraftForge.EVENT_BUS.register(AREvent);
+
config = new TD_Config(e);
+ mods = new Modifiers();
+
+ mods.init();
block_CrestMount = new CrestMount().setHardness(4.0F)
@@ -202,11 +211,8 @@ public class TinkersDefense {
tabIcon = new Item().setMaxStackSize(1).setCreativeTab(tabName).setUnlocalizedName("tabIcon").setTextureName(Reference.MOD_ID + ":Icon");
GameRegistry.registerItem(tabIcon, "tabIcon");
- item_relic = new Item().setCreativeTab(tabName).setMaxStackSize(1)
- .setUnlocalizedName("AncientRelic")
- .setTextureName(Reference.MOD_ID + ":AncientRelic");
- GameRegistry.registerItem(item_relic, "Ancient Relic");
+
// AeonSteel
item_AeonSteelIngot = new Item().setCreativeTab(tabName)
@@ -299,27 +305,35 @@ public class TinkersDefense {
tool_roundShield = new RoundShield();
tool_heaterShield = new HeaterShield();
+ tool_shears = new Shears();
tool_wrench = new TinkerWrench();
tool_sheath = new Sheath();
tool_mask = new Mask();
tool_zweihander = new TinkerZweihander(0);
-
+
+ armor_TinkerHelm = new TinkersHelm();
+
//Register Tools
+
GameRegistry.registerItem(tool_roundShield, "Round Shield");
GameRegistry.registerItem(tool_heaterShield, "Heater Shield");
+ GameRegistry.registerItem(tool_shears, "Tinker Shears");
GameRegistry.registerItem(tool_wrench, "Tinker Wrench");
GameRegistry.registerItem(tool_sheath, "Sheath");
GameRegistry.registerItem(tool_mask, "Mask");
GameRegistry.registerItem(tool_zweihander, "Zweihander");
+ GameRegistry.registerItem(armor_TinkerHelm,"tinkerhelm");
//Add Tools to TiCo directory
TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield);
TConstructRegistry.addItemToDirectory("Heater Shield", tool_heaterShield);
+ TConstructRegistry.addItemToDirectory("Tinker Shears", tool_shears);
TConstructRegistry.addItemToDirectory("Tinker Wrench", tool_wrench);
TConstructRegistry.addItemToDirectory("Sheath", tool_sheath);
TConstructRegistry.addItemToDirectory("Mask", tool_mask);
TConstructRegistry.addItemToDirectory("Zweihander", tool_zweihander);
+ TConstructRegistry.addItemToDirectory("tinkerhelm", armor_TinkerHelm);
//Register Items
GameRegistry.registerItem(item_thread = new Item_Thread(), "thread");
@@ -344,13 +358,17 @@ public class TinkersDefense {
// Renderers
proxy.registerRenderers();
-
- item_TinkerArmor = new TinkerArmor(ArmorMaterial.IRON, 4,
- 1).setUnlocalizedName("Tinker_Armor");
- GameRegistry.registerItem(item_TinkerArmor,"Tinker Armor");
+
+ item_TinkerBreastplate = new TinkersBreastplate(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Tinkers_Breastplate");
+ GameRegistry.registerItem(item_TinkerBreastplate,"Tinkers Breastplate");
+
+ item_TinkerGrieves = new TinkersGrieves(ArmorMaterial.IRON, 4, 2).setUnlocalizedName("Tinkers_Grieves");
+ GameRegistry.registerItem(item_TinkerGrieves,"Tinkers Grieves");
+
+ item_TinkerSabatons = new TinkersSabatons(ArmorMaterial.IRON, 4, 3).setUnlocalizedName("Tinkers_Sabatons");
+ GameRegistry.registerItem(item_TinkerSabatons,"Tinkers Sabatons");
- item_ChainArmor = new ChainArmor(ArmorMaterial.IRON, 4,
- 1).setUnlocalizedName("Chain_Armor");
+ item_ChainArmor = new ChainArmor(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Chain_Armor");
GameRegistry.registerItem(item_ChainArmor,"Chain Armor");
item_ClothArmor = new ClothArmor(ArmorMaterial.IRON, 4,
@@ -368,7 +386,7 @@ public class TinkersDefense {
@EventHandler
public void init(FMLInitializationEvent e) {
- System.out.print(Reference.MOD_ID);
+ //System.out.print(Reference.MOD_ID);
StencilBuilder.registerStencil(50, woodPattern, 0); // rivets
StencilBuilder.registerStencil(51, woodPattern, 1); // clasp
@@ -401,32 +419,7 @@ public class TinkersDefense {
PatternBuilder pb = PatternBuilder.instance;
- ModifyBuilder.registerModifier(new modifierDaze("Daze", config.DazeID, new ItemStack[] { new ItemStack(Blocks.light_weighted_pressure_plate), new ItemStack(Items.potionitem,1,8202)},
- new int[] {1,0}));
-
- //ModifyBuilder.registerModifier(new modifierTorchArrow(new ItemStack[] {new ItemStack(Blocks.glowstone)}, 12));
-
- ModifyBuilder.registerModifier(new modifierCrestofFeathers("Crest of Feathers", config.CrestFeathersID, new ItemStack[] { new ItemStack(Items.feather)},
- new int[] {1}));
-
- ModifyBuilder.registerModifier(new modifierCrestofMirrors("Crest of Mirrors", config.CrestMirrorsID, new ItemStack[] { new ItemStack(Blocks.glass_pane)},
- new int[] {1}));
-
- ModifyBuilder.registerModifier(new modifierCrestofLegends("Crest of Legends", config.CrestLegendsID, new ItemStack[] { new ItemStack(item_relic)},
- new int[] {1}));
-
- ModifyBuilder.registerModifier(new modifierCrestofBlades("Crest of Blades", config.CrestBladesID, new ItemStack[] { new ItemStack(Items.iron_sword)},new int[] {1}));
-
- TConstructRegistry.registerActiveToolMod(new TDefenseActiveToolMod());
-
- for (ToolCore tool : TConstructRegistry.getToolMapping())
- {
- TConstructClientRegistry.addEffectRenderMapping(tool, config.DazeID, "tinker", "daze", true);
- TConstructClientRegistry.addEffectRenderMapping(tool, config.CrestFeathersID, "tinker", "feathers", true);
- TConstructClientRegistry.addEffectRenderMapping(tool, config.CrestMirrorsID, "tinker", "mirrors", true);
- TConstructClientRegistry.addEffectRenderMapping(tool, config.CrestLegendsID, "tinker", "legends", true);
- TConstructClientRegistry.addEffectRenderMapping(tool, config.CrestBladesID, "tinker", "blades", true);
- }
+
TConstructClientRegistry.toolButtons
@@ -599,6 +592,9 @@ public class TinkersDefense {
TConstructRegistry.addToolRecipe(tool_wrench, TinkerTools.handGuard,
TinkerTools.toolRod, TinkerTools.binding);
+ TConstructRegistry.addToolRecipe(tool_shears, TinkerTools.knifeBlade,
+ TinkerTools.binding, TinkerTools.knifeBlade);
+
//Zweihander
TConstructRegistry.addToolRecipe(tool_zweihander, TinkerTools.largeSwordBlade,
TinkerTools.toughRod, TinkerTools.wideGuard, TinkerTools.swordBlade);
@@ -607,6 +603,8 @@ public class TinkersDefense {
TConstructRegistry.addToolRecipe(tool_sheath, partArmorplate,TinkerTools.toolRod, partCloth, partClasp);
TConstructRegistry.addToolRecipe(tool_mask, partArmorplate, partCloth, partClasp);
+ TConstructRegistry.addToolRecipe(armor_TinkerHelm, TinkerTools.frypanHead, TinkerTools.toughRod, partArmorplate);
+
tcInject = new Injector(0,TinkerTools.broadsword);
GameRegistry.registerItem(tcInject, "debugger");
}
diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
new file mode 100644
index 0000000..f4f52d7
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
@@ -0,0 +1,141 @@
+package lance5057.tDefense.armor;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+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.util.ResourceLocation;
+import net.minecraftforge.common.ISpecialArmor;
+import tconstruct.library.accessory.IAccessoryModel;
+import tconstruct.library.tools.ToolCore;
+
+public class ArmorCore extends ToolCore implements ISpecialArmor//, IAccessoryModel
+{
+ int slot;
+ public ModelBiped armorModel;
+
+ public ArmorCore(int baseProtection, int slot) {
+ super(baseProtection);
+
+ this.slot = slot;
+ }
+
+ @Override
+ public ArmorProperties getProperties(EntityLivingBase player,
+ ItemStack armor, DamageSource source, double damage, int slot)
+ {
+ return new ArmorProperties(0, 10, 100); //TODO figure this out
+ }
+
+ @Override
+ public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot)
+ {
+ return 1;
+ }
+
+ @Override
+ public boolean isValidArmor(ItemStack stack, int armorType, Entity entity)
+ {
+ return armorType == slot;
+ }
+
+ @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);
+ }
+ }
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ 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
+ }
+
+ @Override
+ public Item getAccessoryItem()
+ {
+ return null;
+ }
+
+ @Override
+ public String getDefaultFolder()
+ {
+ return null;
+ }
+
+ @Override
+ public String getEffectSuffix()
+ {
+ return null;
+ }
+
+ @Override
+ public Item getHeadItem()
+ {
+ return null;
+ }
+
+ @Override
+ public String getIconSuffix(int arg0)
+ {
+ return null;
+ }
+
+ @Override
+ public String[] getTraits() {
+ return new String[] {"armor"};
+ }
+
+// @Override
+// public ResourceLocation getWearbleTexture(Entity arg0, ItemStack arg1,
+// int arg2) {
+// // TODO Auto-generated method stub
+// return null;
+// }
+
+}
diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
new file mode 100644
index 0000000..e76325d
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/events/ArmorRenderEvent.java
@@ -0,0 +1,33 @@
+package lance5057.tDefense.armor.events;
+
+import lance5057.tDefense.armor.ArmorCore;
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.client.event.RenderPlayerEvent;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+
+public class ArmorRenderEvent
+{
+
+ @SubscribeEvent
+ public void renderArmorEvent(RenderPlayerEvent.Specials.Post event) {
+ if (event.entityPlayer != null)
+ {
+ for(int i = 0; i < 4 ; i++)
+ {
+ if(event.entityPlayer.inventory.armorItemInSlot(i) != null)
+ {
+ ItemStack Armor = event.entityPlayer.inventory.armorItemInSlot(i);
+
+ if(Armor.getItem() instanceof ArmorCore)
+ {
+ ArmorCore AArmor = ((ArmorCore)Armor.getItem());
+
+ AArmor.armorModel.render(event.entityPlayer, event.entityPlayer.limbSwing, event.entityPlayer.limbSwingAmount,event.entityPlayer.ticksExisted , event.entityPlayer.rotationYaw - event.entityPlayer.renderYawOffset, event.entityPlayer.rotationPitch, 0.0625f);
+ }
+ }
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
index 964d8ca..c5bde60 100644
--- a/src/main/java/lance5057/tDefense/armor/items/TinkerArmor.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersBreastplate.java
@@ -1,6 +1,6 @@
-package lance5057.tDefense.armor.items;
+package lance5057.tDefense.armor.items.heavy;
-import lance5057.tDefense.proxy.ClientProxy;
+import lance5057.tDefense.armor.renderers.heavy.ModelTinkersBreastplate;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
@@ -11,22 +11,22 @@ import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-public class TinkerArmor extends ItemArmor {
- public TinkerArmor(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
+public class TinkersBreastplate extends ItemArmor {
+ public TinkersBreastplate(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
super(par2EnumArmorMaterial, par3, par4);
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister par1IconRegister) {
- String itemName = "tinkersdefense:textures/armor/TinkerArmor";
+ String itemName = "tinkersdefense:textures/armor/TinkersBreastPlate";
this.itemIcon = par1IconRegister.registerIcon(itemName);
}
@Override
public String getArmorTexture(ItemStack stack, Entity entity, int slot,
String type) {
- return "tinkersdefense:textures/armor/TinkerArmor.png";
+ return "tinkersdefense:textures/armor/TinkersBreastPlate.png";
}
@Override
@@ -34,30 +34,10 @@ public class TinkerArmor extends ItemArmor {
public ModelBiped getArmorModel(EntityLivingBase entityLiving,
ItemStack itemStack, int armorSlot)
{
-
-// return ClientProxy.chain;
- ModelBiped armorModel = ClientProxy.mask;
+ ModelBiped armorModel = new ModelTinkersBreastplate();
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();
diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java
new file mode 100644
index 0000000..d0fd9f8
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersGrieves.java
@@ -0,0 +1,57 @@
+package lance5057.tDefense.armor.items.heavy;
+
+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.ItemStack;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class TinkersGrieves extends ItemArmor {
+ public TinkersGrieves(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
+ super(par2EnumArmorMaterial, par3, par4);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ String itemName = "tinkersdefense:textures/armor/TinkersGrieves";
+ this.itemIcon = par1IconRegister.registerIcon(itemName);
+ }
+
+ @Override
+ public String getArmorTexture(ItemStack stack, Entity entity, int slot,
+ String type) {
+ return "tinkersdefense:textures/armor/TinkersGrieves.png";
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public ModelBiped getArmorModel(EntityLivingBase entityLiving,
+ ItemStack itemStack, int armorSlot)
+ {
+ 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;
+ }
+ }
+ 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
new file mode 100644
index 0000000..6217bfd
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
@@ -0,0 +1,118 @@
+package lance5057.tDefense.armor.items.heavy;
+
+import tconstruct.library.tools.ToolCore;
+import tconstruct.tools.TinkerTools;
+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.client.renderer.texture.IIconRegister;
+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.ItemArmor;
+import net.minecraft.item.ItemArmor.ArmorMaterial;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class TinkersHelm extends ArmorCore
+{
+ public TinkersHelm() {
+ super(0,0);
+ this.setUnlocalizedName("tinkershelm");
+ armorModel = new ModelTinkersHelm();
+ }
+
+ @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_plates";
+ 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"};
+ }
+
+}
diff --git a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java
new file mode 100644
index 0000000..38078af
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersSabatons.java
@@ -0,0 +1,57 @@
+package lance5057.tDefense.armor.items.heavy;
+
+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.ItemStack;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+
+public class TinkersSabatons extends ItemArmor {
+ public TinkersSabatons(ArmorMaterial par2EnumArmorMaterial, int par3, int par4) {
+ super(par2EnumArmorMaterial, par3, par4);
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister par1IconRegister) {
+ String itemName = "tinkersdefense:textures/armor/TinkersSabatons";
+ this.itemIcon = par1IconRegister.registerIcon(itemName);
+ }
+
+ @Override
+ public String getArmorTexture(ItemStack stack, Entity entity, int slot,
+ String type) {
+ return "tinkersdefense:textures/armor/TinkersSabatons.png";
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public ModelBiped getArmorModel(EntityLivingBase entityLiving,
+ ItemStack itemStack, int armorSlot)
+ {
+ 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;
+ }
+ }
+ return armorModel;
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java b/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java
deleted file mode 100644
index d8d17d1..0000000
--- a/src/main/java/lance5057/tDefense/armor/renderers/ModelTinkerArmor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-// Date: 1/19/2015 11:08:25 PM
-// Template version 1.1
-// Java generated by Techne
-// Keep in mind that you still need to fill in some blanks
-// - ZeuX
-
-package lance5057.tDefense.armor.renderers;
-
-import net.minecraft.client.model.ModelBiped;
-import net.minecraft.client.model.ModelRenderer;
-import net.minecraft.entity.Entity;
-
-public class ModelTinkerArmor extends ModelBiped
-{
- //fields
- ModelRenderer BackPlate;
- ModelRenderer BreastPlate;
- ModelRenderer Plackart;
- ModelRenderer PauldronL;
- ModelRenderer ArmL;
- ModelRenderer PauldronR;
- ModelRenderer ArmR;
-
- public ModelTinkerArmor(float f)
- {
- super(f, 0, 64,64);
- textureWidth = 64;
- textureHeight = 64;
-
- BackPlate = new ModelRenderer(this, 0, 56);
- BackPlate.addBox(-4F, 0F, 1F, 8, 5, 3);
- BackPlate.setRotationPoint(0F, 0F, 0F);
- BackPlate.setTextureSize(64, 32);
- BackPlate.mirror = true;
- setRotation(BackPlate, -0.0872665F, 0F, 0F);
- this.bipedBody.addChild(BackPlate);
-
- BreastPlate = new ModelRenderer(this, 0, 32);
- BreastPlate.addBox(-4F, -1F, -5F, 8, 6, 4);
- BreastPlate.setRotationPoint(0F, 0F, 0F);
- BreastPlate.setTextureSize(64, 32);
- BreastPlate.mirror = true;
- setRotation(BreastPlate, 0.4363323F, 0F, 0F);
- this.bipedBody.addChild(BreastPlate);
-
- Plackart = new ModelRenderer(this, 0, 42);
- Plackart.addBox(-4F, 5F, -3F, 8, 7, 6);
- Plackart.setRotationPoint(0F, 0F, 0F);
- Plackart.setTextureSize(64, 32);
- Plackart.mirror = true;
- setRotation(Plackart, 0F, 0F, 0F);
- this.bipedBody.addChild(Plackart);
-
- PauldronL = new ModelRenderer(this, 28, 32);
- PauldronL.addBox(1F, -2F, -3.5F, 5, 5, 7);
- PauldronL.setRotationPoint(0F, 0F, 0F);
- PauldronL.setTextureSize(64, 32);
- PauldronL.mirror = true;
- setRotation(PauldronL, 0F, 0F, -0.7853982F);
- this.bipedLeftArm.addChild(PauldronL);
-
- ArmL = new ModelRenderer(this, 28, 44);
- ArmL.addBox(-1F, -2F, -3F, 5, 10, 6);
- ArmL.setRotationPoint(0F, 0F, 0F);
- ArmL.setTextureSize(64, 32);
- ArmL.mirror = true;
- setRotation(ArmL, 0F, 0F, 0F);
- this.bipedLeftArm.addChild(ArmL);
-
- PauldronR = new ModelRenderer(this, 28, 32);
- PauldronR.mirror = true;
- PauldronR.addBox(-6F, -2F, -3.5F, 5, 5, 7);
- PauldronR.setRotationPoint(0F, 0F, 0F);
- PauldronR.setTextureSize(64, 32);
- PauldronR.mirror = true;
- setRotation(PauldronR, 0F, 0F, 0.7853982F);
- PauldronR.mirror = false;
- this.bipedRightArm.addChild(PauldronR);
-
- ArmR = new ModelRenderer(this, 28, 44);
- ArmR.mirror = true;
- ArmR.addBox(-4F, -2F, -3F, 5, 10, 6);
- ArmR.setRotationPoint(0F, 0F, 0F);
- ArmR.setTextureSize(64, 32);
- ArmR.mirror = true;
- setRotation(ArmR, 0F, 0F, 0F);
- ArmR.mirror = false;
- this.bipedRightArm.addChild(ArmR);
- }
-
- 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);
- }
-
- private void setRotation(ModelRenderer model, float x, float y, float z)
- {
- model.rotateAngleX = x;
- model.rotateAngleY = y;
- model.rotateAngleZ = z;
- }
-
- public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
- {
- super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
- }
-
-}
diff --git a/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
new file mode 100644
index 0000000..519a56f
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersBreastplate.java
@@ -0,0 +1,103 @@
+package lance5057.tDefense.armor.renderers.heavy;
+
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+
+/**
+ * ModelBiped - Either Mojang or a mod author
+ * Created using Tabula 4.1.1
+ */
+public class ModelTinkersBreastplate extends ModelBiped
+{
+ public ModelRenderer BackPlate;
+ public ModelRenderer BreastPlate;
+ public ModelRenderer Plackart;
+ public ModelRenderer PauldronR;
+ public ModelRenderer ArmGuardR;
+ public ModelRenderer PauldronL;
+ public ModelRenderer ArmGuardL;
+ public ModelRenderer ArmL;
+ public ModelRenderer ArmR;
+ public ModelRenderer BreastPlateFront;
+
+ public ModelTinkersBreastplate()
+ {
+ super(1.1f, 0, 64,64);
+
+ this.textureWidth = 64;
+ this.textureHeight = 64;
+
+ this.BreastPlate = new ModelRenderer(this, 0, 32);
+ this.BreastPlate.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BreastPlate.addBox(-4.0F, 0.1F, -3.6F, 8, 6, 4, 0.1F);
+ this.bipedBody.addChild(this.BreastPlate);
+
+ this.BreastPlateFront = new ModelRenderer(this, 22, 56);
+ this.BreastPlateFront.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BreastPlateFront.addBox(-3.0F, 0.5F, -4.2F, 6, 4, 4, 0.1F);
+ this.bipedBody.addChild(this.BreastPlateFront);
+
+ this.Plackart = new ModelRenderer(this, 0, 42);
+ this.Plackart.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Plackart.addBox(-4.0F, 5.0F, -3.0F, 8, 7, 6, 0.0F);
+ this.bipedBody.addChild(this.Plackart);
+
+ this.ArmGuardR = new ModelRenderer(this, 28, 44);
+ this.ArmGuardR.mirror = true;
+ this.ArmGuardR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ArmGuardR.addBox(-4.0F, -2.1F, -3.0F, 5, 6, 6, 0.0F);
+ this.bipedRightArm.addChild(this.ArmGuardR);
+
+ this.ArmGuardL = new ModelRenderer(this, 28, 44);
+ this.ArmGuardL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ArmGuardL.addBox(-1.0F, -2.1F, -3.0F, 5, 6, 6, 0.0F);
+ this.bipedLeftArm.addChild(this.ArmGuardL);
+
+ this.PauldronR = new ModelRenderer(this, 24, 32);
+ this.PauldronR.mirror = true;
+ this.PauldronR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.PauldronR.addBox(-4.6F, -2.0F, -3.5F, 4, 5, 7, 0.0F);
+ this.setRotateAngle(PauldronR, 0.0F, -0.0F, 0.4363323129985824F);
+ this.bipedRightArm.addChild(this.PauldronR);
+
+ this.ArmL = new ModelRenderer(this, 48, 34);
+ 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.setRotateAngle(ArmL, 0.0F, 0.0F, 0.0017453292519943296F);
+ this.bipedLeftArm.addChild(this.ArmL);
+
+ this.ArmR = new ModelRenderer(this, 48, 34);
+ 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);
+
+ this.BackPlate = new ModelRenderer(this, 0, 56);
+ this.BackPlate.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BackPlate.addBox(-4.0F, 0.0F, 1.0F, 8, 5, 3, 0.0F);
+ this.setRotateAngle(BackPlate, -0.08726646006107329F, -0.0F, 0.0F);
+ this.bipedBody.addChild(this.BackPlate);
+
+ this.PauldronL = new ModelRenderer(this, 24, 32);
+ this.PauldronL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.PauldronL.addBox(0.5F, -2.0F, -3.5F, 4, 5, 7, 0.0F);
+ this.setRotateAngle(PauldronL, 0.0F, -0.0F, -0.4363323129985824F);
+ this.bipedLeftArm.addChild(this.PauldronL);
+ }
+
+ @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);
+ }
+
+ /**
+ * 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/ModelTinkersGrieves.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java
new file mode 100644
index 0000000..99ee68b
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersGrieves.java
@@ -0,0 +1,90 @@
+package lance5057.tDefense.armor.renderers.heavy;
+
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+
+/**
+ * TinkersGrieves - Either Mojang or a mod author
+ * Created using Tabula 4.1.1
+ */
+public class ModelTinkersGrieves extends ModelBiped {
+ public ModelRenderer LegPlateL;
+ public ModelRenderer CodPiece;
+ public ModelRenderer LegPlateBackL;
+ public ModelRenderer LegPlateBackR;
+ public ModelRenderer LegPlateR;
+ public ModelRenderer Belt;
+ public ModelRenderer LeftLeg;
+ public ModelRenderer RightLeg;
+
+ public ModelTinkersGrieves()
+ {
+ super(1.0f, 0, 64,64);
+
+ this.textureWidth = 64;
+ this.textureHeight = 64;
+
+ this.LegPlateBackL = new ModelRenderer(this, 0, 43);
+ this.LegPlateBackL.mirror = true;
+ this.LegPlateBackL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegPlateBackL.addBox(-2.0F, 0.0F, 1.2F, 4, 5, 1, 0.1F);
+ this.setRotateAngle(LegPlateBackL, 0.2617993877991494F, 0.0F, 0.0F);
+ this.bipedLeftLeg.addChild(this.LegPlateBackL);
+
+ this.LegPlateR = new ModelRenderer(this, 0, 32);
+ this.LegPlateR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegPlateR.addBox(1.1F, 0.0F, -1.9F, 1, 5, 4, 0.1F);
+ this.setRotateAngle(LegPlateR, 0.0F, 3.141592653589793F, 0.2617993877991494F);
+ this.bipedRightLeg.addChild(this.LegPlateR);
+
+ this.LeftLeg = new ModelRenderer(this, 32, 32);
+ this.LeftLeg.mirror = true;
+ this.LeftLeg.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LeftLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F);
+ this.bipedLeftLeg.addChild(this.LeftLeg);
+
+ this.LegPlateL = new ModelRenderer(this, 0, 32);
+ this.LegPlateL.mirror = true;
+ this.LegPlateL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegPlateL.addBox(1.1F, 0.0F, -2.1F, 1, 5, 4, 0.1F);
+ this.setRotateAngle(LegPlateL, 0.0F, 0.0F, -0.2617993877991494F);
+ this.bipedLeftLeg.addChild(this.LegPlateL);
+
+ this.CodPiece = new ModelRenderer(this, 0, 50);
+ this.CodPiece.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.CodPiece.addBox(-2.0F, 10.0F, -2.8F, 4, 4, 3, -0.4F);
+ this.bipedBody.addChild(this.CodPiece);
+
+ this.LegPlateBackR = new ModelRenderer(this, 0, 43);
+ this.LegPlateBackR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegPlateBackR.addBox(-2.0F, 0.0F, 1.2F, 4, 5, 1, 0.1F);
+ this.setRotateAngle(LegPlateBackR, 0.2617993877991494F, 0.0F, 0.0F);
+ this.bipedRightLeg.addChild(this.LegPlateBackR);
+
+ this.RightLeg = new ModelRenderer(this, 32, 32);
+ this.RightLeg.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.RightLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, 0.0F);
+ this.bipedRightLeg.addChild(this.RightLeg);
+
+ 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.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);
+ }
+
+ /**
+ * 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/ModelTinkersHelm.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
new file mode 100644
index 0000000..796489e
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersHelm.java
@@ -0,0 +1,66 @@
+package lance5057.tDefense.armor.renderers.heavy;
+
+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;
+
+/**
+ * TinkerHelm - Either Mojang or a mod author
+ * Created using Tabula 4.1.1
+ */
+public class ModelTinkersHelm extends ModelBiped
+{
+ public ModelRenderer Visor;
+ public ModelRenderer Helm;
+ public ModelRenderer Trim;
+
+ public ModelTinkersHelm()
+ {
+ super(1f, 0, 64,64);
+
+ this.textureWidth = 64;
+ this.textureHeight = 64;
+ this.Helm = new ModelRenderer(this, 0, 47);
+ this.Helm.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Helm.addBox(-4.0F, -8.0F, -4.0F, 8, 9, 8, 0.5F);
+ this.bipedHead.addChild(this.Helm);
+
+ this.Visor = new ModelRenderer(this, 0, 32);
+ this.Visor.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Visor.addBox(-4.5F, -6.5F, -4.7F, 9, 5, 8, 0.1F);
+ this.bipedHead.addChild(this.Visor);
+
+ this.Trim = new ModelRenderer(this, 44, 47);
+ this.Trim.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.Trim.addBox(-1.0F, -8.3F, -4.0F, 2, 9, 8, 0.7F);
+ this.bipedHead.addChild(this.Trim);
+ }
+
+ @Override
+ public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
+ {
+ GL11.glPushMatrix();
+
+ GL11.glTranslatef(0f, -1f, 0f);
+
+ FMLClientHandler.instance().getClient().renderEngine.bindTexture(new ResourceLocation("tinkersdefense:textures/armor/TinkersHelm.png"));
+
+ super.render(entity, f, f1, f2, f3, f4, f5);
+ GL11.glPopMatrix();
+
+ setRotationAngles(f, f1, f2, f3, f4, f5, entity);
+ }
+
+ /**
+ * 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/ModelTinkersSabatons.java b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java
new file mode 100644
index 0000000..572f4cb
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/armor/renderers/heavy/ModelTinkersSabatons.java
@@ -0,0 +1,120 @@
+package lance5057.tDefense.armor.renderers.heavy;
+
+import net.minecraft.client.model.ModelBiped;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+
+/**
+ * ModelBiped - Either Mojang or a mod author
+ * Created using Tabula 4.1.1
+ */
+public class ModelTinkersSabatons extends ModelBiped
+{
+ public ModelRenderer BootL;
+ public ModelRenderer KneeGuardR;
+ public ModelRenderer ShinGuardL;
+ public ModelRenderer KneeGuardCapL;
+ public ModelRenderer LegBackL;
+ public ModelRenderer BootR;
+ public ModelRenderer ShinGuardR;
+ public ModelRenderer BootCapR;
+ public ModelRenderer BootCapL;
+ public ModelRenderer LegBackR;
+ public ModelRenderer KneeGuardL;
+ public ModelRenderer KneeGuardCapR;
+
+ public ModelTinkersSabatons()
+ {
+ super(1f, 0, 64,64);
+
+ this.textureWidth = 64;
+ this.textureHeight = 64;
+
+ this.ShinGuardL = new ModelRenderer(this, 0, 48);
+ this.ShinGuardL.mirror = true;
+ this.ShinGuardL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ShinGuardL.addBox(-2.0F, 4.0F, -2.6F, 4, 5, 3, 0.11F);
+ this.setRotateAngle(ShinGuardL, 0.05759586531581287F, 0.0F, 0.0F);
+ this.bipedLeftLeg.addChild(this.ShinGuardL);
+
+ this.KneeGuardL = new ModelRenderer(this, 6, 32);
+ this.KneeGuardL.mirror = true;
+ this.KneeGuardL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.KneeGuardL.addBox(-2.0F, 3.0F, -2.5F, 4, 3, 4, 0.2F);
+ this.bipedLeftLeg.addChild(this.KneeGuardL);
+
+ this.BootL = new ModelRenderer(this, 0, 56);
+ this.BootL.mirror = true;
+ this.BootL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BootL.addBox(-2.0F, 9.0F, -3.0F, 4, 3, 5, 0.2F);
+ this.bipedLeftLeg.addChild(this.BootL);
+
+ this.KneeGuardCapL = new ModelRenderer(this, 0, 37);
+ this.KneeGuardCapL.mirror = true;
+ this.KneeGuardCapL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.KneeGuardCapL.addBox(-1.0F, 2.4F, -3.0F, 2, 2, 1, 0.2F);
+ this.bipedLeftLeg.addChild(this.KneeGuardCapL);
+
+ this.KneeGuardR = new ModelRenderer(this, 6, 32);
+ this.KneeGuardR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.KneeGuardR.addBox(-2.0F, 3.0F, -2.5F, 4, 3, 4, 0.2F);
+ this.bipedRightLeg.addChild(this.KneeGuardR);
+
+ this.LegBackL = new ModelRenderer(this, 0, 40);
+ this.LegBackL.mirror = true;
+ this.LegBackL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegBackL.addBox(-2.0F, 3.0F, -2.6F, 4, 6, 2, 0.1F);
+ this.setRotateAngle(LegBackL, 0.05759586531581287F, 3.141592653589793F, 0.0F);
+ this.bipedLeftLeg.addChild(this.LegBackL);
+
+ this.BootCapL = new ModelRenderer(this, 0, 33);
+ this.BootCapL.mirror = true;
+ this.BootCapL.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BootCapL.addBox(-1.0F, 9.1F, -5.2F, 2, 2, 1, 0.2F);
+ this.setRotateAngle(BootCapL, 0.17453292519943295F, 0.0F, 0.0F);
+ this.bipedLeftLeg.addChild(this.BootCapL);
+
+ this.KneeGuardCapR = new ModelRenderer(this, 0, 37);
+ this.KneeGuardCapR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.KneeGuardCapR.addBox(-1.0F, 2.4F, -3.0F, 2, 2, 1, 0.2F);
+ this.bipedRightLeg.addChild(this.KneeGuardCapR);
+
+ this.BootR = new ModelRenderer(this, 0, 56);
+ this.BootR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BootR.addBox(-2.0F, 9.0F, -3.0F, 4, 3, 5, 0.2F);
+ this.bipedRightLeg.addChild(this.BootR);
+
+ this.ShinGuardR = new ModelRenderer(this, 0, 48);
+ this.ShinGuardR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.ShinGuardR.addBox(-2.0F, 4.0F, -2.6F, 4, 5, 3, 0.11F);
+ this.setRotateAngle(ShinGuardR, 0.05759586531581287F, 0.0F, 0.0F);
+ this.bipedRightLeg.addChild(this.ShinGuardR);
+
+ this.LegBackR = new ModelRenderer(this, 0, 40);
+ this.LegBackR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.LegBackR.addBox(-2.0F, 3.0F, -2.6F, 4, 6, 2, 0.1F);
+ this.setRotateAngle(LegBackR, 0.05759586531581287F, 3.141592653589793F, 0.0F);
+ this.bipedRightLeg.addChild(this.LegBackR);
+
+ this.BootCapR = new ModelRenderer(this, 0, 33);
+ this.BootCapR.setRotationPoint(0.0F, 0.0F, 0.0F);
+ this.BootCapR.addBox(-1.0F, 9.1F, -5.2F, 2, 2, 1, 0.2F);
+ this.setRotateAngle(BootCapR, 0.17453292519943295F, 0.0F, 0.0F);
+ this.bipedRightLeg.addChild(this.BootCapR);
+ }
+
+ @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);
+ }
+
+ /**
+ * 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/core/tools/Shears.java b/src/main/java/lance5057/tDefense/core/tools/Shears.java
new file mode 100644
index 0000000..bade000
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/Shears.java
@@ -0,0 +1,169 @@
+package lance5057.tDefense.core.tools;
+
+import java.util.ArrayList;
+import java.util.Random;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.enchantment.EnchantmentHelper;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.StatList;
+import net.minecraft.world.World;
+import net.minecraftforge.common.IShearable;
+import tconstruct.library.tools.ToolCore;
+import tconstruct.tools.TinkerTools;
+
+public class Shears extends ToolCore
+{
+
+ public Shears() {
+ super(0);
+ }
+
+ @Override
+ public String getDefaultFolder() {
+ return "shears";
+ }
+
+ @Override
+ public String getEffectSuffix() {
+ return "_shears_effect";
+ }
+
+ @Override
+ public int getPartAmount() {
+ return 3;
+ }
+
+ @Override
+ public Item getHeadItem() {
+ return TinkerTools.knifeBlade;
+ }
+
+ @Override
+ public Item getAccessoryItem() {
+ return TinkerTools.knifeBlade;
+ }
+
+ @Override
+ public Item getHandleItem() {
+ return TinkerTools.binding;
+ }
+
+ @Override
+ public String getIconSuffix(int partType) {
+ switch (partType) {
+ case 0:
+ return "_shears_top";
+ case 1:
+ return "_shears_top_broken";
+ case 2:
+ return "_shears_binding";
+ case 3:
+ return "_shears_bottom";
+ default:
+ return "";
+ }
+ }
+
+ @Override
+ public String[] getTraits() {
+ return new String[] { "shears"};
+ }
+
+ public boolean onBlockDestroyed(ItemStack p_150894_1_, World p_150894_2_, Block p_150894_3_, int p_150894_4_, int p_150894_5_, int p_150894_6_, EntityLivingBase p_150894_7_)
+ {
+ if (p_150894_3_.getMaterial() != Material.leaves && p_150894_3_ != Blocks.web && p_150894_3_ != Blocks.tallgrass && p_150894_3_ != Blocks.vine && p_150894_3_ != Blocks.tripwire && !(p_150894_3_ instanceof IShearable))
+ {
+ return super.onBlockDestroyed(p_150894_1_, p_150894_2_, p_150894_3_, p_150894_4_, p_150894_5_, p_150894_6_, p_150894_7_);
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ public boolean func_150897_b(Block p_150897_1_)
+ {
+ return p_150897_1_ == Blocks.web || p_150897_1_ == Blocks.redstone_wire || p_150897_1_ == Blocks.tripwire;
+ }
+
+ public float func_150893_a(ItemStack p_150893_1_, Block p_150893_2_)
+ {
+ return p_150893_2_ != Blocks.web && p_150893_2_.getMaterial() != Material.leaves ? (p_150893_2_ == Blocks.wool ? 5.0F : super.func_150893_a(p_150893_1_, p_150893_2_)) : 15.0F;
+ }
+
+ /**
+ * Returns true if the item can be used on the given entity, e.g. shears on sheep.
+ */
+ @Override
+ public boolean itemInteractionForEntity(ItemStack itemstack, EntityPlayer player, EntityLivingBase entity)
+ {
+ if (entity.worldObj.isRemote)
+ {
+ return false;
+ }
+ if (entity instanceof IShearable)
+ {
+ IShearable target = (IShearable)entity;
+ if (target.isShearable(itemstack, entity.worldObj, (int)entity.posX, (int)entity.posY, (int)entity.posZ))
+ {
+ ArrayList<ItemStack> drops = target.onSheared(itemstack, entity.worldObj, (int)entity.posX, (int)entity.posY, (int)entity.posZ,
+ EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, itemstack));
+
+ Random rand = new Random();
+ for(ItemStack stack : drops)
+ {
+ EntityItem ent = entity.entityDropItem(stack, 1.0F);
+ ent.motionY += rand.nextFloat() * 0.05F;
+ ent.motionX += (rand.nextFloat() - rand.nextFloat()) * 0.1F;
+ ent.motionZ += (rand.nextFloat() - rand.nextFloat()) * 0.1F;
+ }
+ itemstack.damageItem(1, entity);
+ }
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public boolean onBlockStartBreak(ItemStack itemstack, int x, int y, int z, EntityPlayer player)
+ {
+ if (player.worldObj.isRemote)
+ {
+ return false;
+ }
+ Block block = player.worldObj.getBlock(x, y, z);
+ if (block instanceof IShearable)
+ {
+ IShearable target = (IShearable)block;
+ if (target.isShearable(itemstack, player.worldObj, x, y, z))
+ {
+ ArrayList<ItemStack> drops = target.onSheared(itemstack, player.worldObj, x, y, z,
+ EnchantmentHelper.getEnchantmentLevel(Enchantment.fortune.effectId, itemstack));
+ Random rand = new Random();
+
+ for(ItemStack stack : drops)
+ {
+ float f = 0.7F;
+ double d = (double)(rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
+ double d1 = (double)(rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
+ double d2 = (double)(rand.nextFloat() * f) + (double)(1.0F - f) * 0.5D;
+ EntityItem entityitem = new EntityItem(player.worldObj, (double)x + d, (double)y + d1, (double)z + d2, stack);
+ entityitem.delayBeforeCanPickup = 10;
+ player.worldObj.spawnEntityInWorld(entityitem);
+ }
+
+ itemstack.damageItem(1, player);
+ player.addStat(StatList.mineBlockStatArray[Block.getIdFromBlock(block)], 1);
+ }
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/BotaniaToolMods.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/BotaniaToolMods.java
new file mode 100644
index 0000000..0ce9eb2
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/BotaniaToolMods.java
@@ -0,0 +1,54 @@
+package lance5057.tDefense.core.tools.modifiers.ActiveToolMods;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.world.World;
+import tconstruct.library.TConstructRegistry;
+import tconstruct.library.tools.ToolCore;
+import vazkii.botania.common.entity.EntityManaBurst;
+import vazkii.botania.common.item.ModItems;
+import vazkii.botania.common.item.equipment.tool.ToolCommons;
+import vazkii.botania.common.item.equipment.tool.terrasteel.ItemTerraSword;
+import cpw.mods.fml.common.Optional;
+
+@Optional.InterfaceList({
+ @Optional.Interface(modid = "botania", iface = "vazkii.botania.common.entity.EntityManaBurst"),
+ @Optional.Interface(modid = "botania", iface = "vazkii.botania.common.item.ModItems"),
+ @Optional.Interface(modid = "botania", iface = "vazkii.botania.common.item.equipment.tool.ToolCommons"),
+ @Optional.Interface(modid = "botania", iface = "vazkii.botania.common.item.equipment.tool.terrasteel.ItemTerraSword"),
+})
+
+public class BotaniaToolMods {
+ public void UpdateAll(ToolCore tool, ItemStack stack, World world, Entity entity, NBTTagCompound tags)
+ {
+ UpdateTerraCore(tool, stack, world, entity, tags);
+ }
+
+ public void UpdateTerraCore(ToolCore tool, ItemStack stack, World world, Entity entity, NBTTagCompound tags)
+ {
+ if(entity instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) entity;
+ PotionEffect haste = player.getActivePotionEffect(Potion.digSpeed);
+ float check = haste == null ? 0.16666667F : haste.getAmplifier() == 1 ? 0.5F : 0.4F;
+
+ if(player.getCurrentEquippedItem() == stack && player.swingProgress == check && !world.isRemote && world.rand.nextInt(2) == 0)
+ {
+ int color = TConstructRegistry.getMaterial(tags.getInteger("Head")).primaryColor();
+ EntityManaBurst burst = ((ItemTerraSword)ModItems.terraSword).getBurst(player, new ItemStack(ModItems.terraSword));
+ burst.setColor(color);
+ world.spawnEntityInWorld(burst);
+ ToolCommonSoundAtEntity(player, "botania:terraBlade", 0.4F, 1.4F);
+ }
+ }
+ }
+
+ private void ToolCommonSoundAtEntity(EntityPlayer player, String string,
+ float f, float g) {
+ // TODO Auto-generated method stub
+
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java
new file mode 100644
index 0000000..91b76a7
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TDefenseActiveToolMod.java
@@ -0,0 +1,72 @@
+package lance5057.tDefense.core.tools.modifiers.ActiveToolMods;
+
+import java.util.Random;
+
+import cpw.mods.fml.common.Loader;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.world.World;
+import tconstruct.library.ActiveToolMod;
+import tconstruct.library.tools.ToolCore;
+
+
+
+public class TDefenseActiveToolMod extends ActiveToolMod
+{
+ TdefenseToolMods TDMods = new TdefenseToolMods();
+ BotaniaToolMods FlowerMods = new BotaniaToolMods();
+
+
+ @Override
+ public void updateTool(ToolCore tool, ItemStack stack, World world, Entity entity)
+ {
+ NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
+
+ if (!tags.getBoolean("Broken"))
+ {
+ //TDefense
+ TDMods.UpdateAll(tool, stack, world, entity, tags);
+
+ //Botania
+ if(Loader.isModLoaded("Botania"))
+ {
+ FlowerMods.UpdateAll(tool, stack, world, entity, tags);
+ }
+
+ }
+ }
+
+ @Override
+
+ public int baseAttackDamage(int earlyModDamage, int damage, ToolCore tool,
+ NBTTagCompound tags, NBTTagCompound toolTags, ItemStack stack,
+ EntityLivingBase player, Entity entity) {
+ if (!toolTags.hasKey("Broken")) {
+ if (toolTags.hasKey("Daze")) {
+ int[] array = toolTags.getIntArray("Daze");
+ int chance = array[0] * 5;
+
+ Random roll = new Random();
+ int num = roll.nextInt(100) + 1;
+
+ if (num <= chance) {
+ ((EntityLivingBase) entity)
+ .addPotionEffect(new PotionEffect(2, 3 * 20, 100));
+ ((EntityLivingBase) entity)
+ .addPotionEffect(new PotionEffect(9, 3 * 20, 100));
+ ((EntityLivingBase) entity)
+ .addPotionEffect(new PotionEffect(15, 3 * 20, 100));
+ ((EntityLivingBase) entity)
+ .addPotionEffect(new PotionEffect(18, 3 * 20, 100));
+ }
+ }
+ }
+
+ return 0;
+ }
+
+
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TdefenseToolMods.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TdefenseToolMods.java
new file mode 100644
index 0000000..d75ec13
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/ActiveToolMods/TdefenseToolMods.java
@@ -0,0 +1,51 @@
+package lance5057.tDefense.core.tools.modifiers.ActiveToolMods;
+
+import java.util.ArrayList;
+
+import mods.battlegear2.api.core.IBattlePlayer;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.projectile.EntityFireball;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.World;
+import tconstruct.library.tools.ToolCore;
+
+public class TdefenseToolMods
+{
+ public void UpdateAll(ToolCore tool, ItemStack stack, World world, Entity entity, NBTTagCompound tags)
+ {
+ if(tags.hasKey("Crest of Mirrors"))
+ UpdateMirrors(tool, stack, world, entity);
+ }
+
+ public void UpdateMirrors(ToolCore tool, ItemStack stack, World world, Entity entity)
+ {
+ if(((IBattlePlayer)entity).isBlockingWithShield())
+ {
+ AxisAlignedBB boundingBox = AxisAlignedBB.getBoundingBox(((EntityLivingBase)entity).posX - 3, ((EntityLivingBase)entity).posY - 3, ((EntityLivingBase)entity).posZ - 3, ((EntityLivingBase)entity).posX + 3, ((EntityLivingBase)entity).posY + 3, ((EntityLivingBase)entity).posZ + 3);
+
+ ArrayList<EntityFireball> fireballs = (ArrayList<EntityFireball>) world.getEntitiesWithinAABB(EntityFireball.class, boundingBox);
+ for (EntityFireball fireball : fireballs)
+ {
+ if (fireball.getDistanceSqToEntity(((EntityLivingBase)entity)) <= 25)
+ {
+ Vec3 playerlook = ((EntityLivingBase)entity).getLookVec();
+
+ fireball.motionX = playerlook.xCoord;
+ fireball.motionY = playerlook.yCoord;
+ fireball.motionZ = playerlook.zCoord;
+ fireball.accelerationX = fireball.motionX * 0.1D;
+ fireball.accelerationY = fireball.motionY * 0.1D;
+ fireball.accelerationZ = fireball.motionZ * 0.1D;
+
+ fireball.shootingEntity = ((EntityLivingBase)entity);
+
+ ((EntityLivingBase)entity).worldObj.playSoundAtEntity(((EntityLivingBase)entity), "battlegear2:shield", 1, 1);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/Modifiers.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/Modifiers.java
new file mode 100644
index 0000000..de0b82f
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/modifiers/Modifiers.java
@@ -0,0 +1,59 @@
+package lance5057.tDefense.core.tools.modifiers;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.TinkersDefense;
+import lance5057.tDefense.core.tools.modifiers.ActiveToolMods.TDefenseActiveToolMod;
+import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofBlades;
+import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofFeathers;
+import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofLegends;
+import lance5057.tDefense.core.tools.modifiers.shields.modifierCrestofMirrors;
+import lance5057.tDefense.core.tools.modifiers.weapons.modifierDaze;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import tconstruct.library.TConstructRegistry;
+import tconstruct.library.client.TConstructClientRegistry;
+import tconstruct.library.crafting.ModifyBuilder;
+import tconstruct.library.tools.ToolCore;
+
+public class Modifiers
+{
+ public static Item item_relic;
+
+ public void init()
+ {
+ item_relic = new Item().setCreativeTab(TinkersDefense.tabName).setMaxStackSize(1)
+ .setUnlocalizedName("AncientRelic")
+ .setTextureName(Reference.MOD_ID + ":AncientRelic");
+ GameRegistry.registerItem(item_relic, "Ancient Relic");
+
+ ModifyBuilder.registerModifier(new modifierDaze("Daze", TinkersDefense.config.DazeID, new ItemStack[] { new ItemStack(Blocks.light_weighted_pressure_plate), new ItemStack(Items.potionitem,1,8202)},
+ new int[] {1,0}));
+
+ //ModifyBuilder.registerModifier(new modifierTorchArrow(new ItemStack[] {new ItemStack(Blocks.glowstone)}, 12));
+
+ ModifyBuilder.registerModifier(new modifierCrestofFeathers("Crest of Feathers", TinkersDefense.config.CrestFeathersID, new ItemStack[] { new ItemStack(Items.feather)},
+ new int[] {1}));
+
+ ModifyBuilder.registerModifier(new modifierCrestofMirrors("Crest of Mirrors", TinkersDefense.config.CrestMirrorsID, new ItemStack[] { new ItemStack(Blocks.glass_pane)},
+ new int[] {1}));
+
+ ModifyBuilder.registerModifier(new modifierCrestofLegends("Crest of Legends", TinkersDefense.config.CrestLegendsID, new ItemStack[] { new ItemStack(item_relic)},
+ new int[] {1}));
+
+ ModifyBuilder.registerModifier(new modifierCrestofBlades("Crest of Blades", TinkersDefense.config.CrestBladesID, new ItemStack[] { new ItemStack(Items.iron_sword)},new int[] {1}));
+
+ TConstructRegistry.registerActiveToolMod(new TDefenseActiveToolMod());
+
+ for (ToolCore tool : TConstructRegistry.getToolMapping())
+ {
+ TConstructClientRegistry.addEffectRenderMapping(tool, TinkersDefense.config.DazeID, "tinker", "daze", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, TinkersDefense.config.CrestFeathersID, "tinker", "feathers", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, TinkersDefense.config.CrestMirrorsID, "tinker", "mirrors", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, TinkersDefense.config.CrestLegendsID, "tinker", "legends", true);
+ TConstructClientRegistry.addEffectRenderMapping(tool, TinkersDefense.config.CrestBladesID, "tinker", "blades", true);
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java b/src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java
deleted file mode 100644
index 7fffad4..0000000
--- a/src/main/java/lance5057/tDefense/core/tools/modifiers/TDefenseActiveToolMod.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package lance5057.tDefense.core.tools.modifiers;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-import mods.battlegear2.api.core.IBattlePlayer;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.projectile.EntityFireball;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.Vec3;
-import net.minecraft.world.World;
-import tconstruct.library.ActiveToolMod;
-import tconstruct.library.tools.ToolCore;
-import vazkii.botania.common.entity.EntityManaBurst;
-import vazkii.botania.common.item.ModItems;
-import vazkii.botania.common.item.equipment.tool.ToolCommons;
-import vazkii.botania.common.item.equipment.tool.terrasteel.ItemTerraSword;
-
-public class TDefenseActiveToolMod extends ActiveToolMod
-{
- @Override
- public void updateTool(ToolCore tool, ItemStack stack, World world, Entity entity)
- {
- NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
-
- if (!tags.getBoolean("Broken"))
- {
- //Crest of Mirrors
- if(((IBattlePlayer)entity).isBlockingWithShield())
- {
- if(tags.hasKey("Crest of Mirrors"))
- {
- AxisAlignedBB boundingBox = AxisAlignedBB.getBoundingBox(((EntityLivingBase)entity).posX - 3, ((EntityLivingBase)entity).posY - 3, ((EntityLivingBase)entity).posZ - 3, ((EntityLivingBase)entity).posX + 3, ((EntityLivingBase)entity).posY + 3, ((EntityLivingBase)entity).posZ + 3);
-
- ArrayList<EntityFireball> fireballs = (ArrayList<EntityFireball>) world.getEntitiesWithinAABB(EntityFireball.class, boundingBox);
- for (EntityFireball fireball : fireballs)
- {
- if (fireball.getDistanceSqToEntity(((EntityLivingBase)entity)) <= 25)
- {
- Vec3 playerlook = ((EntityLivingBase)entity).getLookVec();
-
- fireball.motionX = playerlook.xCoord;
- fireball.motionY = playerlook.yCoord;
- fireball.motionZ = playerlook.zCoord;
- fireball.accelerationX = fireball.motionX * 0.1D;
- fireball.accelerationY = fireball.motionY * 0.1D;
- fireball.accelerationZ = fireball.motionZ * 0.1D;
-
- fireball.shootingEntity = ((EntityLivingBase)entity);
-
- ((EntityLivingBase)entity).worldObj.playSoundAtEntity(((EntityLivingBase)entity), "battlegear2:shield", 1, 1);
- }
- }
- }
- }
-
- if(entity instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) entity;
- PotionEffect haste = player.getActivePotionEffect(Potion.digSpeed);
- float check = haste == null ? 0.16666667F : haste.getAmplifier() == 1 ? 0.5F : 0.4F;
-
- if(player.getCurrentEquippedItem() == stack && player.swingProgress == check && !world.isRemote && world.rand.nextInt(2) == 0)
- {
- EntityManaBurst burst = ((ItemTerraSword)ModItems.terraSword).getBurst(player, new ItemStack(ModItems.terraSword));
- world.spawnEntityInWorld(burst);
- ToolCommons.damageItem(stack, 1, player, 100);
- world.playSoundAtEntity(player, "botania:terraBlade", 0.4F, 1.4F);
- }
- }
- }
- }
-
- @Override
-
- public int baseAttackDamage(int earlyModDamage, int damage, ToolCore tool,
- NBTTagCompound tags, NBTTagCompound toolTags, ItemStack stack,
- EntityLivingBase player, Entity entity) {
- if (!toolTags.hasKey("Broken")) {
- if (toolTags.hasKey("Daze")) {
- int[] array = toolTags.getIntArray("Daze");
- int chance = array[0] * 5;
-
- Random roll = new Random();
- int num = roll.nextInt(100) + 1;
-
- if (num <= chance) {
- ((EntityLivingBase) entity)
- .addPotionEffect(new PotionEffect(2, 3 * 20, 100));
- ((EntityLivingBase) entity)
- .addPotionEffect(new PotionEffect(9, 3 * 20, 100));
- ((EntityLivingBase) entity)
- .addPotionEffect(new PotionEffect(15, 3 * 20, 100));
- ((EntityLivingBase) entity)
- .addPotionEffect(new PotionEffect(18, 3 * 20, 100));
- }
- }
- }
-
- return 0;
- }
-
-
-}
diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
index 7f6364c..31eaa24 100644
--- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
@@ -4,7 +4,6 @@ import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.renderers.ModelChainArmor;
import lance5057.tDefense.armor.renderers.ModelClothArmor;
import lance5057.tDefense.armor.renderers.ModelMask;
-import lance5057.tDefense.armor.renderers.ModelTinkerArmor;
import lance5057.tDefense.core.blocks.crestMount.Renderer_CrestMount;
import lance5057.tDefense.core.blocks.crestMount.TileEntity_CrestMount;
import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.Renderer_FinishingAnvil;
@@ -17,7 +16,6 @@ import tconstruct.client.FlexibleToolRenderer;
import cpw.mods.fml.client.registry.ClientRegistry;
public class ClientProxy extends CommonProxy {
- public static final ModelTinkerArmor tutChest = new ModelTinkerArmor(1.0f);
//public static final ModelSheath sheath = new ModelSheath();
public static final ModelChainArmor chain = new ModelChainArmor(0.1f);
public static final ModelClothArmor cloth = new ModelClothArmor();
@@ -33,8 +31,12 @@ public class ClientProxy extends CommonProxy {
TinkersDefense.tool_heaterShield, renderer);
MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_wrench,
renderer);
+ MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_shears,
+ renderer);
MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_zweihander,
renderer);
+ MinecraftForgeClient.registerItemRenderer(TinkersDefense.armor_TinkerHelm,
+ renderer);
ClientRegistry.bindTileEntitySpecialRenderer(
TileEntity_CrestMount.class, new Renderer_CrestMount());