summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense/armor
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2016-04-15 05:42:59 -0500
committerLance5057 <Lance5057@gmail.com>2016-04-15 05:42:59 -0500
commitf0dbe7a46426355f9eab6eb3933277664baafc57 (patch)
tree3fff3330cdb53028d2db89c8ca2634a8c7ea58ce /src/main/java/lance5057/tDefense/armor
parent03b859cf0b85c9ad5ce10d71164634091b0acb4b (diff)
Added Vis repair modifier, refactored modifiers, fixed optional integration
Diffstat (limited to 'src/main/java/lance5057/tDefense/armor')
-rw-r--r--src/main/java/lance5057/tDefense/armor/ArmorCore.java35
-rw-r--r--src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java18
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java7
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java3
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java3
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java3
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java6
-rw-r--r--src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java8
-rw-r--r--src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java44
9 files changed, 77 insertions, 50 deletions
diff --git a/src/main/java/lance5057/tDefense/armor/ArmorCore.java b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
index b68210c..f92fffe 100644
--- a/src/main/java/lance5057/tDefense/armor/ArmorCore.java
+++ b/src/main/java/lance5057/tDefense/armor/ArmorCore.java
@@ -1,5 +1,6 @@
package lance5057.tDefense.armor;
+import lance5057.tDefense.TDIntegration;
import lance5057.tDefense.TinkersDefense;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
@@ -14,18 +15,20 @@ import net.minecraftforge.common.ISpecialArmor;
import tconstruct.library.tools.AbilityHelper;
import tconstruct.library.tools.ToolCore;
import thaumcraft.api.IRunicArmor;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IRunicArmor", striprefs = true)})
public class ArmorCore extends ToolCore implements ISpecialArmor, IRunicArmor
{
int slot;
public float reductionPercent = 0f;
protected int maxReduction = 100;
-
+
//Thaumcraft
- boolean Charge = false;
-
+ boolean Charge = false;
+
public ArmorCore(int baseProtection, int slot)
{
super(baseProtection);
@@ -134,25 +137,27 @@ public class ArmorCore extends ToolCore implements ISpecialArmor, IRunicArmor
{
return 0;
}
-
+
@Override
public void onUpdate(ItemStack stack, World world, Entity ent, int p_77663_4_, boolean p_77663_5_)
{
//Check if runic shielding level has changed
-
- NBTTagCompound tcTag = stack.getTagCompound();
- NBTTagCompound ticoTag = stack.getTagCompound().getCompoundTag("InfiTool");
-
- byte rs = tcTag.getByte("RS.HARDEN");
- if(!Charge && rs > 0)
+ if(TDIntegration.thaumcraft)
{
- if(ticoTag.getInteger("Modifiers") > 0)
+ NBTTagCompound tcTag = stack.getTagCompound();
+ NBTTagCompound ticoTag = stack.getTagCompound().getCompoundTag("InfiTool");
+
+ byte rs = tcTag.getByte("RS.HARDEN");
+ if(!Charge && rs > 0)
{
- ticoTag.setInteger("Modifiers", ticoTag.getInteger("Modifiers") - 1);
- Charge = true;
+ if(ticoTag.getInteger("Modifiers") > 0)
+ {
+ ticoTag.setInteger("Modifiers", ticoTag.getInteger("Modifiers") - 1);
+ Charge = true;
+ }
+ else
+ tcTag.setByte("RS.HARDEN", (byte) 0);
}
- else
- tcTag.setByte("RS.HARDEN", (byte) 0);
}
}
diff --git a/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java b/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java
index 2db5a65..5c76a5a 100644
--- a/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java
+++ b/src/main/java/lance5057/tDefense/armor/events/ArmorModEvents.java
@@ -13,6 +13,7 @@ import net.minecraftforge.event.entity.living.LivingHurtEvent;
import tconstruct.library.tools.ToolCore;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
+import cpw.mods.fml.common.registry.EntityRegistry;
public class ArmorModEvents
{
@@ -61,23 +62,6 @@ public class ArmorModEvents
}
}
- // @SubscribeEvent
- // public void playerTick(TickEvent.PlayerTickEvent event)
- // {
- // for(int i = 0; i < 4; i++)
- // {
- // EntityPlayer entity = event.player;
- // World world = entity.worldObj;
- // ItemStack stack = entity.getCurrentArmor(i);
- //
- // if(stack.getItem() instanceof ToolCore)
- // {
- // ToolCore tool = (ToolCore) stack.getItem();
- // NBTTagCompound tags = stack.getTagCompound().getCompoundTag("InfiTool");
- // }
- // }
- // }
-
public int calcModifierDamage(int level, float typeMod, DamageSource source)
{
if(source.canHarmInCreative())
diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java
index f723793..61e5224 100644
--- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java
+++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersHood.java
@@ -17,9 +17,13 @@ import thaumcraft.api.IGoggles;
import thaumcraft.api.IVisDiscountGear;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.nodes.IRevealer;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IGoggles", striprefs = true),
+ @Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.nodes.IRevealer", striprefs = true),
+ @Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IVisDiscountGear", striprefs = true)})
public class TinkersHood extends ArmorCore implements IRevealer, IGoggles, IVisDiscountGear
{
public TinkersHood()
@@ -155,18 +159,21 @@ public class TinkersHood extends ArmorCore implements IRevealer, IGoggles, IVisD
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
{
return itemstack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Revealing");
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public boolean showNodes(ItemStack itemstack, EntityLivingBase player)
{
return itemstack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Revealing");
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect)
{
return stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Vis Embroidery");
diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java
index beaae18..741c554 100644
--- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java
+++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersRobe.java
@@ -1,5 +1,6 @@
package lance5057.tDefense.armor.items.cloth;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import tconstruct.library.TConstructRegistry;
@@ -19,6 +20,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IVisDiscountGear", striprefs = true)})
public class TinkersRobe extends ArmorCore implements IVisDiscountGear
{
public TinkersRobe()
@@ -146,6 +148,7 @@ public class TinkersRobe extends ArmorCore implements IVisDiscountGear
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect)
{
return stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Vis Embroidery");
diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java
index 64eebae..c483537 100644
--- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java
+++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShawl.java
@@ -1,5 +1,6 @@
package lance5057.tDefense.armor.items.cloth;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import lance5057.tDefense.TinkersDefense;
@@ -21,6 +22,7 @@ import tconstruct.tools.TinkerTools;
import thaumcraft.api.IVisDiscountGear;
import thaumcraft.api.aspects.Aspect;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IVisDiscountGear", striprefs = true)})
public class TinkersShawl extends ArmorCore implements IVisDiscountGear
{
public TinkersShawl()
@@ -156,6 +158,7 @@ public class TinkersShawl extends ArmorCore implements IVisDiscountGear
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect)
{
int test = stack.getTagCompound().getCompoundTag("InfiTool").getInteger("VisEmbroidery");
diff --git a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java
index 2289c4e..3c2feb0 100644
--- a/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java
+++ b/src/main/java/lance5057/tDefense/armor/items/cloth/TinkersShoes.java
@@ -1,5 +1,6 @@
package lance5057.tDefense.armor.items.cloth;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import lance5057.tDefense.TinkersDefense;
@@ -19,6 +20,7 @@ import tconstruct.library.tools.CustomMaterial;
import thaumcraft.api.IVisDiscountGear;
import thaumcraft.api.aspects.Aspect;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IVisDiscountGear", striprefs = true)})
public class TinkersShoes extends ArmorCore implements IVisDiscountGear
{
public TinkersShoes()
@@ -150,6 +152,7 @@ public class TinkersShoes extends ArmorCore implements IVisDiscountGear
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public int getVisDiscount(ItemStack stack, EntityPlayer player, Aspect aspect)
{
return stack.getTagCompound().getCompoundTag("InfiTool").getInteger("Vis Embroidery");
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 e06009a..aa1998f 100644
--- a/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
+++ b/src/main/java/lance5057/tDefense/armor/items/heavy/TinkersHelm.java
@@ -11,9 +11,11 @@ import net.minecraft.item.ItemStack;
import tconstruct.tools.TinkerTools;
import thaumcraft.api.IGoggles;
import thaumcraft.api.nodes.IRevealer;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IGoggles", striprefs = true), @Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.nodes.IRevealer", striprefs = true)})
public class TinkersHelm extends ArmorCore implements IRevealer, IGoggles
{
public TinkersHelm()
@@ -134,14 +136,16 @@ public class TinkersHelm extends ArmorCore implements IRevealer, IGoggles
ClientProxy.helm.SetColors(color, this.getDefaultFolder(), textures);
return ClientProxy.helm;
}
-
+
@Override
+ @Optional.Method(modid = "Thaumcraft")
public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
{
return itemstack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Revealing");
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public boolean showNodes(ItemStack itemstack, EntityLivingBase player)
{
return itemstack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Revealing");
diff --git a/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java b/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java
index d83c9d3..2547a56 100644
--- a/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java
+++ b/src/main/java/lance5057/tDefense/armor/items/light/TinkersCoif.java
@@ -16,9 +16,11 @@ import tconstruct.library.tools.CustomMaterial;
import tconstruct.tools.TinkerTools;
import thaumcraft.api.IGoggles;
import thaumcraft.api.nodes.IRevealer;
+import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+@Optional.InterfaceList({@Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.IGoggles", striprefs = true), @Optional.Interface(modid = "Thaumcraft", iface = "thaumcraft.api.nodes.IRevealer", striprefs = true)})
public class TinkersCoif extends ArmorCore implements IRevealer, IGoggles
{
public TinkersCoif()
@@ -134,7 +136,7 @@ public class TinkersCoif extends ArmorCore implements IRevealer, IGoggles
for(int j = 0; j < 10; j++)
color[j] = Integer.toHexString(itemStack.getItem().getColorFromItemStack(itemStack, j));
-
+
int AccessoryID = itemStack.getTagCompound().getCompoundTag("InfiTool").getInteger("RenderHandle");
CustomMaterial newColor = TConstructRegistry.getCustomMaterial(AccessoryID, ClothMaterial.class);
@@ -158,14 +160,16 @@ public class TinkersCoif extends ArmorCore implements IRevealer, IGoggles
//((EntityPlayer)player).addChatComponentMessage(new ChatComponentText(Double.toString(damage)));
return armorp;
}
-
+
@Override
+ @Optional.Method(modid = "Thaumcraft")
public boolean showIngamePopups(ItemStack itemstack, EntityLivingBase player)
{
return itemstack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Revealing");
}
@Override
+ @Optional.Method(modid = "Thaumcraft")
public boolean showNodes(ItemStack itemstack, EntityLivingBase player)
{
return itemstack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Revealing");
diff --git a/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java b/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java
index 183d746..4b5d006 100644
--- a/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java
+++ b/src/main/java/lance5057/tDefense/armor/modifiers/ArmorMods.java
@@ -1,6 +1,7 @@
package lance5057.tDefense.armor.modifiers;
import lance5057.tDefense.Reference;
+import lance5057.tDefense.TDIntegration;
import lance5057.tDefense.TinkersDefense;
import lance5057.tDefense.armor.modifiers.Thaumcraft.ThaumArmorMods;
import net.minecraft.block.Block;
@@ -25,21 +26,21 @@ public class ArmorMods
{
ThaumArmorMods tcmods;
+ Item item_Canister;
+ Item item_Emptycanister;
+ Item item_Rebreather;
+
+ Item item_Glowsole;
+ Item item_Firesole;
+ Item item_Icesole;
+ Item item_Feathersole;
+ Item item_Flippers;
+
public ArmorMods()
{
- tcmods = new ThaumArmorMods();
+ LoadItems();
}
- Item item_Canister;
- Item item_Emptycanister;
- Item item_Rebreather;
-
- Item item_Glowsole;
- Item item_Firesole;
- Item item_Icesole;
- Item item_Feathersole;
- Item item_Flippers;
-
public void LoadItems()
{
item_Canister = new Item().setCreativeTab(TinkersDefense.tabName).setMaxStackSize(10).setUnlocalizedName("FilledCart").setTextureName(Reference.MOD_ID + ":FilledCart");
@@ -62,7 +63,11 @@ public class ArmorMods
GameRegistry.registerItem(item_Glowsole, "GlowSole");
GameRegistry.registerItem(item_Flippers, "Flippers");
- tcmods.LoadItems();
+ if(TDIntegration.thaumcraft)
+ {
+ tcmods = new ThaumArmorMods();
+ tcmods.LoadItems();
+ }
}
@@ -79,7 +84,10 @@ public class ArmorMods
GameRegistry.addShapedRecipe(new ItemStack(item_Icesole), new Object[] {"ili", "lcl", "ili", 'l', new ItemStack(Blocks.lapis_block, 1, 0), 'i', new ItemStack(Blocks.ice, 1, 0), 'c', TConstructRegistry.getItemStack("ingotCobalt")});
GameRegistry.addShapedRecipe(new ItemStack(item_Flippers), new Object[] {"-b-", "rlr", "-s-", 'b', new ItemStack(Items.leather_boots, 1, 0), 'l', new ItemStack(Items.leather, 1, 0), 'r', new ItemStack(TinkerTools.toolRod, 1, 2), 's', new ItemStack(Items.slime_ball, 1, 0)});
- tcmods.RegisterRecipes();
+ if(TDIntegration.thaumcraft)
+ {
+ tcmods.RegisterRecipes();
+ }
}
public void RegisterModifiers()
@@ -117,7 +125,10 @@ public class ArmorMods
}
- tcmods.RegisterModifiers();
+ if(TDIntegration.thaumcraft)
+ {
+ tcmods.RegisterModifiers();
+ }
}
public void UpdateAll(ToolCore tool, ItemStack stack, World world, Entity entity, NBTTagCompound tags)
@@ -139,7 +150,10 @@ public class ArmorMods
UpdateFlippers(tool, stack, world, entity);
}
- tcmods.UpdateAll(tool, stack, world, entity, tags);
+ if(TDIntegration.thaumcraft)
+ {
+ tcmods.UpdateAll(tool, stack, world, entity, tags);
+ }
}
public void UpdateWalker(ToolCore tool, ItemStack stack, World world, Entity entity, Material mat, Block replacement, int meta)