diff options
| author | Lance5057 <Lance5057@gmail.com> | 2016-04-15 05:42:59 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2016-04-15 05:42:59 -0500 |
| commit | f0dbe7a46426355f9eab6eb3933277664baafc57 (patch) | |
| tree | 3fff3330cdb53028d2db89c8ca2634a8c7ea58ce /src/main/java/lance5057/tDefense/armor | |
| parent | 03b859cf0b85c9ad5ce10d71164634091b0acb4b (diff) | |
Added Vis repair modifier, refactored modifiers, fixed optional integration
Diffstat (limited to 'src/main/java/lance5057/tDefense/armor')
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) |
