summaryrefslogtreecommitdiff
path: root/src/main/java/gmail
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gmail')
-rw-r--r--src/main/java/gmail/Lance5057/TD_Config.java2
-rw-r--r--src/main/java/gmail/Lance5057/TinkersDefense.java26
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/HeaterShield.java3
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/RoundShield.java3
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/TinkerWrench.java1
-rw-r--r--src/main/java/gmail/Lance5057/items/tools/TinkerZweihander.java97
-rw-r--r--src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofBlades.java92
-rw-r--r--src/main/java/gmail/Lance5057/modifiers/shields/modifierCrestofFeathers.java38
-rw-r--r--src/main/java/gmail/Lance5057/proxy/ClientProxy.java2
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());