summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2017-03-12 18:15:17 -0500
committerLance5057 <Lance5057@gmail.com>2017-03-12 18:15:17 -0500
commitf692d8983ee8787843d874ae1aa329c1439e3223 (patch)
treea19cbd6d584d0ccd3d6117d63489168a89a19c3c /src/main/java/lance5057/tDefense
parenta7ea7c80bff70096191fd772a0416aec15d41a69 (diff)
Hopefully this unfucks whatever got fucked.
Diffstat (limited to 'src/main/java/lance5057/tDefense')
-rw-r--r--src/main/java/lance5057/tDefense/Reference.java2
-rw-r--r--src/main/java/lance5057/tDefense/TD_Commands.java100
-rw-r--r--src/main/java/lance5057/tDefense/TD_Config.java9
-rw-r--r--src/main/java/lance5057/tDefense/TinkersDefense.java1404
-rw-r--r--src/main/java/lance5057/tDefense/baubles/BaublesBase.java8
-rw-r--r--src/main/java/lance5057/tDefense/baubles/BaublesItems.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreBase.java11
-rw-r--r--src/main/java/lance5057/tDefense/core/CoreItems.java38
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java77
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/TDMaterials.java153
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java47
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java40
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java46
-rw-r--r--src/main/java/lance5057/tDefense/core/materials/traits/TraitMagnetism.java5
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/HeaterShield.java250
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/RoundShield.java108
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/Shield.java285
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java91
-rw-r--r--src/main/java/lance5057/tDefense/core/tools/TDTools.java102
-rw-r--r--src/main/java/lance5057/tDefense/holiday/HolidayBase.java24
-rw-r--r--src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java18
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java23
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java34
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java15
-rw-r--r--src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlimeRenderer.java33
-rw-r--r--src/main/java/lance5057/tDefense/proxy/ClientProxy.java217
-rw-r--r--src/main/java/lance5057/tDefense/proxy/CommonProxy.java101
-rw-r--r--src/main/java/lance5057/tDefense/util/Color16Util.java22
-rw-r--r--src/main/java/lance5057/tDefense/util/ItemsBase.java42
-rw-r--r--src/main/java/lance5057/tDefense/util/MetaItem.java32
-rw-r--r--src/main/java/lance5057/tDefense/util/ModuleBase.java19
-rw-r--r--src/main/java/lance5057/tDefense/util/TDToolHelper.java45
32 files changed, 1806 insertions, 1600 deletions
diff --git a/src/main/java/lance5057/tDefense/Reference.java b/src/main/java/lance5057/tDefense/Reference.java
index 4d27074..ad316d1 100644
--- a/src/main/java/lance5057/tDefense/Reference.java
+++ b/src/main/java/lance5057/tDefense/Reference.java
@@ -4,7 +4,7 @@ public class Reference
{
public static final String MOD_ID = "tinkersdefense";
- public static final String VERSION = "1.3.7";
+ public static final String VERSION = "1.4.0.4a";
public static final String MOD_NAME = "Tinkers' Defense";
}
diff --git a/src/main/java/lance5057/tDefense/TD_Commands.java b/src/main/java/lance5057/tDefense/TD_Commands.java
index ef4239d..66e40c4 100644
--- a/src/main/java/lance5057/tDefense/TD_Commands.java
+++ b/src/main/java/lance5057/tDefense/TD_Commands.java
@@ -4,9 +4,11 @@ import java.util.ArrayList;
import java.util.List;
import net.minecraft.command.CommandBase;
+import net.minecraft.command.CommandException;
import net.minecraft.command.ICommand;
import net.minecraft.command.ICommandSender;
-import net.minecraft.util.ChatComponentText;
+import net.minecraft.server.MinecraftServer;
+import net.minecraft.util.text.TextComponentString;
import net.minecraft.world.World;
public class TD_Commands extends CommandBase implements ICommand
@@ -35,11 +37,11 @@ public class TD_Commands extends CommandBase implements ICommand
return 0;
}
- @Override
- public int compareTo(Object arg0)
- {
- return 0;
- }
+// @Override
+// public int compareTo(Object arg0)
+// {
+// return 0;
+// }
@Override
public String getCommandName()
@@ -60,66 +62,70 @@ public class TD_Commands extends CommandBase implements ICommand
}
@Override
- public void processCommand(ICommandSender p_71515_1_, String[] p_71515_2_)
+ public void execute(MinecraftServer server, ICommandSender p_71515_1_, String[] p_71515_2_)
{
final World world = p_71515_1_.getEntityWorld();
if(world.isRemote)
{
- if(p_71515_2_[0].equals("reloadRenderers"))
- {
- p_71515_1_.addChatMessage(new ChatComponentText(
- "§9[TDefense]§f - Reloading All Renderers..."));
- reloadModels();
- }
- else if(p_71515_2_[0].equals("toggleTransparency"))
- {
- TinkersDefense.config.transparency = !TinkersDefense.config.transparency;
- if(TinkersDefense.config.transparency)
- {
- p_71515_1_.addChatMessage(new ChatComponentText(
- "§9[TDefense]§f - Transparency on."));
- }
- else
- {
- p_71515_1_.addChatMessage(new ChatComponentText(
- "§9[TDefense]§f - Transparency off."));
- }
-
- }
- else if(p_71515_2_[0].equals("toggleDebugMode"))
+// if(p_71515_2_[0].equals("reloadRenderers"))
+// {
+// p_71515_1_.addChatMessage(new TextComponentString(
+// "§9[TDefense]§f - Reloading All Renderers..."));
+// reloadModels();
+// }
+// else if(p_71515_2_[0].equals("toggleTransparency"))
+// {
+// TinkersDefense.config.transparency = !TinkersDefense.config.transparency;
+// if(TinkersDefense.config.transparency)
+// {
+// p_71515_1_.addChatMessage(new TextComponentString(
+// "§9[TDefense]§f - Transparency on."));
+// }
+// else
+// {
+// p_71515_1_.addChatMessage(new TextComponentString(
+// "§9[TDefense]§f - Transparency off."));
+// }
+//
+// }
+ if(p_71515_2_[0].equals("toggleDebugMode"))
{
TinkersDefense.config.debug = !TinkersDefense.config.debug;
if(TinkersDefense.config.debug)
{
- p_71515_1_.addChatMessage(new ChatComponentText(
+ p_71515_1_.addChatMessage(new TextComponentString(
"§9[TDefense]§f - Debug Mode on."));
}
else
{
- p_71515_1_.addChatMessage(new ChatComponentText(
+ p_71515_1_.addChatMessage(new TextComponentString(
"§9[TDefense]§f - Debug Mode off."));
}
}
+ else if(p_71515_2_[0].equals("reloadRenderers"))
+ {
+ TinkersDefense.proxy.reloadRenderers();
+ }
else
{
- p_71515_1_.addChatMessage(new ChatComponentText(
+ p_71515_1_.addChatMessage(new TextComponentString(
"§c[TDefense]§f - Invalid Command"));
}
}
}
- @Override
- public boolean canCommandSenderUseCommand(ICommandSender p_71519_1_)
- {
- return true;
- }
-
- @Override
- public List addTabCompletionOptions(ICommandSender p_71516_1_, String[] p_71516_2_)
- {
- return commands;
- }
+// @Override
+// public boolean canCommandSenderUseCommand(ICommandSender p_71519_1_)
+// {
+// return true;
+// }
+//
+// @Override
+// public List addTabCompletionOptions(ICommandSender p_71516_1_, String[] p_71516_2_)
+// {
+// return commands;
+// }
@Override
public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_)
@@ -127,8 +133,8 @@ public class TD_Commands extends CommandBase implements ICommand
return false;
}
- public void reloadModels()
- {
- TinkersDefense.proxy.registerRenderers();
- }
+// public void reloadModels()
+// {
+// TinkersDefense.proxy.registerRenderers();
+// }
}
diff --git a/src/main/java/lance5057/tDefense/TD_Config.java b/src/main/java/lance5057/tDefense/TD_Config.java
index 5544b05..47b747b 100644
--- a/src/main/java/lance5057/tDefense/TD_Config.java
+++ b/src/main/java/lance5057/tDefense/TD_Config.java
@@ -1,8 +1,9 @@
package lance5057.tDefense;
+import lance5057.tDefense.util.Color16Util;
import net.minecraftforge.common.config.Configuration;
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import scala.Int;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
public class TD_Config
{
@@ -178,11 +179,11 @@ public class TD_Config
private int[] ConfigCrest(Configuration config, String name)
{
- final int[] crest = new int[TinkersDefense.colors.length];
+ final int[] crest = new int[Color16Util.colors.length];
- for(int i = 0; i < TinkersDefense.colors.length; i++)
+ for(int i = 0; i < Color16Util.colors.length; i++)
{
- crest[i] = config.getInt("Crest of " + name + " (" + TinkersDefense.colors[i] + ") ID", "Shield Modifier Configs", count++, 18, Int.MaxValue(), null);
+ crest[i] = config.getInt("Crest of " + name + " (" + Color16Util.colors[i] + ") ID", "Shield Modifier Configs", count++, 18, Int.MaxValue(), null);
}
return crest;
diff --git a/src/main/java/lance5057/tDefense/TinkersDefense.java b/src/main/java/lance5057/tDefense/TinkersDefense.java
index e610a2b..bf58ba3 100644
--- a/src/main/java/lance5057/tDefense/TinkersDefense.java
+++ b/src/main/java/lance5057/tDefense/TinkersDefense.java
@@ -1,1000 +1,504 @@
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 java.util.Iterator;
import java.util.List;
-import lance5057.tDefense.armor.TDArmorAddon;
-import lance5057.tDefense.armor.parts.Cloth;
-import lance5057.tDefense.armor.parts.ClothMaterial;
-import lance5057.tDefense.baubles.blocks.JewelersBench;
-import lance5057.tDefense.baubles.tileentities.TileEntity_JewelersBench;
-import lance5057.tDefense.core.TD_Patterns;
-import lance5057.tDefense.core.blocks.AeonSteelBlock;
-import lance5057.tDefense.core.blocks.DogbeariumBlock;
-import lance5057.tDefense.core.blocks.GreenMintBlock;
-import lance5057.tDefense.core.blocks.QueensGoldBlock;
-import lance5057.tDefense.core.blocks.RedMintBlock;
-import lance5057.tDefense.core.blocks.crestMount.CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.TileEntity_CrestMount;
-import lance5057.tDefense.core.events.TDEventHandler;
-//import lance5057.tDefense.core.items.GuideBook;
-import lance5057.tDefense.core.liquids.MoltenFluid;
-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.TinkersHookshot;
-import lance5057.tDefense.core.tools.modifiers.Modifiers;
-import lance5057.tDefense.core.tools.modifiers.Botania.BotaniaMods;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.FinishingAnvil;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.TileEntity_FinishingAnvil;
-import lance5057.tDefense.finishingAnvil.utilities.Injector;
+import lance5057.tDefense.core.CoreBase;
+import lance5057.tDefense.core.materials.TDMaterials;
+import lance5057.tDefense.core.tools.TDTools;
+import lance5057.tDefense.holiday.HolidayBase;
import lance5057.tDefense.proxy.CommonProxy;
+import lance5057.tDefense.util.ModuleBase;
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.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
-import net.minecraft.util.StatCollector;
-import net.minecraftforge.client.ClientCommandHandler;
-import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidRegistry;
-import net.minecraftforge.fluids.FluidStack;
-import tconstruct.TConstruct;
-import tconstruct.armor.TinkerArmor;
-import tconstruct.library.TConstructRegistry;
-import tconstruct.library.client.StencilGuiElement;
-import tconstruct.library.client.TConstructClientRegistry;
-import tconstruct.library.client.ToolGuiElement;
-import tconstruct.library.crafting.FluidType;
-import tconstruct.library.crafting.LiquidCasting;
-import tconstruct.library.crafting.PatternBuilder;
-import tconstruct.library.crafting.Smeltery;
-import tconstruct.library.crafting.StencilBuilder;
-import tconstruct.library.crafting.ToolBuilder;
-import tconstruct.library.tools.DynamicToolPart;
-import tconstruct.library.tools.ToolCore;
-import tconstruct.smeltery.TinkerSmeltery;
-import tconstruct.tools.TinkerTools;
-import tconstruct.tools.items.Pattern;
-import cpw.mods.fml.common.Mod;
-import cpw.mods.fml.common.Mod.EventHandler;
-import cpw.mods.fml.common.Mod.Instance;
-import cpw.mods.fml.common.SidedProxy;
-import cpw.mods.fml.common.event.FMLInitializationEvent;
-import cpw.mods.fml.common.event.FMLPostInitializationEvent;
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-import cpw.mods.fml.common.network.NetworkRegistry;
-import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
-import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.fml.common.Mod.EventHandler;
+import net.minecraftforge.fml.common.Mod.Instance;
+import net.minecraftforge.fml.common.SidedProxy;
+import net.minecraftforge.fml.common.event.FMLInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
+import net.minecraftforge.fml.common.network.NetworkRegistry;
+import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
+import scala.reflect.internal.Trees.Modifiers;
@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME)
-public class TinkersDefense
-{
- public static String[] colors = {"black", "red", "green", "brown", "blue", "purple", "cyan", "lightgray", "gray", "pink", "lime", "yellow", "lightblue", "magenta", "orange", "white"};
+public class TinkersDefense {
- private static int modGuiIndex = 0;
- public static final int GUI_CREST_INV = modGuiIndex++;
- public static final int GUI_ANVIL_INV = modGuiIndex++;
- public static final int GUI_GUIDEBOOK = modGuiIndex++;
+ private static int modGuiIndex = 0;
+ public static final int GUI_CREST_INV = modGuiIndex++;
+ public static final int GUI_ANVIL_INV = modGuiIndex++;
+ public static final int GUI_GUIDEBOOK = modGuiIndex++;
@Instance(Reference.MOD_ID)
- public static TinkersDefense instance = new TinkersDefense();
+ public static TinkersDefense instance = new TinkersDefense();
- public static CreativeTabs tabName;
+ HolidayBase holiday;
+ ModuleBase core;
- public static TDEventHandler TDevents;
+ // public static TDEventHandler TDevents;
- public static TD_Config config;
+ public static TD_Config config;
- public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(Reference.MOD_ID);
+ public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE
+ .newSimpleChannel(Reference.MOD_ID);
- public static Modifiers mods;
+ public static Modifiers mods;
- //public static Item item_Guidebook;
+ // public static Item item_Guidebook;
- public static Item item_aeonsteelIngot;
- public static Block block_aeonsteelBlock;
- public static Fluid moltenaeonsteel;
- public static Block moltenaeonsteelBlock;
+ TDTools tools;
+ TDMaterials mats;
- public static Item item_queensgoldIngot;
- public static Block block_queensgoldBlock;
- public static Fluid moltenqueensgold;
- public static Block moltenqueensgoldBlock;
+ public static Block block_aeonsteelBlock;
+ public static Fluid moltenaeonsteel;
+ public static Block moltenaeonsteelBlock;
- public static Item item_dogbeariumIngot;
- public static Block block_dogbeariumBlock;
- public static Fluid moltendogbearium;
- public static Block moltendogbeariumBlock;
+ public static Block block_queensgoldBlock;
+ public static Fluid moltenqueensgold;
+ public static Block moltenqueensgoldBlock;
- public static Item item_redmintcane;
- public static Item item_greenmintcane;
+ public static Block block_dogbeariumBlock;
+ public static Fluid moltendogbearium;
+ public static Block moltendogbeariumBlock;
- public static Item item_redmintIngot;
- public static Block block_redmintBlock;
- public static Fluid moltenredmint;
- public static Block moltenredmintBlock;
+ public static Block block_redmintBlock;
+ public static Fluid moltenredmint;
+ public static Block moltenredmintBlock;
- public static Item item_greenmintIngot;
- public static Block block_greenmintBlock;
- public static Fluid moltengreenmint;
- public static Block moltengreenmintBlock;
+ public static Block block_greenmintBlock;
+ public static Fluid moltengreenmint;
+ public static Block moltengreenmintBlock;
- // public static Item item_RawSapphire;
- // public static Item item_RawRuby;
- // public static Item item_RawAmethyst;
- // public static Item item_RawAmber;
+ // public static Item item_RawSapphire;
+ // public static Item item_RawRuby;
+ // public static Item item_RawAmethyst;
+ // public static Item item_RawAmber;
//
- // public static Block block_SapphireOre;
- // public static Block block_RubyOre;
- // public static Block block_AmethystOre;
- // public static Block block_AmberOre;
-
- public static ToolCore tool_roundShield;
- public static ToolCore tool_heaterShield;
- public static ToolCore tool_wrench;
- public static ToolCore tool_zweihander;
- public static ToolCore tool_shears;
- //public static ToolCore tool_hookshot;
-
- public static Block block_CrestMount;
- public static Block block_ArmorAnvil;
- public static Block block_JewelersBench;
-
- //public static Item item_ChainArmor;
- public static Pattern woodPattern;
- public static Pattern metalPattern;
-
- public static Item partRivet;
- public static Item partArmorplate;
- public static Item partClasp;
- public static Item partCloth;
- public static Item partChainmaille;
-
- public static ToolCore tcInject;
+ // public static Block block_SapphireOre;
+ // public static Block block_RubyOre;
+ // public static Block block_AmethystOre;
+ // public static Block block_AmberOre;
+
+ // public static ToolCore tool_roundShield;
+ // public static ToolCore tool_heaterShield;
+ // public static ToolCore tool_wrench;
+ // public static ToolCore tool_zweihander;
+ // public static ToolCore tool_shears;
+ // public static ToolCore tool_hookshot;
+
+ // public static Block block_CrestMount;
+ // public static Block block_ArmorAnvil;
+ // public static Block block_JewelersBench;
+ //
+ // //public static Item item_ChainArmor;
+ // public static Pattern woodPattern;
+ // public static Pattern metalPattern;
+ //
+ // public static Item partRivet;
+ // public static Item partArmorplate;
+ // public static Item partClasp;
+ // public static Item partCloth;
+ // public static Item partChainmaille;
+ //
+ // public static ToolCore tcInject;
- public static BotaniaMods flowermod;
+ // public static BotaniaMods flowermod;
@SidedProxy(clientSide = "lance5057.tDefense.proxy.ClientProxy", serverSide = "lance5057.tDefense.proxy.CommonProxy")
- public static CommonProxy proxy;
- public static int month;
+ public static CommonProxy proxy;
+ public static int month;
- public TDArmorAddon ArmorAddon = new TDArmorAddon();
+ // public TDArmorAddon ArmorAddon = new TDArmorAddon();
@EventHandler
- public void preInit(FMLPreInitializationEvent e)
- {
- tabName = new CreativeTabs("tabName")
- {
-
- @Override
- public Item getTabIconItem()
- {
- return ToolBuilder.instance.buildTool(new ItemStack(
- TinkersDefense.partArmorplate, 1, 2), new ItemStack(
- TinkerTools.toughRod, 1, 2), new ItemStack(
- TinkersDefense.partArmorplate, 1, 2), new ItemStack(
- TinkersDefense.partRivet, 1, 2), "TDTab").getItem();
- }
-
- };
-
- PacketHandler.init();
-
- NetworkRegistry.INSTANCE.registerGuiHandler(TinkersDefense.instance, new CommonProxy());
- MinecraftForge.EVENT_BUS.register(this);
-
- ClientCommandHandler.instance.registerCommand(new TD_Commands());
-
- //Initializations
- //Internal Classes
- TDevents = new TDEventHandler();
+ public void preInit(FMLPreInitializationEvent e) {
+ core = new CoreBase();
+ holiday = new HolidayBase();
+ mats = new TDMaterials();
+ tools = new TDTools();
config = new TD_Config(e);
- mods = new Modifiers();
-
- //Blocks
- block_CrestMount = new CrestMount().setHardness(4.0F).setStepSound(Block.soundTypeStone).setBlockName("crestmount").setCreativeTab(tabName);
- block_ArmorAnvil = new FinishingAnvil().setHardness(4.0F).setStepSound(Block.soundTypeAnvil).setBlockName("armoranvil").setCreativeTab(tabName);
- block_JewelersBench = new JewelersBench().setHardness(4.0F).setStepSound(Block.soundTypeWood).setBlockName("jewelersbench").setCreativeTab(tabName);
-
- block_aeonsteelBlock = new AeonSteelBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("aeonsteelblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID + ":aeonsteelblock");
- block_queensgoldBlock = new QueensGoldBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("queensgoldblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID + ":queensgoldblock");
- block_dogbeariumBlock = new DogbeariumBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("dogbeariumblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID + ":dogbeariumblock");
- block_redmintBlock = new RedMintBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("redmintblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID + ":redmintblock");
- block_greenmintBlock = new GreenMintBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("greenmintblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID + ":greenmintblock");
-
- //Items
- //item_Guidebook = new GuideBook();
- item_aeonsteelIngot = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("aeonsteelingot").setTextureName(Reference.MOD_ID + ":aeonsteelingot");
- item_queensgoldIngot = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("queensgoldingot").setTextureName(Reference.MOD_ID + ":queensgoldingot");
- item_dogbeariumIngot = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("dogbeariumingot").setTextureName(Reference.MOD_ID + ":dogbeariumingot");
- item_redmintcane = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("redmintcane").setTextureName(Reference.MOD_ID + ":redmintcane");
- item_redmintIngot = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("redmintIngot").setTextureName(Reference.MOD_ID + ":redmintingot");
- item_greenmintcane = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("greenmintcane").setTextureName(Reference.MOD_ID + ":greenmintcane");
- item_greenmintIngot = new Item().setCreativeTab(tabName).setMaxStackSize(64).setUnlocalizedName("greenmintIngot").setTextureName(Reference.MOD_ID + ":greenmintingot");
-
- //Fluids
- moltenaeonsteel = new Fluid("moltenaeonsteel").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
- moltenqueensgold = new Fluid("moltenqueensgold").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
- moltendogbearium = new Fluid("moltendogbearium").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
- moltenredmint = new Fluid("moltenredmint").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
- moltengreenmint = new Fluid("moltengreenmint").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
-
- //Tools
- tool_roundShield = new RoundShield();
- tool_heaterShield = new HeaterShield();
- tool_shears = new Shears();
- tool_wrench = new TinkerWrench();
- tool_zweihander = new TinkerZweihander(0);
- //tool_hookshot = new TinkersHookshot();
-
- //Patterns
- woodPattern = new TD_Patterns("pattern_", "Pattern");
- metalPattern = new TD_Patterns("cast_", "MetalPattern");
-
- //Minecraft Registrations
- //Blocks
- GameRegistry.registerBlock(block_CrestMount, "block_crestmount");
- GameRegistry.registerBlock(block_ArmorAnvil, "block_armoranvil");
- GameRegistry.registerBlock(block_JewelersBench, "block_jewelersbench");
- GameRegistry.registerBlock(block_aeonsteelBlock, "aeonsteelblock");
- GameRegistry.registerBlock(block_queensgoldBlock, "queensgoldblock");
- GameRegistry.registerBlock(block_dogbeariumBlock, "dogbeariumblock");
- GameRegistry.registerBlock(block_redmintBlock, "redmintblock");
- GameRegistry.registerBlock(block_greenmintBlock, "greenmintblock");
-
- //Items
- //GameRegistry.registerItem(item_Guidebook, "guidebook");
-
- GameRegistry.registerItem(item_aeonsteelIngot, "aeonsteelingot");
- GameRegistry.registerItem(item_queensgoldIngot, "queensgoldingot");
- GameRegistry.registerItem(item_dogbeariumIngot, "dogbeariumingot");
-
- GameRegistry.registerItem(item_redmintcane, "redmintcane");
- GameRegistry.registerItem(item_redmintIngot, "redmintingot");
- GameRegistry.registerItem(item_greenmintcane, "greenmintcane");
- GameRegistry.registerItem(item_greenmintIngot, "greenmintingot");
-
- //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_zweihander, "Zweihander");
- //GameRegistry.registerItem(tool_hookshot, "Hookshot");
-
- //Patterns
- GameRegistry.registerItem(woodPattern, "Pattern");
- GameRegistry.registerItem(metalPattern, "Cast");
-
- //TileEntities
- GameRegistry.registerTileEntity(TileEntity_CrestMount.class, "tile_crestmount");
- GameRegistry.registerTileEntity(TileEntity_FinishingAnvil.class, "tile_armoranvil");
- GameRegistry.registerTileEntity(TileEntity_JewelersBench.class, "tile_jewelersbench");
-
- //Fluids
- FluidRegistry.registerFluid(moltenaeonsteel);
- FluidRegistry.registerFluid(moltenqueensgold);
- FluidRegistry.registerFluid(moltendogbearium);
- FluidRegistry.registerFluid(moltenredmint);
- FluidRegistry.registerFluid(moltengreenmint);
-
- //FluidBlocks
- moltenaeonsteelBlock = new MoltenFluid(moltenaeonsteel, "aeonsteel");
- moltenqueensgoldBlock = new MoltenFluid(moltenqueensgold, "queensgold");
- moltendogbeariumBlock = new MoltenFluid(moltendogbearium, "dogbearium");
- moltenredmintBlock = new MoltenFluid(moltenredmint, "redmint");
- moltengreenmintBlock = new MoltenFluid(moltengreenmint, "greenmint");
-
- GameRegistry.registerBlock(moltenaeonsteelBlock, "moltenaeonsteel");
- GameRegistry.registerBlock(moltenqueensgoldBlock, "moltenqueensgold");
- GameRegistry.registerBlock(moltendogbeariumBlock, "moltendogbearium");
- GameRegistry.registerBlock(moltenredmintBlock, "moltenredmint");
- GameRegistry.registerBlock(moltengreenmintBlock, "moltengreenmint");
-
- //Recipes
- GameRegistry.addShapedRecipe(new ItemStack(block_CrestMount), new Object[] {"xxx", "-i-", "---", 'x', new ItemStack(
- TinkerTools.toughRod, 1, 1), 'i', new ItemStack(
- TinkerTools.toolRod, 1, 1)});
- GameRegistry.addShapedRecipe(new ItemStack(block_ArmorAnvil), new Object[] {"ai-", "lr-", "---", 'r', new ItemStack(
- TinkerTools.toughRod, 1, 0), 'a', Blocks.anvil, 'i', Items.iron_ingot, 'l', Blocks.log});
- GameRegistry.addShapedRecipe(new ItemStack(block_aeonsteelBlock), new Object[] {"xxx", "xxx", "xxx", 'x', item_aeonsteelIngot});
- GameRegistry.addShapelessRecipe(new ItemStack(item_aeonsteelIngot, 9), new Object[] {new ItemStack(
- block_aeonsteelBlock)});
- GameRegistry.addShapedRecipe(new ItemStack(block_queensgoldBlock), new Object[] {"xxx", "xxx", "xxx", 'x', item_queensgoldIngot});
- GameRegistry.addShapelessRecipe(new ItemStack(item_queensgoldIngot, 9), new Object[] {new ItemStack(
- block_queensgoldBlock)});
- GameRegistry.addShapedRecipe(new ItemStack(block_dogbeariumBlock), new Object[] {"xxx", "xxx", "xxx", 'x', item_dogbeariumIngot});
- GameRegistry.addShapelessRecipe(new ItemStack(item_dogbeariumIngot, 9), new Object[] {new ItemStack(
- block_dogbeariumBlock)});
- GameRegistry.addShapedRecipe(new ItemStack(block_redmintBlock), new Object[] {"xxx", "xxx", "xxx", 'x', new ItemStack(
- item_redmintcane, 1, 2)});
- GameRegistry.addShapelessRecipe(new ItemStack(item_redmintcane, 9, 2), new Object[] {new ItemStack(
- block_redmintBlock)});
- GameRegistry.addShapedRecipe(new ItemStack(block_greenmintBlock), new Object[] {"xxx", "xxx", "xxx", 'x', new ItemStack(
- item_greenmintcane, 1, 3)});
- GameRegistry.addShapelessRecipe(new ItemStack(item_greenmintcane, 9, 3), new Object[] {new ItemStack(
- block_greenmintBlock)});
-
- //TinkersConstruct Registrations
- //Tools
- 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("Zweihander", tool_zweihander);
- //TConstructRegistry.addItemToDirectory("Hookshot", tool_hookshot);
-
- //Patterns
- TConstructRegistry.addItemStackToDirectory("rivets Pattern", new ItemStack(
- woodPattern, 1, 0));
- TConstructRegistry.addItemStackToDirectory("clasp Pattern", new ItemStack(
- woodPattern, 1, 1));
- TConstructRegistry.addItemStackToDirectory("armorplate Pattern", new ItemStack(
- woodPattern, 1, 2));
-
- //Entities
- // EntityRegistry.registerModEntity(EntityHookshotHook.class, "EntityHookshotHook", 0, this, 64, 10, true);
-
- if(config.ArmorAddon)
- {
- ArmorAddon.preInit(e);
- }
-
- TDIntegration.Integrate();
- mods.preInit();
- proxy.registerRenderers();
+ // mods = new Modifiers();
+
+ // Blocks
+ // block_CrestMount = new
+ // CrestMount().setHardness(4.0F).setStepSound(Block.soundTypeStone).setBlockName("crestmount").setCreativeTab(tabName);
+ // block_ArmorAnvil = new
+ // FinishingAnvil().setHardness(4.0F).setStepSound(Block.soundTypeAnvil).setBlockName("armoranvil").setCreativeTab(tabName);
+ // block_JewelersBench = new
+ // JewelersBench().setHardness(4.0F).setStepSound(Block.soundTypeWood).setBlockName("jewelersbench").setCreativeTab(tabName);
+ //
+ // block_aeonsteelBlock = new
+ // AeonSteelBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("aeonsteelblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID
+ // + ":aeonsteelblock");
+ // block_queensgoldBlock = new
+ // QueensGoldBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("queensgoldblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID
+ // + ":queensgoldblock");
+ // block_dogbeariumBlock = new
+ // DogbeariumBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("dogbeariumblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID
+ // + ":dogbeariumblock");
+ // block_redmintBlock = new
+ // RedMintBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("redmintblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID
+ // + ":redmintblock");
+ // block_greenmintBlock = new
+ // GreenMintBlock(Material.iron).setHardness(4.0F).setStepSound(Block.soundTypeMetal).setBlockName("greenmintblock").setCreativeTab(tabName).setBlockTextureName(Reference.MOD_ID
+ // + ":greenmintblock");
+
+ // Items
+ // item_Guidebook = new GuideBook();
+
+ // Fluids
+ // moltenaeonsteel = new
+ // Fluid("moltenaeonsteel").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ // moltenqueensgold = new
+ // Fluid("moltenqueensgold").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ // moltendogbearium = new
+ // Fluid("moltendogbearium").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ // moltenredmint = new
+ // Fluid("moltenredmint").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+ // moltengreenmint = new
+ // Fluid("moltengreenmint").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300);
+
+ // Tools
+ // tool_roundShield = new RoundShield();
+ // tool_heaterShield = new HeaterShield();
+ // tool_shears = new Shears();
+ // tool_wrench = new TinkerWrench();
+ // tool_zweihander = new TinkerZweihander(0);
+ // tool_hookshot = new TinkersHookshot();
+
+ // Patterns
+ // woodPattern = new TD_Patterns("pattern_", "Pattern");
+ // metalPattern = new TD_Patterns("cast_", "MetalPattern");
+
+ // Minecraft Registrations
+ // Blocks
+ // GameRegistry.registerBlock(block_CrestMount, "block_crestmount");
+ // GameRegistry.registerBlock(block_ArmorAnvil, "block_armoranvil");
+ // GameRegistry.registerBlock(block_JewelersBench,
+ // "block_jewelersbench");
+ // GameRegistry.registerBlock(block_aeonsteelBlock, "aeonsteelblock");
+ // GameRegistry.registerBlock(block_queensgoldBlock, "queensgoldblock");
+ // GameRegistry.registerBlock(block_dogbeariumBlock, "dogbeariumblock");
+ // GameRegistry.registerBlock(block_redmintBlock, "redmintblock");
+ // GameRegistry.registerBlock(block_greenmintBlock, "greenmintblock");
+
+ // Items
+ // GameRegistry.registerItem(item_Guidebook, "guidebook");
+
+ // GameRegistry.registerItem(item_aeonsteelIngot, "aeonsteelingot");
+ // GameRegistry.registerItem(item_queensgoldIngot, "queensgoldingot");
+ // GameRegistry.registerItem(item_dogbeariumIngot, "dogbeariumingot");
+ //
+ // GameRegistry.registerItem(item_redmintcane, "redmintcane");
+ // GameRegistry.registerItem(item_redmintIngot, "redmintingot");
+ // GameRegistry.registerItem(item_greenmintcane, "greenmintcane");
+ // GameRegistry.registerItem(item_greenmintIngot, "greenmintingot");
+
+ // 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_zweihander, "Zweihander");
+ // //GameRegistry.registerItem(tool_hookshot, "Hookshot");
+
+ // Patterns
+ // GameRegistry.registerItem(woodPattern, "Pattern");
+ // GameRegistry.registerItem(metalPattern, "Cast");
+
+ // TileEntities
+ // GameRegistry.registerTileEntity(TileEntity_CrestMount.class,
+ // "tile_crestmount");
+ // GameRegistry.registerTileEntity(TileEntity_FinishingAnvil.class,
+ // "tile_armoranvil");
+ // GameRegistry.registerTileEntity(TileEntity_JewelersBench.class,
+ // "tile_jewelersbench");
+
+ // Fluids
+ // FluidRegistry.registerFluid(moltenaeonsteel);
+ // FluidRegistry.registerFluid(moltenqueensgold);
+ // FluidRegistry.registerFluid(moltendogbearium);
+ // FluidRegistry.registerFluid(moltenredmint);
+ // FluidRegistry.registerFluid(moltengreenmint);
+
+ // FluidBlocks
+ // moltenaeonsteelBlock = new MoltenFluid(moltenaeonsteel, "aeonsteel");
+ // moltenqueensgoldBlock = new MoltenFluid(moltenqueensgold,
+ // "queensgold");
+ // moltendogbeariumBlock = new MoltenFluid(moltendogbearium,
+ // "dogbearium");
+ // moltenredmintBlock = new MoltenFluid(moltenredmint, "redmint");
+ // moltengreenmintBlock = new MoltenFluid(moltengreenmint, "greenmint");
+
+ // GameRegistry.registerBlock(moltenaeonsteelBlock, "moltenaeonsteel");
+ // GameRegistry.registerBlock(moltenqueensgoldBlock,
+ // "moltenqueensgold");
+ // GameRegistry.registerBlock(moltendogbeariumBlock,
+ // "moltendogbearium");
+ // GameRegistry.registerBlock(moltenredmintBlock, "moltenredmint");
+ // GameRegistry.registerBlock(moltengreenmintBlock, "moltengreenmint");
+
+ // Recipes
+ // GameRegistry.addShapedRecipe(new ItemStack(block_CrestMount), new
+ // Object[] {"xxx", "-i-", "---", 'x', new ItemStack(
+ // TinkerTools.toughRod, 1, 1), 'i', new ItemStack(
+ // TinkerTools.toolRod, 1, 1)});
+ // GameRegistry.addShapedRecipe(new ItemStack(block_ArmorAnvil), new
+ // Object[] {"ai-", "lr-", "---", 'r', new ItemStack(
+ // TinkerTools.toughRod, 1, 0), 'a', Blocks.anvil, 'i',
+ // Items.iron_ingot, 'l', Blocks.log});
+ // GameRegistry.addShapedRecipe(new ItemStack(block_aeonsteelBlock), new
+ // Object[] {"xxx", "xxx", "xxx", 'x', item_aeonsteelIngot});
+ // GameRegistry.addShapelessRecipe(new ItemStack(item_aeonsteelIngot,
+ // 9), new Object[] {new ItemStack(
+ // block_aeonsteelBlock)});
+ // GameRegistry.addShapedRecipe(new ItemStack(block_queensgoldBlock),
+ // new Object[] {"xxx", "xxx", "xxx", 'x', item_queensgoldIngot});
+ // GameRegistry.addShapelessRecipe(new ItemStack(item_queensgoldIngot,
+ // 9), new Object[] {new ItemStack(
+ // block_queensgoldBlock)});
+ // GameRegistry.addShapedRecipe(new ItemStack(block_dogbeariumBlock),
+ // new Object[] {"xxx", "xxx", "xxx", 'x', item_dogbeariumIngot});
+ // GameRegistry.addShapelessRecipe(new ItemStack(item_dogbeariumIngot,
+ // 9), new Object[] {new ItemStack(
+ // block_dogbeariumBlock)});
+ // GameRegistry.addShapedRecipe(new ItemStack(block_redmintBlock), new
+ // Object[] {"xxx", "xxx", "xxx", 'x', new ItemStack(
+ // item_redmintcane, 1, 2)});
+ // GameRegistry.addShapelessRecipe(new ItemStack(item_redmintcane, 9,
+ // 2), new Object[] {new ItemStack(
+ // block_redmintBlock)});
+ // GameRegistry.addShapedRecipe(new ItemStack(block_greenmintBlock), new
+ // Object[] {"xxx", "xxx", "xxx", 'x', new ItemStack(
+ // item_greenmintcane, 1, 3)});
+ // GameRegistry.addShapelessRecipe(new ItemStack(item_greenmintcane, 9,
+ // 3), new Object[] {new ItemStack(
+ // block_greenmintBlock)});
+
+ // TinkersConstruct Registrations
+ // Tools
+ // 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("Zweihander", tool_zweihander);
+ // TConstructRegistry.addItemToDirectory("Hookshot", tool_hookshot);
+
+ // Patterns
+ // TConstructRegistry.addItemStackToDirectory("rivets Pattern", new
+ // ItemStack(
+ // woodPattern, 1, 0));
+ // TConstructRegistry.addItemStackToDirectory("clasp Pattern", new
+ // ItemStack(
+ // woodPattern, 1, 1));
+ // TConstructRegistry.addItemStackToDirectory("armorplate Pattern", new
+ // ItemStack(
+ // woodPattern, 1, 2));
+ //
+ // //Entities
+ // // EntityRegistry.registerModEntity(EntityHookshotHook.class,
+ // "EntityHookshotHook", 0, this, 64, 10, true);
+ //
+ // if(config.ArmorAddon)
+ // {
+ // ArmorAddon.preInit(e);
+ // }
+ //
+ // TDIntegration.Integrate();
+ // mods.preInit();
+ // proxy.registerRenderers();
+
+ core.preInit();
+ holiday.preInit();
+ tools.preInit(e);
+ proxy.preInit();
}
@EventHandler
- public void init(FMLInitializationEvent e)
- {
- //I reject your moss and substitute my own!
- if(config.mossEnabled || config.mossHard)
- {
- final List<IRecipe> recipes = CraftingManager.getInstance().getRecipeList();
- final Iterator<IRecipe> recipe = recipes.iterator();
-
- while(recipe.hasNext())
- {
- final ItemStack next = recipe.next().getRecipeOutput();
- if(next != null)
- {
- if(next.getItem() == TConstructRegistry.getItemStack("mossBall").getItem() && next.getItemDamage() == TConstructRegistry.getItemStack("mossBall").getItemDamage())
- {
- recipe.remove();
- }
- }
- }
-
- if(config.mossHard)
- {
- GameRegistry.addShapedRecipe(TConstructRegistry.getItemStack("mossBall"), new Object[] {"hmh", "msm", "hmh", 'h', new ItemStack(
- TinkerArmor.heartCanister, 1, 3), 'm', new ItemStack(
- Blocks.mossy_cobblestone, 1, 0), 's', new ItemStack(
- Items.nether_star, 1, 0)});
- }
- }
+ public void init(FMLInitializationEvent e) {
- final int[] stencils = new int[5];
- for(int i = 0; i < 5; i++)
- {
- stencils[i] = StencilBuilder.getStencilCount() + i;
- }
-
- StencilBuilder.registerStencil(stencils[0], woodPattern, 0); // rivets
- StencilBuilder.registerStencil(stencils[1], woodPattern, 1); // clasp
- StencilBuilder.registerStencil(stencils[2], woodPattern, 2); // armorplate
- StencilBuilder.registerStencil(stencils[3], woodPattern, 3); // cloth
- StencilBuilder.registerStencil(stencils[4], woodPattern, 4); // chainmaille
-
- PatternBuilder.instance.addToolPattern(woodPattern);
-
- partRivet = new DynamicToolPart("_rivets", "Rivets");
- partClasp = new DynamicToolPart("_clasp", "Clasp");
- partArmorplate = new DynamicToolPart("_armorplate", "Armor Plate");
- partCloth = new Cloth().setUnlocalizedName("TD.Cloth");
- partChainmaille = new DynamicToolPart("_chainmaille", "Chainmaille");
-
- GameRegistry.registerItem(partRivet, "RivetPart");
- GameRegistry.registerItem(partClasp, "ClaspPart");
- GameRegistry.registerItem(partArmorplate, "ArmorPlatePart");
- GameRegistry.registerItem(partCloth, "clothPart");
- GameRegistry.registerItem(partChainmaille, "chainmaillePart");
-
- buildParts(partRivet, 0);
- buildParts(partClasp, 1);
- buildParts(partArmorplate, 2);
- //buildParts(partCloth, 3);
- buildParts(partChainmaille, 4);
-
- TConstructClientRegistry.stencilButtons2.add(new StencilGuiElement(0,
- 0, stencils[0],
- "tinkersdefense", "textures/gui/icons.png"));
- TConstructClientRegistry.stencilButtons2.add(new StencilGuiElement(0,
- 0, stencils[1],
- "tinkersdefense", "textures/gui/icons.png"));
- TConstructClientRegistry.stencilButtons2.add(new StencilGuiElement(0,
- 0, stencils[2],
- "tinkersdefense", "textures/gui/icons.png"));
- TConstructClientRegistry.stencilButtons2.add(new StencilGuiElement(0,
- 0, stencils[3],
- "tinkersdefense", "textures/gui/icons.png"));
- TConstructClientRegistry.stencilButtons2.add(new StencilGuiElement(0,
- 0, stencils[4],
- "tinkersdefense", "textures/gui/icons.png"));
-
- final PatternBuilder pb = PatternBuilder.instance;
-
- //Shields
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(
- 0,
- 0,
- 6,
- new int[] {0, 0, 4, 0},
- new int[] {7, 3, 2, 0},
- StatCollector.translateToLocal("gui.toolstation.roundshield.name"),
- StatCollector.translateToLocal("gui.toolstation.roundshield.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- TConstructClientRegistry.tierTwoButtons.add(new ToolGuiElement(
- 5,
- 1,
- 6,
- new int[] {0, 8, 0, 2},
- new int[] {7, 3, 7, 7},
- StatCollector.translateToLocal("gui.toolstation.heatershield.name"),
- StatCollector.translateToLocal("gui.toolstation.heatershield.desc"),
- "tinkersdefense:", "textures/gui/icons.png"));
-
- //Cloth
- //Hood
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 2, 6,
- new int[] {4, 0, 4, 0}, new int[] {7, 3, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.hood.name"),
- StatCollector.translateToLocal("gui.toolstation.hood.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Shawl
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 3, 6,
- new int[] {4, 0, 4, 0}, new int[] {7, 7, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.shawl.name"),
- StatCollector.translateToLocal("gui.toolstation.shawl.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Robe
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 4, 6,
- new int[] {4, 3, 4, 0}, new int[] {7, 7, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.robe.name"),
- StatCollector.translateToLocal("gui.toolstation.robe.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Shoes
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 5, 6,
- new int[] {4, 2, 4, 0}, new int[] {7, 7, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.shoes.name"),
- StatCollector.translateToLocal("gui.toolstation.shoes.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- //Chain
- //Coif
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 6, 6,
- new int[] {1, 8, 4, 0}, new int[] {7, 3, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.coif.name"),
- StatCollector.translateToLocal("gui.toolstation.coif.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Hauberk
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 7, 6,
- new int[] {1, 9, 4, 0}, new int[] {7, 2, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.hauberk.name"),
- StatCollector.translateToLocal("gui.toolstation.hauberk.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Chausses
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(
- 0,
- 8,
- 6,
- new int[] {1, 0, 4, 0},
- new int[] {7, 7, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.chausses.name"),
- StatCollector.translateToLocal("gui.toolstation.chausses.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Boots
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 9, 6,
- new int[] {1, 4, 2, 0}, new int[] {7, 7, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.boots.name"),
- StatCollector.translateToLocal("gui.toolstation.boots.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- //Plate
- //Helm
- TConstructClientRegistry.tierTwoButtons.add(new ToolGuiElement(0, 10,
- 6,
- new int[] {4, 8, 0, 1}, new int[] {2, 3, 7, 7},
- StatCollector.translateToLocal("gui.toolstation.helm.name"),
- StatCollector.translateToLocal("gui.toolstation.helm.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Breastplate
- TConstructClientRegistry.tierTwoButtons.add(new ToolGuiElement(
- 0,
- 11,
- 6,
- new int[] {9, 8, 0, 1},
- new int[] {2, 3, 7, 7},
- StatCollector.translateToLocal("gui.toolstation.breastplate.name"),
- StatCollector.translateToLocal("gui.toolstation.breastplate.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Grieves
- TConstructClientRegistry.tierTwoButtons.add(new ToolGuiElement(
- 0,
- 12,
- 6,
- new int[] {0, 8, 1, 4},
- new int[] {7, 3, 7, 7},
- StatCollector.translateToLocal("gui.toolstation.chausses.name"),
- StatCollector.translateToLocal("gui.toolstation.chausses.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
- //Sabatons
- TConstructClientRegistry.tierTwoButtons.add(new ToolGuiElement(
- 0,
- 13,
- 6,
- new int[] {0, 8, 0, 4},
- new int[] {7, 3, 7, 7},
- StatCollector.translateToLocal("gui.toolstation.sabatons.name"),
- StatCollector.translateToLocal("gui.toolstation.sabatons.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- //Gauntlets
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(
- 0,
- 0,
- 8,
- new int[] {0, 8, 2, 0},
- new int[] {7, 3, 7, 0},
- StatCollector.translateToLocal("gui.toolstation.gauntlets.name"),
- StatCollector.translateToLocal("gui.toolstation.gauntlets.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- //Zweihander
- TConstructClientRegistry.tierTwoButtons.add(new ToolGuiElement(
- 0,
- 3,
- 8,
- new int[] {6, 8, 2, 1},
- new int[] {3, 3, 3, 2},
- StatCollector.translateToLocal("gui.toolstation.zweihander.name"),
- StatCollector.translateToLocal("gui.toolstation.zweihander.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- //Wrench
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 1, 8,
- new int[] {3, 0, 1, 0},
- new int[] {3, 3, 3, 0},
- StatCollector.translateToLocal("gui.toolstation.wrench.name"),
- StatCollector.translateToLocal("gui.toolstation.wrench.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- //Shears
- TConstructClientRegistry.toolButtons.add(new ToolGuiElement(0, 2, 8,
- new int[] {7, 1, 7, 0},
- new int[] {2, 3, 2, 0},
- StatCollector.translateToLocal("gui.toolstation.shears.name"),
- StatCollector.translateToLocal("gui.toolstation.shears.desc"),
- "tinkersdefense", "textures/gui/icons.png"));
-
- // aeonsteel
- pb.registerMaterialSet("aeonsteel", new ItemStack(
- TinkerTools.toolShard, 1, 10), new ItemStack(
- TinkerTools.toolRod, 1, 10), config.AeonsteelMatID);
-
- TConstructClientRegistry.addMaterialRenderMapping(config.AeonsteelMatID, "tinker", "aeonsteel", true);
-
- // Tool Materials: id, name, harvestlevel, durability, speed, damage,
- // handlemodifier, reinforced, shoddy, style color, primary color for
- // block use
- TConstructRegistry.addToolMaterial(config.AeonsteelMatID, "aeonsteel", 4, 822, 1100, 3, 1.6F, 2, 0f, LIGHT_PURPLE.toString(), 0xb565e6);
- TinkerTools.registerPatternMaterial("aeonsteelIngot", 2, "aeonsteel");
- TConstructRegistry.addDefaultToolPartMaterial(config.AeonsteelMatID);
-
- Smeltery.addMelting(new ItemStack(item_aeonsteelIngot, 1, 0), block_aeonsteelBlock, 0, 500, new FluidStack(
- moltenaeonsteel, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(block_aeonsteelBlock, 0, 500, new FluidStack(
- moltenaeonsteel, TConstruct.ingotLiquidValue * 9));
-
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- item_aeonsteelIngot, 1, 0), new FluidStack(moltenaeonsteel,
- TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
-
- TConstructRegistry.getBasinCasting().addCastingRecipe(new ItemStack(
- block_aeonsteelBlock, 1, 0), new FluidStack(moltenaeonsteel,
- TConstruct.ingotLiquidValue * 9), 100);
-
- castmolten(moltenaeonsteel, config.AeonsteelMatID);
-
- PatternBuilder.instance.registerFullMaterial(new ItemStack(
- item_aeonsteelIngot, 1, 0), 2, "aeonsteel", new ItemStack(
- TinkerTools.toolShard, 1, config.AeonsteelMatID), new ItemStack(
- TinkerTools.toolRod, 1, config.AeonsteelMatID), config.AeonsteelMatID);
-
- Smeltery.addAlloyMixing(new FluidStack(moltenaeonsteel, 144), new FluidStack[] {new FluidStack(
- TinkerSmeltery.moltenAlumiteFluid, 144), new FluidStack(
- TinkerSmeltery.moltenCobaltFluid, 144)});
-
- // Queen's Gold
- pb.registerMaterialSet("queensgold", new ItemStack(
- TinkerTools.toolShard, 1, 10), new ItemStack(
- TinkerTools.toolRod, 1, 10), config.QueensGoldMatID);
-
- TConstructClientRegistry.addMaterialRenderMapping(config.QueensGoldMatID, "tinker", "queensgold", true);
- TConstructRegistry.addToolMaterial(config.QueensGoldMatID, "queensgold", 3, 100, 500, 2, 1.0F, 0, 0f, GOLD.toString(), 0xeaee57);
- TinkerTools.registerPatternMaterial("queensgoldIngot", 2, "queensgold");
- TConstructRegistry.addDefaultToolPartMaterial(config.QueensGoldMatID);
-
- Smeltery.addMelting(new ItemStack(item_queensgoldIngot, 1, 0), block_queensgoldBlock, 0, 500, new FluidStack(
- moltenqueensgold, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(block_queensgoldBlock, 0, 500, new FluidStack(
- moltenqueensgold, TConstruct.ingotLiquidValue * 9));
-
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- item_queensgoldIngot, 1, 0), new FluidStack(moltenqueensgold,
- TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
-
- TConstructRegistry.getBasinCasting().addCastingRecipe(new ItemStack(
- block_queensgoldBlock, 1, 0), new FluidStack(moltenqueensgold,
- TConstruct.ingotLiquidValue * 9), 100);
-
- castmolten(moltenqueensgold, config.QueensGoldMatID);
-
- PatternBuilder.instance.registerFullMaterial(new ItemStack(
- item_queensgoldIngot, 1, 0), 2, "queensgold", new ItemStack(
- TinkerTools.toolShard, 1, config.QueensGoldMatID), new ItemStack(
- TinkerTools.toolRod, 1, config.QueensGoldMatID), config.QueensGoldMatID);
-
- Smeltery.addAlloyMixing(new FluidStack(moltenqueensgold, 144 * 8), new FluidStack[] {new FluidStack(
- TinkerSmeltery.moltenGoldFluid, 144 * 8), new FluidStack(
- TinkerSmeltery.moltenEmeraldFluid, 80)});
-
- // dogbearium
- pb.registerMaterialSet("dogbearium", new ItemStack(
- TinkerTools.toolShard, 1, 10), new ItemStack(
- TinkerTools.toolRod, 1, 10), config.DogbeariumMatID);
-
- TConstructClientRegistry.addMaterialRenderMapping(config.DogbeariumMatID, "tinker", "dogbearium", true);
- TConstructRegistry.addToolMaterial(config.DogbeariumMatID, "dogbearium", 4, 600, 800, 2, 1.6F, 0, -2f, DARK_RED.toString(), 0x754200);
- TinkerTools.registerPatternMaterial("dogbeariumIngot", 2, "dogbearium");
- TConstructRegistry.addDefaultToolPartMaterial(config.DogbeariumMatID);
-
- Smeltery.addMelting(new ItemStack(item_dogbeariumIngot, 1, 0), block_dogbeariumBlock, 0, 500, new FluidStack(
- moltendogbearium, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(block_dogbeariumBlock, 0, 500, new FluidStack(
- moltendogbearium, TConstruct.ingotLiquidValue * 9));
-
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- item_dogbeariumIngot, 1, 0), new FluidStack(moltendogbearium,
- TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
-
- TConstructRegistry.getBasinCasting().addCastingRecipe(new ItemStack(
- block_dogbeariumBlock, 1, 0), new FluidStack(moltendogbearium,
- TConstruct.ingotLiquidValue * 9), 100);
-
- castmolten(moltendogbearium, config.DogbeariumMatID);
-
- PatternBuilder.instance.registerFullMaterial(new ItemStack(
- item_dogbeariumIngot, 1, 0), 2, "dogbearium", new ItemStack(
- TinkerTools.toolShard, 1, config.DogbeariumMatID), new ItemStack(
- TinkerTools.toolRod, 1, config.DogbeariumMatID), config.DogbeariumMatID);
-
- Smeltery.addAlloyMixing(new FluidStack(moltendogbearium, 144 * 2), new FluidStack[] {new FluidStack(
- TinkerSmeltery.moltenArditeFluid, 144), new FluidStack(
- TinkerSmeltery.bloodFluid, 160), new FluidStack(
- TinkerSmeltery.moltenEnderFluid, 250)});
-
- //Red Mint
- pb.registerMaterialSet("redmint", new ItemStack(TinkerTools.toolShard,
- 1, 10), new ItemStack(TinkerTools.toolRod, 1, 10), config.RedMintMatID);
-
- TConstructClientRegistry.addMaterialRenderMapping(config.RedMintMatID, "tinker", "redmint", true);
- TConstructRegistry.addToolMaterial(config.RedMintMatID, "redmint", 1, 50, 10, 0, 0F, 0, 0f, DARK_RED.toString(), 0xFF0000);
- TinkerTools.registerPatternMaterial("redmintIngot", 2, "redmint");
- TConstructRegistry.addDefaultToolPartMaterial(config.RedMintMatID);
-
- Smeltery.addMelting(new ItemStack(item_redmintcane, 1, 0), block_redmintBlock, 0, 250, new FluidStack(
- moltenredmint, TConstruct.chunkLiquidValue));
- Smeltery.addMelting(new ItemStack(item_redmintIngot, 1, 0), block_redmintBlock, 0, 500, new FluidStack(
- moltenredmint, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(block_redmintBlock, 0, 500, new FluidStack(
- moltenredmint, TConstruct.ingotLiquidValue * 9));
-
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- item_redmintIngot, 1, 0), new FluidStack(moltenredmint,
- TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
-
- TConstructRegistry.getBasinCasting().addCastingRecipe(new ItemStack(
- block_redmintBlock, 1, 0), new FluidStack(moltenredmint,
- TConstruct.ingotLiquidValue * 9), 100);
-
- castmolten(moltenredmint, config.RedMintMatID);
-
- PatternBuilder.instance.registerFullMaterial(new ItemStack(
- item_redmintcane, 1, 0), 2, "redmint", new ItemStack(
- TinkerTools.toolShard, 1, config.RedMintMatID), new ItemStack(
- TinkerTools.toolRod, 1, config.RedMintMatID), config.RedMintMatID);
-
- //Green Mint
- pb.registerMaterialSet("greenmint", new ItemStack(
- TinkerTools.toolShard, 1, 10), new ItemStack(
- TinkerTools.toolRod, 1, 10), config.GreenMintMatID);
-
- TConstructClientRegistry.addMaterialRenderMapping(config.GreenMintMatID, "tinker", "greenmint", true);
- TConstructRegistry.addToolMaterial(config.GreenMintMatID, "greenmint", 1, 50, 10, 0, 0F, 0, 0f, DARK_RED.toString(), 0x5bde4b);
- TinkerTools.registerPatternMaterial("greenmintIngot", 2, "greenmint");
- TConstructRegistry.addDefaultToolPartMaterial(config.GreenMintMatID);
-
- Smeltery.addMelting(new ItemStack(item_greenmintcane, 1, 0), block_greenmintBlock, 0, 250, new FluidStack(
- moltengreenmint, TConstruct.chunkLiquidValue));
- Smeltery.addMelting(new ItemStack(item_greenmintIngot, 1, 0), block_greenmintBlock, 0, 500, new FluidStack(
- moltengreenmint, TConstruct.ingotLiquidValue));
- Smeltery.addMelting(block_greenmintBlock, 0, 500, new FluidStack(
- moltengreenmint, TConstruct.ingotLiquidValue * 9));
-
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- item_greenmintIngot, 1, 0), new FluidStack(moltengreenmint,
- TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50);
-
- TConstructRegistry.getBasinCasting().addCastingRecipe(new ItemStack(
- block_greenmintBlock, 1, 0), new FluidStack(moltengreenmint,
- TConstruct.ingotLiquidValue * 9), 100);
-
- castmolten(moltengreenmint, config.GreenMintMatID);
-
- PatternBuilder.instance.registerFullMaterial(new ItemStack(
- item_greenmintcane, 1, 0), 2, "greenmint", new ItemStack(
- TinkerTools.toolShard, 1, config.GreenMintMatID), new ItemStack(
- TinkerTools.toolRod, 1, config.GreenMintMatID), config.GreenMintMatID);
-
- //Cloth
- TConstructRegistry.addCustomMaterial(new ClothMaterial(0, 2,
- new ItemStack(Blocks.wool, 1, 0), new ItemStack(
- TinkersDefense.partCloth, 1, 0), 0xffffff));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(1, 2,
- new ItemStack(Blocks.wool, 1, 1), new ItemStack(
- TinkersDefense.partCloth, 1, 1), 0xe08c54));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(2, 2,
- new ItemStack(Blocks.wool, 1, 2), new ItemStack(
- TinkersDefense.partCloth, 1, 2), 0xc16bc9));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(3, 2,
- new ItemStack(Blocks.wool, 1, 3), new ItemStack(
- TinkersDefense.partCloth, 1, 3), 0x8ba4d6));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(4, 2,
- new ItemStack(Blocks.wool, 1, 4), new ItemStack(
- TinkersDefense.partCloth, 1, 4), 0xcfc231));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(5, 2,
- new ItemStack(Blocks.wool, 1, 5), new ItemStack(
- TinkersDefense.partCloth, 1, 5), 0x50c447));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(6, 2,
- new ItemStack(Blocks.wool, 1, 6), new ItemStack(
- TinkersDefense.partCloth, 1, 6), 0xdea5b3));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(7, 2,
- new ItemStack(Blocks.wool, 1, 7), new ItemStack(
- TinkersDefense.partCloth, 1, 7), 0x494949));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(8, 2,
- new ItemStack(Blocks.wool, 1, 8), new ItemStack(
- TinkersDefense.partCloth, 1, 8), 0xb6baba));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(9, 2,
- new ItemStack(Blocks.wool, 1, 9), new ItemStack(
- TinkersDefense.partCloth, 1, 9), 0x3782a1));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(10, 2,
- new ItemStack(Blocks.wool, 1, 10), new ItemStack(
- TinkersDefense.partCloth, 1, 10), 0x9453c9));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(11, 2,
- new ItemStack(Blocks.wool, 1, 11), new ItemStack(
- TinkersDefense.partCloth, 1, 11), 0x3543a6));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(12, 2,
- new ItemStack(Blocks.wool, 1, 12), new ItemStack(
- TinkersDefense.partCloth, 1, 12), 0x5c3a24));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(13, 2,
- new ItemStack(Blocks.wool, 1, 13), new ItemStack(
- TinkersDefense.partCloth, 1, 13), 0x3e5420));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(14, 2,
- new ItemStack(Blocks.wool, 1, 14), new ItemStack(
- TinkersDefense.partCloth, 1, 14), 0xb03e38));
- TConstructRegistry.addCustomMaterial(new ClothMaterial(15, 2,
- new ItemStack(Blocks.wool, 1, 15), new ItemStack(
- TinkersDefense.partCloth, 1, 15), 0x242222));
-
- // Shields
- TConstructRegistry.addToolRecipe(tool_roundShield, partArmorplate, TinkerTools.toolRod, TinkerTools.frypanHead);
-
- TConstructRegistry.addToolRecipe(tool_heaterShield, partArmorplate, TinkerTools.toughRod, partArmorplate, partRivet);
-
- // Wrench
- 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);
-
- //TConstructRegistry.addToolRecipe(tool_hookshot, TinkersDefense.partArmorplate, TinkerTools.toughRod, TinkersDefense.partChainmaille);
-
- tcInject = new Injector(0);
- GameRegistry.registerItem(tcInject, "???");
-
- // GameRegistry.addShapelessRecipe(new ItemStack(item_Guidebook), new ItemStack(
- // Items.book), new ItemStack(partArmorplate, 1, -1));
-
- mods.Init();
-
- // for(int i = 0; i < TConstructRegistry.tools.size(); i++)
- // {
- // if(!(TConstructRegistry.tools.get(i) instanceof Injector))
- // {
- // tcInject.add(new Injector(i, TConstructRegistry.tools.get(i), injectLoc));
- // GameRegistry.registerItem(tcInject.get(i), "debugger_" + TConstructRegistry.tools.get(i).getLocalizedToolName());
- // }
- // }
-
- //AMEvent.init();
-
- if(config.ArmorAddon)
- {
- ArmorAddon.init(e);
+ // I reject your moss and substitute my own!
+ if (config.mossEnabled || config.mossHard) {
}
+ final List<IRecipe> recipes = CraftingManager.getInstance()
+ .getRecipeList();
+ final Iterator<IRecipe> recipe = recipes.iterator();
+
+ core.init();
+ holiday.init();
+ mats.setupMaterials(e);
+ tools.init(e);
+ proxy.Init();
}
@EventHandler
- public void postInit(FMLPostInitializationEvent e)
- {
-
- if(config.ArmorAddon)
- {
- ArmorAddon.postInit(e);
- }
+ public void postInit(FMLPostInitializationEvent e) {
+ //
+ // if(config.ArmorAddon)
+ // {
+ // ArmorAddon.postInit(e);
+ // }
+ tools.postInit(e);
}
- public void castmolten(Fluid fluid, int ID)
- {
- // .addCastingRecipe(output, fluid, cast, hardeningDelay)
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.toolRod, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("toolRodCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.pickaxeHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("pickaxeHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.shovelHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("shovelHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.hatchetHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("hatchetHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.swordBlade, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("swordBladeCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.fullGuard, 1, ID), new FluidStack(fluid,
- (int) (144 * 3.0D)), TConstructRegistry.getItemStack("fullGuardCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.wideGuard, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("wideGuardCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.crossbar, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("crossbarCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.binding, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("bindingCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.handGuard, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("handGuardCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.frypanHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("frypanHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.signHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("signHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.knifeBlade, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("knifeBladeCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.chiselHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 0.5D)), TConstructRegistry.getItemStack("chiselHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.toughRod, 1, ID), new FluidStack(fluid,
- (int) (144 * 3.0D)), TConstructRegistry.getItemStack("toughRodCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.toughBinding, 1, ID), new FluidStack(fluid,
- (int) (144 * 3.0D)), TConstructRegistry.getItemStack("toughBindingCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.largePlate, 1, ID), new FluidStack(fluid,
- (int) (144 * 8.0D)), TConstructRegistry.getItemStack("largePlateCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.broadAxeHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 8.0D)), TConstructRegistry.getItemStack("broadAxeHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.scytheBlade, 1, ID), new FluidStack(fluid,
- (int) (144 * 8.0D)), TConstructRegistry.getItemStack("scytheHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.excavatorHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 8.0D)), TConstructRegistry.getItemStack("excavatorHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.largeSwordBlade, 1, ID), new FluidStack(fluid,
- (int) (144 * 8.0D)), TConstructRegistry.getItemStack("largeBladeCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.hammerHead, 1, ID), new FluidStack(fluid,
- (int) (144 * 8.0D)), TConstructRegistry.getItemStack("hammerHeadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- TinkerTools.arrowhead, 1, ID), new FluidStack(fluid,
- (int) (144 * 1.0D)), TConstructRegistry.getItemStack("arrowheadCast"), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- partArmorplate, 1, ID), new FluidStack(fluid,
- (int) (144 * 4.0D)), new ItemStack(metalPattern, 1, 2), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- partRivet, 1, ID), new FluidStack(fluid, (int) (144 * 0.5D)), new ItemStack(
- metalPattern, 1, 0), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- partClasp, 1, ID), new FluidStack(fluid, (int) (144 * 1.0D)), new ItemStack(
- metalPattern, 1, 1), 50);
- TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
- partChainmaille, 1, ID), new FluidStack(fluid,
- (int) (144 * 4.0D)), new ItemStack(metalPattern, 1, 4), 50);
- }
-
- public void buildParts(Item item, int meta)
- {
- final int[] nonMetals = {0, 1, 3, 4, 5, 6, 7, 8, 9, 17};
- final int[] liquidDamage = new int[] {2, 13, 10, 11, 12, 14, 15, 6, 16, 18};
-
- for(int mat = 0; mat < nonMetals.length; mat++) //
- {
- TConstructRegistry.addPartMapping(woodPattern, meta, mat, new ItemStack(
- item, 1, mat));
- }
-
- final LiquidCasting tableCasting = TConstructRegistry.getTableCasting();
- // patternOutputs = new Item[] { partShuriken, partCrossbowLimb,
- // partCrossbowBody, partBowLimb };
-
- final ItemStack cast = new ItemStack(metalPattern, 1, meta);
-
- tableCasting.addCastingRecipe(cast, new FluidStack(
- TinkerSmeltery.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new ItemStack(
- item, 1, Short.MAX_VALUE), false, 50);
- tableCasting.addCastingRecipe(cast, new FluidStack(
- TinkerSmeltery.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new ItemStack(
- item, 1, Short.MAX_VALUE), false, 50);
-
- for(int iterTwo = 0; iterTwo < TinkerSmeltery.liquids.length; iterTwo++)
- {
- final Fluid fs = TinkerSmeltery.liquids[iterTwo].getFluid();
- final int fluidAmount = metalPattern.getPatternCost(cast) * TConstruct.ingotLiquidValue / 2;
- final ItemStack metalCast = new ItemStack(item, 1,
- liquidDamage[iterTwo]);
- tableCasting.addCastingRecipe(metalCast, new FluidStack(fs,
- fluidAmount), cast, 50);
- Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0, fluidAmount);
- }
+ public void castmolten(Fluid fluid, int ID) {
+ // // .addCastingRecipe(output, fluid, cast, hardeningDelay)
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.toolRod, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)), TConstructRegistry.getItemStack("toolRodCast"),
+ // 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.pickaxeHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)),
+ // TConstructRegistry.getItemStack("pickaxeHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.shovelHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)),
+ // TConstructRegistry.getItemStack("shovelHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.hatchetHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)),
+ // TConstructRegistry.getItemStack("hatchetHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.swordBlade, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)),
+ // TConstructRegistry.getItemStack("swordBladeCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.fullGuard, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 3.0D)),
+ // TConstructRegistry.getItemStack("fullGuardCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.wideGuard, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)),
+ // TConstructRegistry.getItemStack("wideGuardCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.crossbar, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)), TConstructRegistry.getItemStack("crossbarCast"),
+ // 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.binding, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)), TConstructRegistry.getItemStack("bindingCast"),
+ // 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.handGuard, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)),
+ // TConstructRegistry.getItemStack("handGuardCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.frypanHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)),
+ // TConstructRegistry.getItemStack("frypanHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.signHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)), TConstructRegistry.getItemStack("signHeadCast"),
+ // 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.knifeBlade, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)),
+ // TConstructRegistry.getItemStack("knifeBladeCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.chiselHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 0.5D)),
+ // TConstructRegistry.getItemStack("chiselHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.toughRod, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 3.0D)), TConstructRegistry.getItemStack("toughRodCast"),
+ // 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.toughBinding, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 3.0D)),
+ // TConstructRegistry.getItemStack("toughBindingCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.largePlate, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 8.0D)),
+ // TConstructRegistry.getItemStack("largePlateCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.broadAxeHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 8.0D)),
+ // TConstructRegistry.getItemStack("broadAxeHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.scytheBlade, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 8.0D)),
+ // TConstructRegistry.getItemStack("scytheHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.excavatorHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 8.0D)),
+ // TConstructRegistry.getItemStack("excavatorHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.largeSwordBlade, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 8.0D)),
+ // TConstructRegistry.getItemStack("largeBladeCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.hammerHead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 8.0D)),
+ // TConstructRegistry.getItemStack("hammerHeadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // TinkerTools.arrowhead, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 1.0D)),
+ // TConstructRegistry.getItemStack("arrowheadCast"), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // partArmorplate, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 4.0D)), new ItemStack(metalPattern, 1, 2), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // partRivet, 1, ID), new FluidStack(fluid, (int) (144 * 0.5D)), new
+ // ItemStack(
+ // metalPattern, 1, 0), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // partClasp, 1, ID), new FluidStack(fluid, (int) (144 * 1.0D)), new
+ // ItemStack(
+ // metalPattern, 1, 1), 50);
+ // TConstructRegistry.getTableCasting().addCastingRecipe(new ItemStack(
+ // partChainmaille, 1, ID), new FluidStack(fluid,
+ // (int) (144 * 4.0D)), new ItemStack(metalPattern, 1, 4), 50);
}
- public static int[] hexToRGB(String hex)
- {
- final int color[] = new int[3];
-
- color[0] = Integer.parseInt(hex.substring(0, 2), 16);
- color[1] = Integer.parseInt(hex.substring(2, 4), 16);
- color[2] = Integer.parseInt(hex.substring(4, 6), 16);
-
- return color;
- }
+ // public void buildParts(Item item, int meta)
+ // {
+ // final int[] nonMetals = {0, 1, 3, 4, 5, 6, 7, 8, 9, 17};
+ // final int[] liquidDamage = new int[] {2, 13, 10, 11, 12, 14, 15, 6, 16,
+ // 18};
+ //
+ // for(int mat = 0; mat < nonMetals.length; mat++) //
+ // {
+ // TConstructRegistry.addPartMapping(woodPattern, meta, mat, new ItemStack(
+ // item, 1, mat));
+ // }
+ //
+ // final LiquidCasting tableCasting = TConstructRegistry.getTableCasting();
+ // // patternOutputs = new Item[] { partShuriken, partCrossbowLimb,
+ // // partCrossbowBody, partBowLimb };
+ //
+ // final ItemStack cast = new ItemStack(metalPattern, 1, meta);
+ //
+ // tableCasting.addCastingRecipe(cast, new FluidStack(
+ // TinkerSmeltery.moltenAlubrassFluid, TConstruct.ingotLiquidValue), new
+ // ItemStack(
+ // item, 1, Short.MAX_VALUE), false, 50);
+ // tableCasting.addCastingRecipe(cast, new FluidStack(
+ // TinkerSmeltery.moltenGoldFluid, TConstruct.ingotLiquidValue * 2), new
+ // ItemStack(
+ // item, 1, Short.MAX_VALUE), false, 50);
+ //
+ // for(int iterTwo = 0; iterTwo < TinkerSmeltery.liquids.length; iterTwo++)
+ // {
+ // final Fluid fs = TinkerSmeltery.liquids[iterTwo].getFluid();
+ // final int fluidAmount = metalPattern.getPatternCost(cast) *
+ // TConstruct.ingotLiquidValue / 2;
+ // final ItemStack metalCast = new ItemStack(item, 1,
+ // liquidDamage[iterTwo]);
+ // tableCasting.addCastingRecipe(metalCast, new FluidStack(fs,
+ // fluidAmount), cast, 50);
+ // Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0,
+ // fluidAmount);
+ // }
+ // }
+
+
}
diff --git a/src/main/java/lance5057/tDefense/baubles/BaublesBase.java b/src/main/java/lance5057/tDefense/baubles/BaublesBase.java
new file mode 100644
index 0000000..7152104
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/baubles/BaublesBase.java
@@ -0,0 +1,8 @@
+package lance5057.tDefense.baubles;
+
+import lance5057.tDefense.util.ModuleBase;
+
+public class BaublesBase extends ModuleBase
+{
+
+}
diff --git a/src/main/java/lance5057/tDefense/baubles/BaublesItems.java b/src/main/java/lance5057/tDefense/baubles/BaublesItems.java
new file mode 100644
index 0000000..729654a
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/baubles/BaublesItems.java
@@ -0,0 +1,5 @@
+package lance5057.tDefense.baubles;
+
+public class BaublesItems {
+
+}
diff --git a/src/main/java/lance5057/tDefense/core/CoreBase.java b/src/main/java/lance5057/tDefense/core/CoreBase.java
new file mode 100644
index 0000000..480aebd
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/CoreBase.java
@@ -0,0 +1,11 @@
+package lance5057.tDefense.core;
+
+import lance5057.tDefense.util.ModuleBase;
+
+public class CoreBase extends ModuleBase
+{
+ public CoreBase()
+ {
+ items = new CoreItems();
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/CoreItems.java b/src/main/java/lance5057/tDefense/core/CoreItems.java
new file mode 100644
index 0000000..c4a5fa6
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/CoreItems.java
@@ -0,0 +1,38 @@
+package lance5057.tDefense.core;
+
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.proxy.ClientProxy;
+import lance5057.tDefense.util.ItemsBase;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fml.common.registry.GameRegistry;
+
+public class CoreItems extends ItemsBase
+{
+
+
+ public static Item item_aeonsteelIngot;
+ public static Item item_queensgoldIngot;
+ public static Item item_dogbeariumIngot;
+
+ public CoreItems()
+ {
+
+ }
+
+ public void preInit()
+ {
+ this.setTab("TDefense_Items", new ItemStack(Items.SHIELD));
+ }
+
+ public void init()
+ {
+ item_aeonsteelIngot = register("aeonsteelingot", 64);
+ item_queensgoldIngot = register("queensgoldingot", 64);
+ item_dogbeariumIngot = register("dogbeariumingot", 64);
+
+ this.tabName.setDisplayIcon(new ItemStack(item_aeonsteelIngot));
+ }
+
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java b/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java
new file mode 100644
index 0000000..42831eb
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/ShieldMaterialStats.java
@@ -0,0 +1,77 @@
+package lance5057.tDefense.core.materials;
+
+import java.util.List;
+
+import net.minecraft.util.text.TextFormatting;
+
+import com.google.common.collect.Lists;
+
+import slimeknights.tconstruct.library.TinkerRegistry;
+import slimeknights.tconstruct.library.Util;
+import slimeknights.tconstruct.library.client.CustomFontColor;
+import slimeknights.tconstruct.library.materials.AbstractMaterialStats;
+import slimeknights.tconstruct.library.materials.Material;
+import slimeknights.tconstruct.library.utils.HarvestLevels;
+
+public class ShieldMaterialStats extends AbstractMaterialStats {
+
+ public final static String TYPE = "shield";
+
+ public final static String LOC_Durability = "stat.shield.durability.name";
+ public final static String LOC_PercentBlocked = "stat.shield.percentblocked.name";
+
+ public final static String LOC_DurabilityDesc = "stat.shield.durability.desc";
+ public final static String LOC_PercentBlockedDesc = "stat.shield.percentblocked.desc";
+
+ public final static String COLOR_Durability = CustomFontColor.valueToColorCode(1f);
+ public final static String COLOR_PercentBlocked = CustomFontColor.encodeColor(215, 100, 100);
+
+ public final int durability; // usually between 1 and 1000
+ public final int percentBlocked; // vanilla is 33%
+
+ public ShieldMaterialStats(int durability, int percentBlocked) {
+ super(TYPE);
+ this.durability = durability;
+ this.percentBlocked = percentBlocked;
+
+ }
+
+ @Override
+ public List<String> getLocalizedInfo() {
+ List<String> info = Lists.newArrayList();
+
+ info.add(formatDurability(durability));
+ info.add(formatPercentBlocked(percentBlocked));
+
+ return info;
+ }
+
+ public static String formatDurability(int durability) {
+ return formatNumber(LOC_Durability, COLOR_Durability, durability);
+ }
+
+ public static String formatDurability(int durability, int ref) {
+ return String.format("%s: %s%s%s/%s%s",
+ Util.translate(LOC_Durability),
+ CustomFontColor.valueToColorCode((float) durability / (float) ref),
+ Util.df.format(durability),
+ TextFormatting.GRAY.toString(),
+ COLOR_Durability,
+ Util.df.format(ref))
+ + TextFormatting.RESET;
+ }
+
+ public static String formatPercentBlocked(int percent) {
+ return formatNumber(LOC_PercentBlocked, COLOR_PercentBlocked, percent) + "%";
+ }
+
+ @Override
+ public List<String> getLocalizedDesc() {
+ List<String> info = Lists.newArrayList();
+
+ info.add(Util.translate(LOC_DurabilityDesc));
+ info.add(Util.translate(LOC_PercentBlockedDesc));
+
+ return info;
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
new file mode 100644
index 0000000..7640128
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/TDMaterials.java
@@ -0,0 +1,153 @@
+package lance5057.tDefense.core.materials;
+
+import static slimeknights.tconstruct.library.utils.HarvestLevels.COBALT;
+
+import java.util.Collection;
+import java.util.List;
+
+import lance5057.tDefense.core.materials.traits.TraitAxeLover;
+import lance5057.tDefense.core.materials.traits.TraitDulling;
+import lance5057.tDefense.core.materials.traits.TraitFirestarter;
+import net.minecraftforge.fml.common.event.FMLInitializationEvent;
+import slimeknights.tconstruct.library.TinkerRegistry;
+import slimeknights.tconstruct.library.materials.ExtraMaterialStats;
+import slimeknights.tconstruct.library.materials.HandleMaterialStats;
+import slimeknights.tconstruct.library.materials.HeadMaterialStats;
+import slimeknights.tconstruct.library.materials.Material;
+import slimeknights.tconstruct.library.materials.MaterialTypes;
+import slimeknights.tconstruct.library.traits.AbstractTrait;
+import slimeknights.tconstruct.tools.TinkerMaterials;
+
+import com.google.common.collect.Lists;
+import com.google.common.eventbus.Subscribe;
+
+public class TDMaterials {
+
+ public static final List<Material> materials = Lists.newArrayList();
+
+ String SHIELD = ShieldMaterialStats.TYPE;
+
+ public static final Material aeonsteel = mat("aeonsteel", 0xd200d1);
+ public static final Material queensgold = mat("queensgold", 0xdede00);
+ public static final Material dogbearium = mat("dogbearium", 0x604933);
+
+ public static final AbstractTrait axelover = new TraitAxeLover();
+ public static final AbstractTrait dulling = new TraitDulling();
+ public static final AbstractTrait firestarter = new TraitFirestarter();
+
+ private static Material mat(String name, int color) {
+ Material mat = new Material(name, color);
+ materials.add(mat);
+ return mat;
+ }
+
+ @Subscribe
+ public void setupMaterials(FMLInitializationEvent event) {
+ Material.UNKNOWN.addStats(new ShieldMaterialStats(35, 33));
+
+// TinkerRegistry.addMaterialStats(Material.UNKNOWN,
+// new ShieldMaterialStats(35, 33));
+
+ // TinkerRegistry.addMaterialStats(Material.UNKNOWN,
+ // new ShieldMaterialStats(35, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.wood,
+ new ShieldMaterialStats(35, 33));
+ TinkerMaterials.wood.addTrait(axelover, SHIELD);
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.stone,
+ new ShieldMaterialStats(120, 33));
+ // TinkerRegistry.addMaterialTrait(TinkerMaterials.stone, dulling,
+ // SHIELD);
+ TinkerMaterials.stone.addTrait(dulling, SHIELD);
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.flint,
+ new ShieldMaterialStats(150, 33));
+ TinkerRegistry.addMaterialTrait(TinkerMaterials.flint, firestarter, SHIELD);
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cactus,
+ new ShieldMaterialStats(210, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bone,
+ new ShieldMaterialStats(200, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.obsidian,
+ new ShieldMaterialStats(139, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.prismarine,
+ new ShieldMaterialStats(430, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.endstone,
+ new ShieldMaterialStats(420, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.paper,
+ new ShieldMaterialStats(12, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.sponge,
+ new ShieldMaterialStats(550, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.firewood,
+ new ShieldMaterialStats(550, 33));
+
+ // Slime
+ TinkerRegistry.addMaterialStats(TinkerMaterials.slime,
+ new ShieldMaterialStats(1000, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.blueslime,
+ new ShieldMaterialStats(780, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.knightslime,
+ new ShieldMaterialStats(850, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.magmaslime,
+ new ShieldMaterialStats(600, 33));
+
+ // Nether
+ TinkerRegistry.addMaterialStats(TinkerMaterials.netherrack,
+ new ShieldMaterialStats(270, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.cobalt,
+ new ShieldMaterialStats(780, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.ardite,
+ new ShieldMaterialStats(990, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.manyullyn,
+ new ShieldMaterialStats(820, 33));
+
+ // Metals
+ TinkerRegistry.addMaterialStats(TinkerMaterials.iron,
+ new ShieldMaterialStats(204, 33));
+ TinkerRegistry.addMaterialStats(TinkerMaterials.pigiron,
+ new ShieldMaterialStats(380, 33));
+
+ // Mod Integration
+ TinkerRegistry.addMaterialStats(TinkerMaterials.copper,
+ new ShieldMaterialStats(210, 33));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.bronze,
+ new ShieldMaterialStats(430, 33));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.lead,
+ new ShieldMaterialStats(334, 33));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.silver,
+ new ShieldMaterialStats(250, 33));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.electrum,
+ new ShieldMaterialStats(50, 33));
+
+ TinkerRegistry.addMaterialStats(TinkerMaterials.steel,
+ new ShieldMaterialStats(540, 33));
+
+ TinkerRegistry.addMaterialStats(aeonsteel, new HeadMaterialStats(1000,
+ 4.0f, 3.00f, COBALT), new HandleMaterialStats(1.10f, 200),
+ new ExtraMaterialStats(500));
+ // iron.addItemIngot("ingotIron");
+ // iron.setRepresentativeItem(Items.field_151042_j);
+ // iron.addTrait(magnetic2, HEAD);
+ // iron.addTrait(magnetic);
+
+ // TinkerMaterials.stone.addTrait(TinkerMaterials.cheapskate,
+ // ShieldMaterialStats.TYPE);
+
+ //TAIGA TEST
+ Collection<Material> mats = TinkerRegistry.getAllMaterials();
+ for (Material i : mats) {
+ if(!i.hasStats(SHIELD))
+ {
+ if(i.hasStats(MaterialTypes.HEAD))
+ {
+ int dur = ((HeadMaterialStats)i.getStats(MaterialTypes.HEAD)).durability;
+ i.addStats(new ShieldMaterialStats(dur, 33));
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
new file mode 100644
index 0000000..0b12566
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitAxeLover.java
@@ -0,0 +1,47 @@
+package lance5057.tDefense.core.materials.traits;
+
+import lance5057.tDefense.util.TDToolHelper;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.inventory.InventoryHelper;
+import net.minecraft.item.ItemAxe;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumHand;
+import net.minecraft.util.text.TextFormatting;
+import net.minecraftforge.event.entity.living.LivingHurtEvent;
+import slimeknights.tconstruct.library.traits.AbstractTrait;
+import slimeknights.tconstruct.library.utils.ToolHelper;
+import slimeknights.tconstruct.tools.tools.Hatchet;
+import slimeknights.tconstruct.tools.tools.LumberAxe;
+import slimeknights.tconstruct.tools.tools.Mattock;
+
+public class TraitAxeLover extends AbstractTrait {
+
+ public TraitAxeLover() {
+ super("securiphilic", TextFormatting.GREEN);
+ }
+
+ @Override
+ public void onBlock(ItemStack tool, EntityPlayer player,
+ LivingHurtEvent event) {
+ Entity src = event.getSource().getSourceOfDamage();
+ if (src != null && src instanceof EntityLiving) {
+ EntityLivingBase liv = (EntityLivingBase) src;
+
+ if (liv.getHeldItemMainhand() != null) {
+ ItemStack held = liv.getHeldItemMainhand();
+ if (held.getItem() instanceof LumberAxe
+ || held.getItem() instanceof ItemAxe
+ || held.getItem() instanceof Hatchet
+ || held.getItem() instanceof Mattock) {
+ if (player.worldObj.rand.nextInt(100) < 5) {
+ liv.entityDropItem(liv.getHeldItemMainhand(), 0f);
+ liv.setHeldItem(EnumHand.MAIN_HAND, null);
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java
new file mode 100644
index 0000000..263f4e4
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitDulling.java
@@ -0,0 +1,40 @@
+package lance5057.tDefense.core.materials.traits;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.text.TextFormatting;
+import net.minecraftforge.event.entity.living.LivingHurtEvent;
+import slimeknights.tconstruct.library.tools.ToolCore;
+import slimeknights.tconstruct.library.traits.AbstractTrait;
+import slimeknights.tconstruct.library.utils.ToolHelper;
+
+public class TraitDulling extends AbstractTrait {
+
+ public TraitDulling() {
+ super("dulling", TextFormatting.GRAY);
+ }
+
+ @Override
+ public void onBlock(ItemStack tool, EntityPlayer player,
+ LivingHurtEvent event) {
+ Entity src = event.getSource().getSourceOfDamage();
+ if (src != null && src instanceof EntityLiving) {
+ EntityLivingBase liv = (EntityLivingBase) src;
+
+ if (liv.getHeldItemMainhand() != null
+ && liv.getHeldItemMainhand().isItemStackDamageable()) {
+ ItemStack held = liv.getHeldItemMainhand();
+ if(held.getItem() instanceof ToolCore)
+ {
+ ToolHelper.damageTool(held, 5, player);
+ }
+ else if (held.isItemStackDamageable()) {
+ held.damageItem(5, liv);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
new file mode 100644
index 0000000..138c410
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitFirestarter.java
@@ -0,0 +1,46 @@
+package lance5057.tDefense.core.materials.traits;
+
+import lance5057.tDefense.util.TDToolHelper;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.Vec3d;
+import net.minecraft.util.math.Vec3i;
+import net.minecraft.util.text.TextFormatting;
+import net.minecraftforge.event.entity.living.LivingHurtEvent;
+import slimeknights.tconstruct.library.tools.ToolCore;
+import slimeknights.tconstruct.library.traits.AbstractTrait;
+import slimeknights.tconstruct.library.utils.ToolHelper;
+
+public class TraitFirestarter extends AbstractTrait {
+
+ public TraitFirestarter() {
+ super("firestarter", TextFormatting.RED);
+ }
+
+ @Override
+ public void onBlock(ItemStack tool, EntityPlayer player,
+ LivingHurtEvent event) {
+ Entity src = event.getSource().getSourceOfDamage();
+ if (src != null && src instanceof EntityLiving) {
+ EntityLivingBase liv = (EntityLivingBase) src;
+
+ if (liv.getHeldItemMainhand() != null) {
+ ItemStack held = liv.getHeldItemMainhand();
+ if(held.getItem() instanceof ToolCore)
+ {
+ if(TDToolHelper.checkIfMetal(tool))
+ {
+ Vec3d vec = player.getLookVec();
+ BlockPos block = player.getPosition().add(vec.xCoord,-1,vec.zCoord);
+ player.worldObj.setBlockState(block, Blocks.FIRE.getDefaultState());
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/core/materials/traits/TraitMagnetism.java b/src/main/java/lance5057/tDefense/core/materials/traits/TraitMagnetism.java
new file mode 100644
index 0000000..6ad2bb7
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/materials/traits/TraitMagnetism.java
@@ -0,0 +1,5 @@
+package lance5057.tDefense.core.materials.traits;
+
+public class TraitMagnetism {
+
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/HeaterShield.java b/src/main/java/lance5057/tDefense/core/tools/HeaterShield.java
index 06bcd34..34606c2 100644
--- a/src/main/java/lance5057/tDefense/core/tools/HeaterShield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/HeaterShield.java
@@ -5,7 +5,8 @@ import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-import tconstruct.tools.TinkerTools;
+import slimeknights.tconstruct.library.tinkering.PartMaterialType;
+import slimeknights.tconstruct.tools.TinkerTools;
public class HeaterShield extends Shield
{
@@ -13,129 +14,132 @@ public class HeaterShield extends Shield
public HeaterShield()
{
- super(0);
+ super(PartMaterialType.handle(TinkerTools.toughToolRod),
+ ShieldMat,
+ ShieldMat,
+ PartMaterialType.extra(TinkerTools.toughBinding));
setUnlocalizedName("heatershield");
}
- @Override
- public Item getHeadItem()
- {
- return TinkersDefense.partArmorplate;
- }
-
- @Override
- public Item getHandleItem()
- {
- return TinkerTools.toughRod;
- }
-
- @Override
- public Item getAccessoryItem()
- {
- return TinkersDefense.partArmorplate;
- }
-
- @Override
- public Item getExtraItem()
- {
- return TinkersDefense.partRivet;
- }
-
- @Override
- public int durabilityTypeAccessory()
- {
- return 2;
- }
-
- @Override
- public float getRepairCost()
- {
- return 4.0f;
- }
-
- @Override
- public float getDurabilityModifier()
- {
- return 2.5f;
- }
-
- @Override
- public float breakSpeedModifier()
- {
- return 0.4f;
- }
-
- @Override
- public float getDamageModifier()
- {
- return 1.4f;
- }
-
- @Override
- public int getPartAmount()
- {
- return 4;
- }
-
- @Override
- public String getIconSuffix(int partType)
- {
- switch(partType)
- {
- case 0:
- return "_shield_plate";
- case 1:
- return "_shield_plate_broken";
- case 2:
- return "_shield_edge";
- case 3:
- return "_shield_face";
- case 4:
- return "_shield_binding";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix()
- {
- return "_shield_effect";
- }
-
- @Override
- public String getDefaultFolder()
- {
- return "heatershield";
- }
-
- // /* tool_TinkerShield specific */
- // @Override
- // public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player,
- // Entity entity) {
- // if (AbilityHelper.onLeftClickEntity(stack, player, entity, this)) {
- // entity.hurtResistantTime += 7;
- // /*
- // * if (entity instanceof EntityLiving) { EntityLiving living =
- // * (EntityLiving) entity; if (living.getHealth() <= 0) {
- // *
- // * } }
- // */
- // // if (entity.getHealth() <= 0)
- // }
- // return true;
- // }
-
- @Override
- public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5)
- {
- super.onUpdate(stack, world, entity, par4, par5);
-
- }
-
- @Override
- protected String getHarvestType()
- {
- return "shield";
- }
+// @Override
+// public Item getHeadItem()
+// {
+// return TinkersDefense.partArmorplate;
+// }
+//
+// @Override
+// public Item getHandleItem()
+// {
+// return TinkerTools.toughRod;
+// }
+//
+// @Override
+// public Item getAccessoryItem()
+// {
+// return TinkersDefense.partArmorplate;
+// }
+//
+// @Override
+// public Item getExtraItem()
+// {
+// return TinkersDefense.partRivet;
+// }
+//
+// @Override
+// public int durabilityTypeAccessory()
+// {
+// return 2;
+// }
+//
+// @Override
+// public float getRepairCost()
+// {
+// return 4.0f;
+// }
+//
+// @Override
+// public float getDurabilityModifier()
+// {
+// return 2.5f;
+// }
+//
+// @Override
+// public float breakSpeedModifier()
+// {
+// return 0.4f;
+// }
+//
+// @Override
+// public float getDamageModifier()
+// {
+// return 1.4f;
+// }
+//
+// @Override
+// public int getPartAmount()
+// {
+// return 4;
+// }
+//
+// @Override
+// public String getIconSuffix(int partType)
+// {
+// switch(partType)
+// {
+// case 0:
+// return "_shield_plate";
+// case 1:
+// return "_shield_plate_broken";
+// case 2:
+// return "_shield_edge";
+// case 3:
+// return "_shield_face";
+// case 4:
+// return "_shield_binding";
+// default:
+// return "";
+// }
+// }
+//
+// @Override
+// public String getEffectSuffix()
+// {
+// return "_shield_effect";
+// }
+//
+// @Override
+// public String getDefaultFolder()
+// {
+// return "heatershield";
+// }
+//
+// // /* tool_TinkerShield specific */
+// // @Override
+// // public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player,
+// // Entity entity) {
+// // if (AbilityHelper.onLeftClickEntity(stack, player, entity, this)) {
+// // entity.hurtResistantTime += 7;
+// // /*
+// // * if (entity instanceof EntityLiving) { EntityLiving living =
+// // * (EntityLiving) entity; if (living.getHealth() <= 0) {
+// // *
+// // * } }
+// // */
+// // // if (entity.getHealth() <= 0)
+// // }
+// // return true;
+// // }
+//
+// @Override
+// public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5)
+// {
+// super.onUpdate(stack, world, entity, par4, par5);
+//
+// }
+//
+// @Override
+// protected String getHarvestType()
+// {
+// return "shield";
+// }
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/RoundShield.java b/src/main/java/lance5057/tDefense/core/tools/RoundShield.java
index 474854e..b4e64f6 100644
--- a/src/main/java/lance5057/tDefense/core/tools/RoundShield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/RoundShield.java
@@ -5,7 +5,8 @@ import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
-import tconstruct.tools.TinkerTools;
+import slimeknights.tconstruct.library.tinkering.PartMaterialType;
+import slimeknights.tconstruct.tools.TinkerTools;
public class RoundShield extends Shield
{
@@ -13,118 +14,19 @@ public class RoundShield extends Shield
public RoundShield()
{
- super(0);
+ super(PartMaterialType.handle(TinkerTools.toolRod),
+ ShieldMat,
+ PartMaterialType.head(TinkerTools.panHead));
setUnlocalizedName("shield");
}
@Override
- public Item getHeadItem()
- {
- return TinkersDefense.partArmorplate;
- }
-
- @Override
- public Item getHandleItem()
- {
- return TinkerTools.toolRod;
- }
-
- @Override
- public Item getAccessoryItem()
- {
- return TinkerTools.frypanHead;
- }
-
- @Override
- public int durabilityTypeAccessory()
- {
- return 2;
- }
-
- @Override
- public int getModifierAmount()
- {
- return 1;
- }
-
- @Override
- public float getRepairCost()
- {
- return 4.0f;
- }
-
- @Override
- public float getDurabilityModifier()
- {
- return 1f;
- }
-
- @Override
public float breakSpeedModifier()
{
return 0.4f;
}
@Override
- public float getDamageModifier()
- {
- return 0f;
- }
-
- @Override
- public int getPartAmount()
- {
- return 3;
- }
-
- @Override
- public String getIconSuffix(int partType)
- {
- switch(partType)
- {
- case 0:
- return "_shield_face";
- case 1:
- return "_shield_face_broken";
- case 2:
- return "_shield_edge";
- case 3:
- return "_shield_boss";
- default:
- return "";
- }
- }
-
- @Override
- public String getEffectSuffix()
- {
- return "_shield_effect";
- }
-
- @Override
- public String getDefaultFolder()
- {
- return "shield";
- }
-
- // /* tool_TinkerShield specific */
- // @Override
- // public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player,
- // Entity entity) {
- // if (AbilityHelper.onLeftClickEntity(stack, player, entity, this)) {
- // entity.hurtResistantTime += 7;
- // /*
- // * if (entity instanceof EntityLiving) { EntityLiving living =
- // * (EntityLiving) entity; if (living.getHealth() <= 0) {
- // *
- // * } }
- // */
- // // if (entity.getHealth() <= 0)
- // }
- // return true;
- // }
-
- @Override
public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5)
{
super.onUpdate(stack, world, entity, par4, par5);
diff --git a/src/main/java/lance5057/tDefense/core/tools/Shield.java b/src/main/java/lance5057/tDefense/core/tools/Shield.java
index 2f20e67..fc88e7b 100644
--- a/src/main/java/lance5057/tDefense/core/tools/Shield.java
+++ b/src/main/java/lance5057/tDefense/core/tools/Shield.java
@@ -2,36 +2,57 @@ package lance5057.tDefense.core.tools;
import java.util.List;
-import mods.battlegear2.api.ISheathed;
-import mods.battlegear2.api.shield.IArrowCatcher;
-import mods.battlegear2.api.shield.IArrowDisplay;
-import mods.battlegear2.api.shield.IShield;
+import javax.annotation.Nullable;
+
+import lance5057.tDefense.core.materials.ShieldMaterialStats;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.EnumAction;
+import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ActionResult;
import net.minecraft.util.DamageSource;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.StatCollector;
+import net.minecraft.util.EnumActionResult;
+import net.minecraft.util.EnumFacing;
+import net.minecraft.util.EnumHand;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
-import tconstruct.library.tools.ToolCore;
-import cpw.mods.fml.common.Optional;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-
-@Optional.InterfaceList({@Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.ISheathed"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IArrowCatcher"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IArrowDisplay"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IShield")})
-public class Shield extends ToolCore implements IShield, ISheathed, IArrowCatcher, IArrowDisplay
+import net.minecraftforge.fml.common.Optional;
+import net.minecraftforge.fml.relauncher.Side;
+import net.minecraftforge.fml.relauncher.SideOnly;
+import slimeknights.tconstruct.library.client.model.ToolModelLoader;
+import slimeknights.tconstruct.library.tinkering.PartMaterialType;
+import slimeknights.tconstruct.library.tools.ToolCore;
+import slimeknights.tconstruct.library.tools.ToolNBT;
+import slimeknights.tconstruct.tools.TinkerTools;
+
+//@Optional.InterfaceList({@Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.ISheathed"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IArrowCatcher"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IArrowDisplay"), @Optional.Interface(modid = "battlegear2", iface = "mods.battlegear2.api.shield.IShield")})
+public class Shield extends ToolCore //implements IShield, ISheathed, IArrowCatcher, IArrowDisplay
{
- public Shield(int baseDamage)
- {
- super(baseDamage);
+ protected static PartMaterialType ShieldMat = new PartMaterialType(TinkerTools.largePlate, ShieldMaterialStats.TYPE);
+
+ public Shield(PartMaterialType... requiredComponents)
+ {
+ super(requiredComponents);
+
+ this.addPropertyOverride(new ResourceLocation("block"), new IItemPropertyGetter()
+ {
+ @SideOnly(Side.CLIENT)
+ public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn)
+ {
+ float i = entityIn != null && entityIn.isHandActive() && entityIn.getActiveItemStack() == stack ? 1.0F : 0.0F;
+ return i;
+ }
+ });
}
protected float baseSpeed()
@@ -49,11 +70,11 @@ public class Shield extends ToolCore implements IShield, ISheathed, IArrowCatche
return 1.0f;
}
- @Override
- public float getDigSpeed(ItemStack stack, Block block, int meta)
- {
- return 0.0f;
- }
+// @Override
+// public float getDigSpeed(ItemStack stack, Block block, int meta)
+// {
+// return 0.0f;
+// }
/**
* returns the action that specifies what animation to play when the items
@@ -62,8 +83,19 @@ public class Shield extends ToolCore implements IShield, ISheathed, IArrowCatche
@Override
public EnumAction getItemUseAction(ItemStack par1ItemStack)
{
- return EnumAction.block;
+ return EnumAction.BLOCK;
}
+
+ public ActionResult<ItemStack> onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn, EnumHand hand)
+ {
+ playerIn.setActiveHand(hand);
+ return new ActionResult(EnumActionResult.SUCCESS, itemStackIn);
+ }
+
+ public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
+ {
+ return super.onItemUse(stack, playerIn, worldIn, pos, hand, facing, hitX, hitY, hitZ);
+ }
/**
* How long it takes to use or consume an item
@@ -74,44 +106,6 @@ public class Shield extends ToolCore implements IShield, ISheathed, IArrowCatche
return 72000;
}
- /**
- * Called whenever this item is equipped and the right mouse button is
- * pressed. Args: itemStack, world, entityPlayer
- */
- @Override
- public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
- {
- player.setItemInUse(stack, getMaxItemUseDuration(stack));
- return stack;
- }
-
- @Override
- public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float clickX, float clickY, float clickZ)
- {
- return false;
- }
-
- /**
- * Returns if the item (tool) can harvest results from the block type.
- */
- @Override
- public boolean canHarvestBlock(Block block, ItemStack is)
- {
- for(final Material element : web)
- {
- if(block.getMaterial() == element)
- {
- return true;
- }
- }
- return super.canHarvestBlock(block, is);
- }
-
- protected Material[] getEffectiveMaterials()
- {
- return web;
- }
-
@Override
@SideOnly(Side.CLIENT)
public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5)
@@ -120,7 +114,7 @@ public class Shield extends ToolCore implements IShield, ISheathed, IArrowCatche
if(entity instanceof EntityPlayerSP)
{
final EntityPlayerSP player = (EntityPlayerSP) entity;
- final ItemStack usingItem = player.getItemInUse();
+ final ItemStack usingItem = player.getActiveItemStack();
if(usingItem != null && usingItem.getItem() == this)
{
player.movementInput.moveForward *= 2.5F;
@@ -129,176 +123,27 @@ public class Shield extends ToolCore implements IShield, ISheathed, IArrowCatche
}
}
- @Override
- public String[] getTraits()
- {
- return new String[] {"shield", "blocking"};
- }
-
- public static Material[] web = new Material[] {Material.web, Material.cloth, Material.coral, Material.cake};
- public static Material[] none = new Material[0];
-
protected String getHarvestType()
{
return null;
}
@Override
- @Optional.Method(modid = "battlegear2")
- public int getArrowCount(ItemStack stack)
- {
- if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows"))
- {
- return stack.getTagCompound().getShort("arrows");
- }
- else
- {
- return 0;
- }
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public void setArrowCount(ItemStack stack, int count)
- {
- if(!stack.hasTagCompound())
- {
- stack.setTagCompound(new NBTTagCompound());
- }
- // Should never happen, you would need A LOT of arrows for this to
- // happen
- if(count > Short.MAX_VALUE)
- {
- count = Short.MAX_VALUE;
- }
- stack.getTagCompound().setShort("arrows", (short) count);
-
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public boolean catchArrow(ItemStack shield, EntityPlayer player, IProjectile arrow)
- {
- if(arrow instanceof EntityArrow)
- {
- setArrowCount(shield, getArrowCount(shield) + 1);
- player.setArrowCountInEntity(player.getArrowCountInEntity() - 1);
- ((EntityArrow) arrow).setDead();
- return true;
- }
- return false;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public boolean sheatheOnBack(ItemStack item)
- {
- return true;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public void blockAnimation(EntityPlayer player, float dmg)
- {
- player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1);
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public boolean canBlock(ItemStack shield, DamageSource source)
- {
- return !source.isUnblockable();
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public int getBashTimer(ItemStack arg0)
- {
- return 10;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public float getBlockAngle(ItemStack arg0)
- {
- return 60;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public float getDamageDecayRate(ItemStack shield, float amount)
- {
- return 0;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public float getDamageReduction(ItemStack arg0, DamageSource arg1)
- {
- return 1f;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public float getDecayRate(ItemStack stack)
- {
- final NBTTagCompound tags = stack.getTagCompound();
- final float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") + (tags.getCompoundTag("InfiTool").getInteger("feathers") * 300) / 1.5f;
- return 10f / recovery;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- public float getRecoveryRate(ItemStack stack)
- {
- final NBTTagCompound tags = stack.getTagCompound();
- final float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") + (tags.getCompoundTag("InfiTool").getInteger("feathers") * 300) / 1.5f;
- return 10f / recovery;
- }
-
- @Override
- public Item getAccessoryItem()
- {
- return null;
- }
-
- @Override
- public String getDefaultFolder()
- {
- return null;
+ public float damagePotential() {
+ // TODO Auto-generated method stub
+ return 0.1f;
}
@Override
- public String getEffectSuffix()
- {
- return null;
+ public double attackSpeed() {
+ // TODO Auto-generated method stub
+ return 4;
}
@Override
- public Item getHeadItem()
- {
- return null;
- }
-
- @Override
- public String getIconSuffix(int arg0)
- {
- return null;
- }
-
- @Override
- @Optional.Method(modid = "battlegear2")
- @SideOnly(Side.CLIENT)
- public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
- {
- final NBTTagCompound tags = par1ItemStack.getTagCompound();
- super.addInformation(par1ItemStack, par2EntityPlayer, par3List, par4);
- par3List.add("");
- par3List.add(EnumChatFormatting.DARK_GREEN + ItemStack.field_111284_a.format(1F / (10f / (tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") + (tags.getCompoundTag("InfiTool").getInteger("feathers") * 300) / 1.5f)) / 20F) + StatCollector.translateToLocal("attribute.shield.block.time"));
- final int arrowCount = getArrowCount(par1ItemStack);
- if(arrowCount > 0)
- {
- par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count")));
- }
+ public NBTTagCompound buildTag(
+ List<slimeknights.tconstruct.library.materials.Material> materials) {
+ ToolNBT data = buildDefaultTag(materials);
+ return data.get();
}
}
diff --git a/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java b/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java
new file mode 100644
index 0000000..4688b3e
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/TDToolEvents.java
@@ -0,0 +1,91 @@
+package lance5057.tDefense.core.tools;
+
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.DamageSource;
+import net.minecraftforge.event.entity.living.LivingHurtEvent;
+import net.minecraftforge.fml.common.eventhandler.EventPriority;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import slimeknights.tconstruct.library.utils.ToolHelper;
+
+public class TDToolEvents {
+
+ public TDToolEvents() {
+
+ }
+
+ @SubscribeEvent(priority = EventPriority.LOW)
+ // lower priority so we get called later since we change tool NBT
+ public void reducedDamageBlocked(LivingHurtEvent event) {
+ if (event.getSource().isUnblockable()
+ || event.getSource().isMagicDamage()
+ || event.getSource().isExplosion() || event.isCanceled()) {
+ return;
+ }
+
+ if (event.getEntityLiving() instanceof EntityPlayer) {
+ EntityPlayer player = (EntityPlayer) event.getEntityLiving();
+ if (player.getActiveItemStack() != null
+ && player.getActiveItemStack().getItem() != null
+ && player.getActiveItemStack().getItem() instanceof Shield) {
+ ItemStack shield = player.getActiveItemStack();
+
+ int damage = event.getAmount() < 2f ? 1 : Math.round(event
+ .getAmount() / 2f);
+
+ event.setAmount(event.getAmount() * 0.7f);
+ if (event.getSource().isProjectile()) {
+ event.setAmount(0);
+ }
+
+ ToolHelper.damageTool(shield, damage, player);
+ }
+ }
+ }
+
+ // @SubscribeEvent
+ // public void attackEvent(LivingAttackEvent e) {
+ // boolean w = e.getEntity().worldObj.isRemote;
+ // //Minecraft.getMinecraft().theWorld.isRemote;
+ // if (!w) {
+ // float damage = e.getAmount();
+ // ItemStack activeItemStack;
+ // EntityPlayer player;
+ // if (!(e.getEntityLiving() instanceof EntityPlayer)) {
+ // return;
+ // }
+ // player = (EntityPlayer) e.getEntityLiving();
+ // if (player.getActiveItemStack() == null) {
+ // return;
+ // }
+ // activeItemStack = player.getActiveItemStack();
+ //
+ // if (damage > 0.0F && activeItemStack != null
+ // && activeItemStack.getItem() instanceof Shield) {
+ // int i = 1 + MathHelper.floor_float(damage);
+ // ToolHelper.damageTool(activeItemStack, i, player);
+ //
+ // if (activeItemStack.stackSize <= 0) {
+ // EnumHand enumhand = player.getActiveHand();
+ // net.minecraftforge.event.ForgeEventFactory
+ // .onPlayerDestroyItem(player, activeItemStack,
+ // enumhand);
+ //
+ // if (enumhand == EnumHand.MAIN_HAND) {
+ // player.setItemStackToSlot(EntityEquipmentSlot.MAINHAND,
+ // (ItemStack) null);
+ // } else {
+ // player.setItemStackToSlot(EntityEquipmentSlot.OFFHAND,
+ // (ItemStack) null);
+ // }
+ //
+ // activeItemStack = null;
+ // if (FMLCommonHandler.instance().getSide() == Side.CLIENT) {
+ // player.playSound(SoundEvents.ITEM_SHIELD_BREAK, 0.8F,
+ // 0.8F + player.worldObj.rand.nextFloat() * 0.4F);
+ // }
+ // }
+ // }
+ // }
+ // }
+}
diff --git a/src/main/java/lance5057/tDefense/core/tools/TDTools.java b/src/main/java/lance5057/tDefense/core/tools/TDTools.java
new file mode 100644
index 0000000..10e25ca
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/core/tools/TDTools.java
@@ -0,0 +1,102 @@
+package lance5057.tDefense.core.tools;
+
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.fml.common.SidedProxy;
+import net.minecraftforge.fml.common.event.FMLInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
+import net.minecraftforge.fml.common.registry.GameRegistry;
+import slimeknights.tconstruct.common.CommonProxy;
+import slimeknights.tconstruct.library.TinkerRegistry;
+import slimeknights.tconstruct.library.tools.ToolCore;
+
+import com.google.common.eventbus.Subscribe;
+
+//@Pulse(id = TDTools.PulseId, description = "All the tools and everything related to it.")
+public class TDTools
+{
+
+ TDToolEvents events = new TDToolEvents();
+
+ // Tools
+ public static ToolCore roundshield = new RoundShield();
+ public static ToolCore heatershield = new HeaterShield();
+
+ // Tool Parts
+
+ // Modifiers
+
+ // Helper stuff
+// static List<ToolCore> tools = Lists.newLinkedList(); // contains all tools registered in this pulse
+// static List<ToolPart> toolparts = Lists.newLinkedList(); // ^ all toolparts
+// static List<IModifier> modifiers = Lists.newLinkedList(); // ^ all modifiers
+
+ // PRE-INITIALIZATION
+ @Subscribe
+ public void preInit(FMLPreInitializationEvent event) {
+ // register items
+ MinecraftForge.EVENT_BUS.register(events);
+
+ regToolParts();
+ regTools();
+ registerModifiers();
+
+ // register blocks
+
+ // register entities
+
+ //proxy.preInit();
+ }
+
+ private void regToolParts() {
+ // The order the items are registered in represents the order in the stencil table GUI too
+
+ }
+
+ private void regTools() {
+
+ regTool(roundshield, "roundshield");
+ regTool(heatershield, "heatershield");
+
+ TinkerRegistry.registerToolStationCrafting(roundshield);
+ TinkerRegistry.registerToolForgeCrafting(heatershield);
+ }
+
+ private void regTool(ToolCore tool, String name)
+ {
+ tool.setRegistryName(new ResourceLocation("tinkersdefense:" + name));
+ TinkerRegistry.registerTool(tool);
+ GameRegistry.register(tool);
+ }
+
+ private void registerModifiers() {
+
+ }
+
+ // INITIALIZATION
+ @Subscribe
+ public void init(FMLInitializationEvent event) {
+ regToolBuilding();
+ regRecipies();
+
+ //proxy.init();
+ }
+
+ private void regToolBuilding() {
+ TinkerRegistry.registerToolCrafting(roundshield);
+ TinkerRegistry.registerToolForgeCrafting(heatershield);
+ }
+
+ private void regRecipies() {
+
+ }
+
+ // POST-INITIALIZATION
+ @Subscribe
+ public void postInit(FMLPostInitializationEvent event) {
+ //proxy.postInit();
+ }
+
+
+}
diff --git a/src/main/java/lance5057/tDefense/holiday/HolidayBase.java b/src/main/java/lance5057/tDefense/holiday/HolidayBase.java
new file mode 100644
index 0000000..2728689
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/holiday/HolidayBase.java
@@ -0,0 +1,24 @@
+package lance5057.tDefense.holiday;
+
+import lance5057.tDefense.holiday.xmas.XmasBase;
+import lance5057.tDefense.util.ModuleBase;
+
+public class HolidayBase
+{
+ ModuleBase xmas;
+
+ public HolidayBase()
+ {
+ xmas = new XmasBase();
+ }
+
+ public void preInit()
+ {
+ xmas.preInit();
+ }
+
+ public void init()
+ {
+ xmas.init();
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java b/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java
new file mode 100644
index 0000000..0d785d5
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/holiday/HolidayClientProxy.java
@@ -0,0 +1,18 @@
+package lance5057.tDefense.holiday;
+
+import slimeknights.tconstruct.library.client.renderer.RenderTinkerSlime;
+import slimeknights.tconstruct.world.entity.EntityBlueSlime;
+import lance5057.tDefense.holiday.xmas.gumdropslime.GumDropSlime;
+import lance5057.tDefense.holiday.xmas.gumdropslime.GumDropSlimeRenderer;
+import net.minecraft.client.model.ModelSlime;
+import net.minecraftforge.fml.client.registry.RenderingRegistry;
+
+public class HolidayClientProxy {
+
+ public void Init()
+ {
+ RenderingRegistry.registerEntityRenderingHandler(GumDropSlime.class, GumDropSlimeRenderer.FACTORY_GumDropSlime);
+
+
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java b/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
new file mode 100644
index 0000000..ea6f10e
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/XmasBase.java
@@ -0,0 +1,23 @@
+package lance5057.tDefense.holiday.xmas;
+
+import slimeknights.tconstruct.world.entity.EntityBlueSlime;
+import lance5057.tDefense.TinkersDefense;
+import lance5057.tDefense.holiday.xmas.gumdropslime.GumDropSlime;
+import lance5057.tDefense.util.ModuleBase;
+import net.minecraft.world.storage.loot.LootTableList;
+import net.minecraftforge.fml.common.registry.EntityRegistry;
+
+public class XmasBase extends ModuleBase {
+ public XmasBase() {
+ items = new XmasItems();
+ }
+
+ @Override
+ public void preInit() {
+
+ items.preInit();
+ EntityRegistry.registerModEntity(GumDropSlime.class, "gumdropslime", 0,
+ TinkersDefense.instance, 64, 5, true, 0x963430, 0xDDDDDD);
+ //LootTableList.register(GumDropSlime.LOOT_TABLE);
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java b/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
new file mode 100644
index 0000000..ff51fa0
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/XmasItems.java
@@ -0,0 +1,34 @@
+package lance5057.tDefense.holiday.xmas;
+
+import lance5057.tDefense.util.Color16Util;
+import lance5057.tDefense.util.ItemsBase;
+import lance5057.tDefense.util.MetaItem;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+public class XmasItems extends ItemsBase {
+ public static Item item_redmintcane;
+ public static Item item_greenmintcane;
+ public static Item item_redmintIngot;
+ public static Item item_greenmintIngot;
+ public static Item item_gingerbread;
+
+ public static MetaItem item_gumdrop;
+
+ public void preInit() {
+ setTab("TDefense_Xmas", new ItemStack(Items.SHIELD));
+ }
+
+ public void init() {
+ item_redmintcane = register("redmintcane", 64);
+ item_redmintIngot = register("redmintIngot", 64);
+ item_greenmintcane = register("greenmintcane", 64);
+ item_greenmintIngot = register("greenmintIngot", 64);
+ item_gingerbread = register("gingerbread", 64);
+
+ item_gumdrop = registerMeta("gumdrop", Color16Util.colors, 64);
+
+ this.tabName.setDisplayIcon(new ItemStack(item_redmintcane));
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java b/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java
new file mode 100644
index 0000000..942b0ff
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlime.java
@@ -0,0 +1,15 @@
+package lance5057.tDefense.holiday.xmas.gumdropslime;
+
+import slimeknights.tconstruct.library.Util;
+import slimeknights.tconstruct.world.entity.EntityBlueSlime;
+import net.minecraft.entity.monster.EntitySlime;
+import net.minecraft.world.World;
+
+public class GumDropSlime extends EntityBlueSlime
+{
+
+ public GumDropSlime(World worldIn) {
+ super(worldIn);
+ }
+
+}
diff --git a/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlimeRenderer.java b/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlimeRenderer.java
new file mode 100644
index 0000000..e6384f6
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/holiday/xmas/gumdropslime/GumDropSlimeRenderer.java
@@ -0,0 +1,33 @@
+package lance5057.tDefense.holiday.xmas.gumdropslime;
+
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.util.Color16Util;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.entity.Render;
+import net.minecraft.client.renderer.entity.RenderManager;
+import net.minecraft.entity.monster.EntitySlime;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.fml.client.registry.IRenderFactory;
+import slimeknights.tconstruct.library.client.renderer.RenderTinkerSlime;
+
+public class GumDropSlimeRenderer extends RenderTinkerSlime
+{
+ public static final Factory FACTORY_GumDropSlime = new Factory();
+
+ public GumDropSlimeRenderer(RenderManager renderManager) {
+ super(renderManager, Color16Util.colorsHex[Minecraft.getMinecraft().theWorld.rand.nextInt(16)],
+ new ResourceLocation(Reference.MOD_ID,"textures/entity/slime.png"));
+ // TODO Auto-generated constructor stub
+ }
+
+ private static class Factory implements IRenderFactory<EntitySlime>
+ {
+ public Factory() {
+ }
+
+ @Override
+ public Render<? super EntitySlime> createRenderFor(RenderManager manager) {
+ return new GumDropSlimeRenderer(manager);
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
index 9234dc0..278bd83 100644
--- a/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/ClientProxy.java
@@ -1,113 +1,128 @@
package lance5057.tDefense.proxy;
-import lance5057.tDefense.TinkersDefense;
-import lance5057.tDefense.armor.TDArmorAddon;
-import lance5057.tDefense.armor.renderers.ModelTinkersGauntlets;
-import lance5057.tDefense.armor.renderers.ModelTinkersTabard;
-import lance5057.tDefense.armor.renderers.cloth.ModelTinkersHood;
-import lance5057.tDefense.armor.renderers.cloth.ModelTinkersRobe;
-import lance5057.tDefense.armor.renderers.cloth.ModelTinkersShawl;
-import lance5057.tDefense.armor.renderers.cloth.ModelTinkersShoes;
-import lance5057.tDefense.armor.renderers.heavy.ModelTinkersBreastplate;
-import lance5057.tDefense.armor.renderers.heavy.ModelTinkersGrieves;
-import lance5057.tDefense.armor.renderers.heavy.ModelTinkersHelm;
-import lance5057.tDefense.armor.renderers.heavy.ModelTinkersSabatons;
-import lance5057.tDefense.armor.renderers.light.ModelTinkersBoots;
-import lance5057.tDefense.armor.renderers.light.ModelTinkersChausses;
-import lance5057.tDefense.armor.renderers.light.ModelTinkersCoif;
-import lance5057.tDefense.armor.renderers.light.ModelTinkersHauberk;
-import lance5057.tDefense.baubles.models.Renderer_JewelersBench;
-import lance5057.tDefense.baubles.tileentities.TileEntity_JewelersBench;
-import lance5057.tDefense.core.blocks.crestMount.Renderer_CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.TileEntity_CrestMount;
-import lance5057.tDefense.core.renderer.MoreFlexibleToolRenderer;
-import lance5057.tDefense.core.tools.modifiers.ModifierSoulHandler;
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.TD_Commands;
+import lance5057.tDefense.core.CoreItems;
+import lance5057.tDefense.core.tools.TDTools;
+import lance5057.tDefense.holiday.HolidayClientProxy;
+import net.minecraft.client.renderer.block.model.ModelResourceLocation;
+import net.minecraft.item.Item;
+import net.minecraftforge.client.ClientCommandHandler;
+import net.minecraftforge.client.model.ModelLoader;
+import slimeknights.tconstruct.common.ModelRegisterUtil;
+import slimeknights.tconstruct.library.TinkerRegistryClient;
+import slimeknights.tconstruct.library.client.ToolBuildGuiInfo;
+
//import lance5057.tDefense.core.renderer.TestSkinChanger;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.Renderer_FinishingAnvil;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.TileEntity_FinishingAnvil;
-import net.minecraftforge.client.MinecraftForgeClient;
-import tconstruct.client.FlexibleToolRenderer;
-import cpw.mods.fml.client.registry.ClientRegistry;
-public class ClientProxy extends CommonProxy
+public class ClientProxy extends CommonProxy
{
+ //static final ToolModelLoader toolmodel = new ToolModelLoader();
//public static final ModelSheath sheath = new ModelSheath();
//ModifierSoulHandler SoulHandler;
- public static ModelTinkersTabard sheath;
-
- public static ModelTinkersHelm helm;
- public static ModelTinkersBreastplate breastplate;
- public static ModelTinkersGrieves grieves;
- public static ModelTinkersSabatons sabatons;
- public static ModelTinkersGauntlets gauntlets;
-
- public static ModelTinkersHood hood;
- public static ModelTinkersShawl shawl;
- public static ModelTinkersRobe robe;
- public static ModelTinkersShoes shoes;
-
- public static ModelTinkersCoif coif;
- public static ModelTinkersHauberk hauberk;
- public static ModelTinkersChausses chausses;
- public static ModelTinkersBoots boots;
-
+// public static ModelTinkersTabard sheath;
+//
+// public static ModelTinkersHelm helm;
+// public static ModelTinkersBreastplate breastplate;
+// public static ModelTinkersGrieves grieves;
+// public static ModelTinkersSabatons sabatons;
+// public static ModelTinkersGauntlets gauntlets;
+//
+// public static ModelTinkersHood hood;
+// public static ModelTinkersShawl shawl;
+// public static ModelTinkersRobe robe;
+// public static ModelTinkersShoes shoes;
+//
+// public static ModelTinkersCoif coif;
+// public static ModelTinkersHauberk hauberk;
+// public static ModelTinkersChausses chausses;
+// public static ModelTinkersBoots boots;
+
+ ToolBuildGuiInfo roundshieldGUI;
+ ToolBuildGuiInfo heatershieldGUI;
+
+ HolidayClientProxy holiProxy = new HolidayClientProxy();
+
@Override
- public void registerRenderers()
+ public void preInit()
{
- SoulHandler = new ModifierSoulHandler(2, "Steve");
-
- sheath = new ModelTinkersTabard();
-
- helm = new ModelTinkersHelm();
- breastplate = new ModelTinkersBreastplate();
- grieves = new ModelTinkersGrieves();
- sabatons = new ModelTinkersSabatons();
- gauntlets = new ModelTinkersGauntlets();
-
- hood = new ModelTinkersHood();
- shawl = new ModelTinkersShawl();
- robe = new ModelTinkersRobe();
- shoes = new ModelTinkersShoes();
-
- coif = new ModelTinkersCoif();
- hauberk = new ModelTinkersHauberk();
- chausses = new ModelTinkersChausses();
- boots = new ModelTinkersBoots();
-
- // final FlexibleToolRenderer renderer = new FlexibleToolRenderer();
- // final FlexibleToolRenderer bigrenderer = new MoreFlexibleToolRenderer(2);
- // final FlexibleToolRenderer smallrenderer = new MoreFlexibleToolRenderer(
- // 1.0f);
- MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_roundShield, new MoreFlexibleToolRenderer(
- 0.75f, 0.0f, 0.2f, 0f));
- MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_heaterShield, new FlexibleToolRenderer());
- MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_wrench, new FlexibleToolRenderer());
- MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_shears, new FlexibleToolRenderer());
- //MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_hookshot, renderer);
- MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_zweihander, new MoreFlexibleToolRenderer(
- 1.5f, -0.325f, -0.025f, 0f));
- //MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_hookshot, renderer);
-
- //RenderingRegistry.registerEntityRenderingHandler(EntityHookshotHook.class, new HookRenderer());
-
- if(TinkersDefense.config.ArmorAddon)
- {
- TDArmorAddon.clientProxy(new FlexibleToolRenderer());
- }
-
- ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_CrestMount.class, new Renderer_CrestMount());
- ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_FinishingAnvil.class, new Renderer_FinishingAnvil());
- ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_JewelersBench.class, new Renderer_JewelersBench());
-
- // MinecraftForgeClient.registerItemRenderer(new ItemBlock(
- // TinkersDefense.block_ArmorAnvil), new CustomModelItemRenderer(
- // new Renderer_FinishingAnvil(), new TileEntity_FinishingAnvil()));
- // MinecraftForgeClient.registerItemRenderer(new ItemBlock(
- // TinkersDefense.block_CrestMount), new CustomModelItemRenderer(
- // new Renderer_CrestMount(), new TileEntity_CrestMount()));
- // MinecraftForgeClient.registerItemRenderer(new ItemBlock(
- // TinkersDefense.block_JewelersBench), new CustomModelItemRenderer(
- // new Renderer_JewelersBench(), new TileEntity_JewelersBench()));
+ ClientCommandHandler.instance.registerCommand(new TD_Commands());
+ registerToolRenderers();
+
+ }
+
+ @Override
+ public void Init()
+ {
+// Minecraft.getMinecraft().getRenderItem().getItemModelMesher()
+// .register(TDTools.heatershield, 0, new ModelResourceLocation("modid:itemname", "inventory"));
+//
+
+ createToolGuis();
+ setupToolGuis();
+ registerToolGuis();
+
+ registerItemRenderer(CoreItems.item_aeonsteelIngot, 0, CoreItems.item_aeonsteelIngot.getUnlocalizedName());
+ registerItemRenderer(CoreItems.item_dogbeariumIngot, 0, CoreItems.item_dogbeariumIngot.getUnlocalizedName());
+ registerItemRenderer(CoreItems.item_queensgoldIngot, 0, CoreItems.item_queensgoldIngot.getUnlocalizedName());
+
+ holiProxy.Init();
+ }
+
+ public void registerToolRenderers()
+ {
+ ModelRegisterUtil.registerToolModel(TDTools.roundshield);
+ ModelRegisterUtil.registerToolModel(TDTools.heatershield);
+
+
+ }
+
+ public void createToolGuis()
+ {
+ roundshieldGUI = new ToolBuildGuiInfo(TDTools.roundshield);
+ heatershieldGUI = new ToolBuildGuiInfo(TDTools.heatershield);
+ }
+
+ public void setupToolGuis()
+ {
+ roundshieldGUI.addSlotPosition(34, 15+8);
+ roundshieldGUI.addSlotPosition(34, 33+8);
+ roundshieldGUI.addSlotPosition(34, 51+8);
+
+ heatershieldGUI.addSlotPosition(34, 15+8);
+ heatershieldGUI.addSlotPosition(25, 33+8);
+ heatershieldGUI.addSlotPosition(43, 33+8);
+ heatershieldGUI.addSlotPosition(34, 51+8);
+ }
+
+ public void registerToolGuis()
+ {
+ TinkerRegistryClient.addToolBuilding(roundshieldGUI);
+ TinkerRegistryClient.addToolBuilding(heatershieldGUI);
+ }
+
+ @Override
+ public void reloadRenderers()
+ {
+ setToolGuis();
+ }
+
+ public void setToolGuis()
+ {
+ roundshieldGUI.positions.clear();
+ roundshieldGUI.addSlotPosition(34, 15);
+ roundshieldGUI.addSlotPosition(34, 33);
+ roundshieldGUI.addSlotPosition(34, 51);
+
+ heatershieldGUI.positions.clear();
+ heatershieldGUI.addSlotPosition(34, 15);
+ heatershieldGUI.addSlotPosition(25, 33);
+ heatershieldGUI.addSlotPosition(43, 33);
+ heatershieldGUI.addSlotPosition(34, 51);
}
+
+ public static void registerItemRenderer(Item item, int meta, String id) {
+ ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(Reference.MOD_ID + ":" + id, "inventory"));
+ }
}
diff --git a/src/main/java/lance5057/tDefense/proxy/CommonProxy.java b/src/main/java/lance5057/tDefense/proxy/CommonProxy.java
index 643b068..a76da7b 100644
--- a/src/main/java/lance5057/tDefense/proxy/CommonProxy.java
+++ b/src/main/java/lance5057/tDefense/proxy/CommonProxy.java
@@ -1,69 +1,68 @@
package lance5057.tDefense.proxy;
-import lance5057.tDefense.TinkersDefense;
-import lance5057.tDefense.core.blocks.crestMount.Container_CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.Gui_CrestMount;
-import lance5057.tDefense.core.blocks.crestMount.TileEntity_CrestMount;
-import lance5057.tDefense.core.tools.modifiers.ModifierSoulHandler;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.Container_FinishingAnvil;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.Gui_FinishingAnvil;
-import lance5057.tDefense.finishingAnvil.blocks.finishingAnvil.TileEntity_FinishingAnvil;
-import net.minecraft.client.model.ModelBiped;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.world.World;
-import cpw.mods.fml.common.network.IGuiHandler;
-import cpw.mods.fml.common.network.simpleimpl.MessageContext;
+import lance5057.tDefense.TD_Commands;
+import net.minecraftforge.client.ClientCommandHandler;
-public class CommonProxy implements IGuiHandler
-{
- public static ModifierSoulHandler SoulHandler = null;
-
- public void registerRenderers()
- {
- }
- public void registerTileEntitySpecialRenderer()
+public class CommonProxy// implements IGuiHandler
+{
+ //public static ModifierSoulHandler SoulHandler = null;
+
+ public void preInit()
{
-
}
- public EntityPlayer getPlayerEntity(MessageContext ctx)
+ public void Init()
{
- return ctx.getServerHandler().playerEntity;
}
- public ModelBiped getArmorModel(int id)
+ public void registerTileEntitySpecialRenderer()
{
- return null;
- }
- public World getClientWorld()
- {
- return null;
}
-
- @Override
- public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
+
+ public void reloadRenderers()
{
- if(ID == TinkersDefense.GUI_CREST_INV)
- return new Container_CrestMount(player.inventory,
- (TileEntity_CrestMount) world.getTileEntity(x, y, z));
- if(ID == TinkersDefense.GUI_ANVIL_INV)
- return new Container_FinishingAnvil(player.inventory,
- (TileEntity_FinishingAnvil) world.getTileEntity(x, y, z));
- return null;
}
- @Override
- public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
- {
- if(ID == TinkersDefense.GUI_CREST_INV)
- return new Gui_CrestMount(player.inventory,
- (TileEntity_CrestMount) world.getTileEntity(x, y, z));
- if(ID == TinkersDefense.GUI_ANVIL_INV)
- return new Gui_FinishingAnvil(player.inventory,
- (TileEntity_FinishingAnvil) world.getTileEntity(x, y, z));
- return null;
- }
+// public EntityPlayer getPlayerEntity(MessageContext ctx)
+// {
+// return ctx.getServerHandler().playerEntity;
+// }
+//
+// public ModelBiped getArmorModel(int id)
+// {
+// return null;
+// }
+//
+// public World getClientWorld()
+// {
+// return null;
+// }
+//
+// @Override
+// public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
+// {
+// if(ID == TinkersDefense.GUI_CREST_INV)
+// return new Container_CrestMount(player.inventory,
+// (TileEntity_CrestMount) world.getTileEntity(x, y, z));
+// if(ID == TinkersDefense.GUI_ANVIL_INV)
+// return new Container_FinishingAnvil(player.inventory,
+// (TileEntity_FinishingAnvil) world.getTileEntity(x, y, z));
+//
+// return null;
+// }
+//
+// @Override
+// public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
+// {
+// if(ID == TinkersDefense.GUI_CREST_INV)
+// return new Gui_CrestMount(player.inventory,
+// (TileEntity_CrestMount) world.getTileEntity(x, y, z));
+// if(ID == TinkersDefense.GUI_ANVIL_INV)
+// return new Gui_FinishingAnvil(player.inventory,
+// (TileEntity_FinishingAnvil) world.getTileEntity(x, y, z));
+// return null;
+// }
}
diff --git a/src/main/java/lance5057/tDefense/util/Color16Util.java b/src/main/java/lance5057/tDefense/util/Color16Util.java
new file mode 100644
index 0000000..fb45134
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/Color16Util.java
@@ -0,0 +1,22 @@
+package lance5057.tDefense.util;
+
+public class Color16Util {
+ public static String[] colors = { "black", "red", "green", "brown", "blue",
+ "purple", "cyan", "lightgray", "gray", "pink", "lime", "yellow",
+ "lightblue", "magenta", "orange", "white" };
+
+ public static int[] colorsHex = { 0xDDDDDD, 0xDB7D3E, 0xB350BC,
+ 0x6B8AC9, 0xB1A627, 0x41AE38, 0xD08499, 0x404040, 0x9AA1A1,
+ 0x2E6E89, 0x7E3DB5, 0x2E388D, 0x4F321F, 0x35461B, 0x963430,
+ 0x191616 };
+
+ public static int[] hexToRGB(String hex) {
+ final int color[] = new int[3];
+
+ color[0] = Integer.parseInt(hex.substring(0, 2), 16);
+ color[1] = Integer.parseInt(hex.substring(2, 4), 16);
+ color[2] = Integer.parseInt(hex.substring(4, 6), 16);
+
+ return color;
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/util/ItemsBase.java b/src/main/java/lance5057/tDefense/util/ItemsBase.java
new file mode 100644
index 0000000..ddfa882
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/ItemsBase.java
@@ -0,0 +1,42 @@
+package lance5057.tDefense.util;
+
+import lance5057.tDefense.Reference;
+import lance5057.tDefense.proxy.ClientProxy;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fml.common.registry.GameRegistry;
+import slimeknights.mantle.client.CreativeTab;
+
+public abstract class ItemsBase {
+ public CreativeTab tabName;
+
+ public ItemsBase()
+ {
+
+ }
+
+ public abstract void preInit();
+
+ public abstract void init();
+
+ protected void setTab(String tab, ItemStack stack)
+ {
+ tabName = new CreativeTab(tab, stack);
+ }
+
+ protected Item register(String name, int size)
+ {
+ Item item = new Item().setCreativeTab(tabName).setMaxStackSize(size).setUnlocalizedName(name).setRegistryName(Reference.MOD_ID, name);
+ GameRegistry.register(item);
+ return item;
+ }
+
+ protected MetaItem registerMeta(String name, String[] names,int size)
+ {
+ Item item = new MetaItem(names).setCreativeTab(tabName).setMaxStackSize(size).setUnlocalizedName(name).setRegistryName(Reference.MOD_ID, name);
+
+ GameRegistry.register(item);
+ return (MetaItem) item;
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/util/MetaItem.java b/src/main/java/lance5057/tDefense/util/MetaItem.java
new file mode 100644
index 0000000..de51022
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/MetaItem.java
@@ -0,0 +1,32 @@
+package lance5057.tDefense.util;
+
+import java.util.List;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+public class MetaItem extends Item
+{
+ String[] items;
+ public MetaItem(String[] items) {
+ super();
+ this.setHasSubtypes(true);
+ setMaxDamage(0);
+ this.items = items;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + items[stack.getItemDamage()];
+ }
+
+ @Override
+ public void getSubItems(Item itemIn, CreativeTabs tab, List<ItemStack> subItems)
+ {
+ for(int i = 0; i < items.length; i++)
+ {
+ subItems.add(new ItemStack(itemIn, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/util/ModuleBase.java b/src/main/java/lance5057/tDefense/util/ModuleBase.java
new file mode 100644
index 0000000..d8264ce
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/ModuleBase.java
@@ -0,0 +1,19 @@
+package lance5057.tDefense.util;
+
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+
+public abstract class ModuleBase
+{
+ protected ItemsBase items;
+
+ public void preInit()
+ {
+ items.preInit();
+ }
+
+ public void init()
+ {
+ items.init();
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/util/TDToolHelper.java b/src/main/java/lance5057/tDefense/util/TDToolHelper.java
new file mode 100644
index 0000000..8c5cfe1
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/util/TDToolHelper.java
@@ -0,0 +1,45 @@
+package lance5057.tDefense.util;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.item.ItemTool;
+import net.minecraft.nbt.NBTTagList;
+import slimeknights.tconstruct.library.TinkerRegistry;
+import slimeknights.tconstruct.library.materials.Material;
+import slimeknights.tconstruct.library.tools.ToolCore;
+import slimeknights.tconstruct.library.utils.TagUtil;
+
+public class TDToolHelper {
+
+ public static boolean checkIfMetal(ItemStack item) {
+
+ if(item.getItem() instanceof ToolCore)
+ {
+ NBTTagList list = TagUtil.getBaseMaterialsTagList(item);
+
+ for (int i = 0; i < list.tagCount(); i++) {
+ String s = list.getStringTagAt(i);
+ if (s != "obsidian") {
+ Material m = TinkerRegistry.getMaterial(s);
+ if(m.hasFluid())
+ return true;
+ }
+ }
+ }
+ else
+ {
+ if(item.getItem() instanceof ItemTool)
+ {
+ ItemTool i = (ItemTool) item.getItem();
+
+ if(i.getToolMaterial() != i.getToolMaterial().WOOD ||
+ i.getToolMaterial() != i.getToolMaterial().STONE)
+ {
+
+ }
+ }
+ }
+
+ return false;
+ }
+
+}