diff options
Diffstat (limited to 'src/main/java/lance5057/tDefense')
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; + } + +} |
