diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-09-24 03:40:25 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-09-24 03:40:25 -0500 |
| commit | db1eff8bebafa946ba472e139a8b45d2c3f2c673 (patch) | |
| tree | cfe8a739354f4002dc226b966223f6d63f4a6995 /src/main/java | |
| parent | 235bbdbb4156f5a8fea574193170a22d93267545 (diff) | |
Added Zweihander + more alternative graphics
Diffstat (limited to 'src/main/java')
9 files changed, 252 insertions, 12 deletions
diff --git a/src/main/java/gmail/Lance5057/TD_Config.java b/src/main/java/gmail/Lance5057/TD_Config.java index 6ad1f44..73c617b 100644 --- a/src/main/java/gmail/Lance5057/TD_Config.java +++ b/src/main/java/gmail/Lance5057/TD_Config.java @@ -16,6 +16,7 @@ public class TD_Config public int CrestFeathersID; public int CrestMirrorsID; public int CrestLegendsID; + public int CrestBladesID; public int MaterialIndex; @@ -33,6 +34,7 @@ public class TD_Config CrestFeathersID = config.get("Modifier Configs", "Crest of Feathers ID", 19).getInt(); CrestMirrorsID = config.get("Modifier Configs", "Crest of Mirrors ID", 20).getInt(); CrestLegendsID = config.get("Modifier Configs", "Crest of Legends ID", 21).getInt(); + CrestLegendsID = config.get("Modifier Configs", "Crest of Legends ID", 22).getInt(); MaterialIndex = config.get("Material Index", "Highest material ID -\n TDefense - 204\n MFR - 1001\n ExtraTIC - 1024", 204).getInt(); diff --git a/src/main/java/gmail/Lance5057/TinkersDefense.java b/src/main/java/gmail/Lance5057/TinkersDefense.java index 7c500c9..55dcb82 100644 --- a/src/main/java/gmail/Lance5057/TinkersDefense.java +++ b/src/main/java/gmail/Lance5057/TinkersDefense.java @@ -25,11 +25,13 @@ import gmail.Lance5057.items.TD_Patterns; import gmail.Lance5057.items.tools.HeaterShield; import gmail.Lance5057.items.tools.RoundShield; import gmail.Lance5057.items.tools.TinkerWrench; +import gmail.Lance5057.items.tools.TinkerZweihander; import gmail.Lance5057.liquids.moltenAeonsteelFluid; import gmail.Lance5057.liquids.moltenDogbeariumFluid; import gmail.Lance5057.liquids.moltenQueensGoldFluid; import gmail.Lance5057.modifiers.TDefenseActiveToolMod; import gmail.Lance5057.modifiers.modifierDaze; +import gmail.Lance5057.modifiers.shields.modifierCrestofBlades; import gmail.Lance5057.modifiers.shields.modifierCrestofFeathers; import gmail.Lance5057.modifiers.shields.modifierCrestofLegends; import gmail.Lance5057.modifiers.shields.modifierCrestofMirrors; @@ -126,6 +128,7 @@ public class TinkersDefense { public static ToolCore tool_heaterShield; public static ToolCore tool_wrench; public static ToolCore tool_sheath; + public static ToolCore tool_zweihander; public static Block block_CrestMount; public static Block block_ArmorAnvil; @@ -298,17 +301,24 @@ public class TinkersDefense { tool_wrench = new TinkerWrench(); tool_sheath = new Sheath(); + + tool_zweihander = new TinkerZweihander(0); + //Register Tools GameRegistry.registerItem(tool_roundShield, "Round Shield"); GameRegistry.registerItem(tool_heaterShield, "Heater Shield"); GameRegistry.registerItem(tool_wrench, "Tinker Wrench"); GameRegistry.registerItem(tool_sheath, "Sheath"); + GameRegistry.registerItem(tool_zweihander, "Zweihander"); + + //Add Tools to TiCo directory TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield); - TConstructRegistry.addItemToDirectory("Heater Shield", - tool_heaterShield); + TConstructRegistry.addItemToDirectory("Heater Shield", tool_heaterShield); TConstructRegistry.addItemToDirectory("Tinker Wrench", tool_wrench); - TConstructRegistry.addItemToDirectory("Tinker Sheath", tool_wrench); + TConstructRegistry.addItemToDirectory("Sheath", tool_sheath); + TConstructRegistry.addItemToDirectory("Zweihander", tool_zweihander); + //Register Items GameRegistry.registerItem(item_thread = new Item_Thread(), "thread"); GameRegistry.registerItem(item_glowthread = new Item_Glowthread(), "glowthread"); @@ -400,6 +410,8 @@ public class TinkersDefense { 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()) @@ -408,6 +420,7 @@ public class TinkersDefense { 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); } @@ -575,11 +588,16 @@ public class TinkersDefense { TConstructRegistry.addToolRecipe(tool_heaterShield, partArmorplate, TinkerTools.toughRod, - partArmorplate, TinkerTools.toughBinding); + partArmorplate, partRivet); + // Wrench TConstructRegistry.addToolRecipe(tool_wrench, TinkerTools.handGuard, TinkerTools.toolRod, TinkerTools.binding); + //Zweihander + TConstructRegistry.addToolRecipe(tool_zweihander, TinkerTools.largeSwordBlade, + TinkerTools.toughRod, TinkerTools.wideGuard, TinkerTools.swordBlade); + //Armor TConstructRegistry.addToolRecipe(tool_sheath, partArmorplate,TinkerTools.toolRod, partCloth, partClasp); diff --git a/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java b/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java index 14d87bb..94f3e2d 100644 --- a/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java +++ b/src/main/java/gmail/Lance5057/items/tools/HeaterShield.java @@ -51,7 +51,7 @@ public class HeaterShield extends Shield { @Override public Item getExtraItem() { - return TinkerTools.toughBinding; + return TinkersDefense.partRivet; } @Override @@ -79,7 +79,6 @@ public class HeaterShield extends Shield { return 1.4f; } - @SideOnly(Side.CLIENT) @Override public int getPartAmount() { return 4; diff --git a/src/main/java/gmail/Lance5057/items/tools/RoundShield.java b/src/main/java/gmail/Lance5057/items/tools/RoundShield.java index d940077..45ea263 100644 --- a/src/main/java/gmail/Lance5057/items/tools/RoundShield.java +++ b/src/main/java/gmail/Lance5057/items/tools/RoundShield.java @@ -46,7 +46,7 @@ public class RoundShield extends Shield { @Override public Item getAccessoryItem() { - return TinkerTools.binding; + return TinkerTools.frypanHead; } @Override @@ -74,7 +74,6 @@ public class RoundShield extends Shield { return 0f; } - @SideOnly(Side.CLIENT) @Override public int getPartAmount() { return 3; diff --git a/src/main/java/gmail/Lance5057/items/tools/TinkerWrench.java b/src/main/java/gmail/Lance5057/items/tools/TinkerWrench.java index 7ac7799..7435c87 100644 --- a/src/main/java/gmail/Lance5057/items/tools/TinkerWrench.java +++ b/src/main/java/gmail/Lance5057/items/tools/TinkerWrench.java @@ -69,7 +69,6 @@ public class TinkerWrench extends Weapon implements IToolWrench { return 0.4f; } - @SideOnly(Side.CLIENT) @Override public int getPartAmount() { return 3; diff --git a/src/main/java/gmail/Lance5057/items/tools/TinkerZweihander.java b/src/main/java/gmail/Lance5057/items/tools/TinkerZweihander.java new file mode 100644 index 0000000..980542f --- /dev/null +++ b/src/main/java/gmail/Lance5057/items/tools/TinkerZweihander.java @@ -0,0 +1,97 @@ +package gmail.Lance5057.items.tools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.Item; +import tconstruct.library.tools.Weapon; +import tconstruct.tools.TinkerTools; + +public class TinkerZweihander extends Weapon +{ + + public TinkerZweihander(int baseDamage) { + super(5); + this.setUnlocalizedName("zweihander"); + } + + @Override + public Item getHeadItem() { + return TinkerTools.largeSwordBlade; + } + + @Override + public Item getHandleItem() { + return TinkerTools.toughRod; + } + + @Override + public Item getAccessoryItem() { + return TinkerTools.wideGuard; + } + + @Override + public Item getExtraItem() { + return TinkerTools.swordBlade; + } + + +// @Override +// public int durabilityTypeAccessory() { +// return 2; +// } +// +// @Override +// public int durabilityTypeExtra () +// { +// return 1; +// } + + @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 4; + } + + @Override + public String getIconSuffix(int partType) { + switch (partType) { + case 0: + return "_zweihander_blade"; + case 1: + return "_zweihander_blade_broken"; + case 2: + return "_zweihander_handle"; + case 3: + return "_zweihander_guard"; + case 4: + return "_zweihander_core"; + default: + return ""; + } + } + + @Override + public String getEffectSuffix() { + return "_zweihander_effect"; + } + + @Override + public String getDefaultFolder() { + return "zweihander"; + } +} diff --git a/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofBlades.java b/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofBlades.java new file mode 100644 index 0000000..455a21f --- /dev/null +++ b/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofBlades.java @@ -0,0 +1,92 @@ +package gmail.Lance5057.modifiers.shields; + +import tconstruct.library.tools.ToolCore; +import tconstruct.modifiers.tools.ItemModTypeFilter; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class modifierCrestofBlades extends ItemModTypeFilter +{ + String tooltipName; + int max = 5; + String guiType; + + public modifierCrestofBlades(String type, int effect, ItemStack[] items, int[] values) + { + super(effect, "Blades", items, values); + tooltipName = "\u00A7fBlades"; + guiType = type; + } + + @Override + protected boolean canModify (ItemStack tool, ItemStack[] input) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + if (!tags.hasKey(key)) + return tags.getInteger("Modifiers") > 0 && matchingAmount(input) <= max; + + if (matchingAmount(input) > max) + return false; + + int keyPair[] = tags.getIntArray(key); + if (keyPair[0] + matchingAmount(input) <= keyPair[1]) + return true; + +// else if (keyPair[0] == keyPair[1]) +// return tags.getInteger("Modifiers") > 0; + + else + return false; + } + + @Override + public void modify (ItemStack[] input, ItemStack tool) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + int increase = matchingAmount(input); + int[] keyPair; + int current = 0; + if (tags.hasKey(key)) + { + keyPair = tags.getIntArray(key); + + if (keyPair[0] % max == 0) + { + keyPair[0] += increase; + keyPair[1] += max; + tags.setIntArray(key, keyPair); + + int modifiers = tags.getInteger("Modifiers"); + modifiers -= 1; + tags.setInteger("Modifiers", modifiers); + } + else + { + keyPair[0] += increase; + tags.setIntArray(key, keyPair); + } + updateModTag(tool, keyPair); + + } + else + { + int modifiers = tags.getInteger("Modifiers"); + modifiers -= 1; + tags.setInteger("Modifiers", modifiers); + String modName = "\u00A76" + guiType + " (" + increase + "/" + max + ")"; + int tooltipIndex = addToolTip(tool, tooltipName, modName); + keyPair = new int[] { increase, max, tooltipIndex }; + tags.setIntArray(key, keyPair); + } + + } + + void updateModTag (ItemStack tool, int[] keys) + { + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + String tip = "ModifierTip" + keys[2]; + String modName = "\u00A76" + guiType + " (" + keys[0] + "/" + keys[1] + ")"; + tags.setString(tip, modName); + } +} diff --git a/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofFeathers.java b/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofFeathers.java index 70562c9..0bdcb85 100644 --- a/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofFeathers.java +++ b/src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofFeathers.java @@ -1,13 +1,15 @@ package gmail.Lance5057.modifiers.shields; +import tconstruct.library.tools.ToolCore; import tconstruct.modifiers.tools.ItemModTypeFilter; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class modifierCrestofFeathers extends ItemModTypeFilter { String tooltipName; - int max = 5; + int max = 10; String guiType; public modifierCrestofFeathers(String type, int effect, ItemStack[] items, int[] values) @@ -43,9 +45,11 @@ public class modifierCrestofFeathers extends ItemModTypeFilter { NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); int increase = matchingAmount(input); + int[] keyPair; + int current = 0; if (tags.hasKey(key)) { - int[] keyPair = tags.getIntArray(key); + keyPair = tags.getIntArray(key); if (keyPair[0] % max == 0) { @@ -72,9 +76,37 @@ public class modifierCrestofFeathers extends ItemModTypeFilter tags.setInteger("Modifiers", modifiers); String modName = "\u00A76" + guiType + " (" + increase + "/" + max + ")"; int tooltipIndex = addToolTip(tool, tooltipName, modName); - int[] keyPair = new int[] { increase, max, tooltipIndex }; + keyPair = new int[] { increase, max, tooltipIndex }; tags.setIntArray(key, keyPair); } + + int miningSpeed = tags.getInteger("MiningSpeed"); + int boost = 8 + ((current - 1) / 50 * 2); + Item temp = tool.getItem(); + if (temp instanceof ToolCore) + { + ToolCore toolcore = (ToolCore) temp; + if (toolcore.durabilityTypeHandle() == 2) + boost += 2; + if (toolcore.durabilityTypeAccessory() == 2) + boost += 2; + if (toolcore.durabilityTypeExtra() == 2) + boost += 2; + } + miningSpeed += (increase * boost); + tags.setInteger("MiningSpeed", miningSpeed); + + String[] type = { "MiningSpeed2", "MiningSpeedHandle", "MiningSpeedExtra" }; + + for (int i = 0; i < 3; i++) + { + if (tags.hasKey(type[i])) + { + int speed = tags.getInteger(type[i]); + speed += (increase * boost); + tags.setInteger(type[i], speed); + } + } } void updateModTag (ItemStack tool, int[] keys) diff --git a/src/main/java/gmail/Lance5057/proxy/ClientProxy.java b/src/main/java/gmail/Lance5057/proxy/ClientProxy.java index c57fe02..1deab99 100644 --- a/src/main/java/gmail/Lance5057/proxy/ClientProxy.java +++ b/src/main/java/gmail/Lance5057/proxy/ClientProxy.java @@ -31,6 +31,8 @@ public class ClientProxy extends CommonProxy { TinkersDefense.tool_heaterShield, renderer); MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_wrench, renderer); + MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_zweihander, + renderer); ClientRegistry.bindTileEntitySpecialRenderer( TileEntity_CrestMount.class, new Renderer_CrestMount()); |
