From afb474545246da88084a43cae31259c33e63a8d1 Mon Sep 17 00:00:00 2001 From: Lance5057 Date: Fri, 13 Mar 2015 08:15:33 -0500 Subject: Updated to TiCo 1.8.3 and fixed the rendering issues that followed. Also refactored some codes. --- src/main/java/gmail/Lance5057/Reference.java | 10 + src/main/java/gmail/Lance5057/TinkersDefense.java | 365 +++++++++++++++++++++ .../java/gmail/Lance5057/blocks/ArmorAnvil.java | 47 +++ .../java/gmail/Lance5057/blocks/CrestMount.java | 4 +- .../java/gmail/Lance5057/blocks/JewelersBench.java | 47 +++ .../gmail/Lance5057/blocks/ModelCrestMount.java | 87 ----- .../Lance5057/blocks/Renderer_CrestMount.java | 185 ----------- .../java/gmail/Lance5057/com/HeaterShield.java | 254 -------------- src/main/java/gmail/Lance5057/com/Reference.java | 10 - src/main/java/gmail/Lance5057/com/RoundShield.java | 249 -------------- src/main/java/gmail/Lance5057/com/RoyalGuard.java | 42 --- src/main/java/gmail/Lance5057/com/Shield.java | 121 ------- .../gmail/Lance5057/com/mod_TinkersDefense.java | 336 ------------------- .../gmail/Lance5057/com/moltenAeonsteelFluid.java | 59 ---- .../gmail/Lance5057/com/moltenDogbeariumFluid.java | 59 ---- .../gmail/Lance5057/com/moltenQueensGoldFluid.java | 59 ---- .../java/gmail/Lance5057/gui/Gui_CrestMount.java | 4 +- .../java/gmail/Lance5057/items/HeaterShield.java | 249 ++++++++++++++ .../java/gmail/Lance5057/items/RoundShield.java | 244 ++++++++++++++ .../java/gmail/Lance5057/items/RoyalGuard.java | 42 +++ src/main/java/gmail/Lance5057/items/Shield.java | 121 +++++++ .../java/gmail/Lance5057/items/TinkerArmor.java | 6 +- .../Lance5057/liquids/moltenAeonsteelFluid.java | 59 ++++ .../Lance5057/liquids/moltenDogbeariumFluid.java | 59 ++++ .../Lance5057/liquids/moltenQueensGoldFluid.java | 59 ++++ .../gmail/Lance5057/models/ModelArmorAnvil.java | 61 ++++ .../gmail/Lance5057/models/ModelCrestMount.java | 87 +++++ .../gmail/Lance5057/models/ModelJewelersBench.java | 100 ++++++ .../Lance5057/models/Renderer_ArmorAnvil.java | 43 +++ .../Lance5057/models/Renderer_CrestMount.java | 185 +++++++++++ .../Lance5057/models/Renderer_JewelersBench.java | 41 +++ .../gmail/Lance5057/network/PacketHandler.java | 4 +- .../java/gmail/Lance5057/proxy/ClientProxy.java | 25 +- .../java/gmail/Lance5057/proxy/CommonProxy.java | 6 +- .../tileentities/TileEntity_ArmorAnvil.java | 8 + .../tileentities/TileEntity_JewelersBench.java | 8 + 36 files changed, 1863 insertions(+), 1482 deletions(-) create mode 100644 src/main/java/gmail/Lance5057/Reference.java create mode 100644 src/main/java/gmail/Lance5057/TinkersDefense.java create mode 100644 src/main/java/gmail/Lance5057/blocks/ArmorAnvil.java create mode 100644 src/main/java/gmail/Lance5057/blocks/JewelersBench.java delete mode 100644 src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java delete mode 100644 src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java delete mode 100644 src/main/java/gmail/Lance5057/com/HeaterShield.java delete mode 100644 src/main/java/gmail/Lance5057/com/Reference.java delete mode 100644 src/main/java/gmail/Lance5057/com/RoundShield.java delete mode 100644 src/main/java/gmail/Lance5057/com/RoyalGuard.java delete mode 100644 src/main/java/gmail/Lance5057/com/Shield.java delete mode 100644 src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java delete mode 100644 src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java delete mode 100644 src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java delete mode 100644 src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java create mode 100644 src/main/java/gmail/Lance5057/items/HeaterShield.java create mode 100644 src/main/java/gmail/Lance5057/items/RoundShield.java create mode 100644 src/main/java/gmail/Lance5057/items/RoyalGuard.java create mode 100644 src/main/java/gmail/Lance5057/items/Shield.java create mode 100644 src/main/java/gmail/Lance5057/liquids/moltenAeonsteelFluid.java create mode 100644 src/main/java/gmail/Lance5057/liquids/moltenDogbeariumFluid.java create mode 100644 src/main/java/gmail/Lance5057/liquids/moltenQueensGoldFluid.java create mode 100644 src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java create mode 100644 src/main/java/gmail/Lance5057/models/ModelCrestMount.java create mode 100644 src/main/java/gmail/Lance5057/models/ModelJewelersBench.java create mode 100644 src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java create mode 100644 src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java create mode 100644 src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java create mode 100644 src/main/java/gmail/Lance5057/tileentities/TileEntity_ArmorAnvil.java create mode 100644 src/main/java/gmail/Lance5057/tileentities/TileEntity_JewelersBench.java (limited to 'src/main/java') diff --git a/src/main/java/gmail/Lance5057/Reference.java b/src/main/java/gmail/Lance5057/Reference.java new file mode 100644 index 0000000..f1a44f7 --- /dev/null +++ b/src/main/java/gmail/Lance5057/Reference.java @@ -0,0 +1,10 @@ +package gmail.Lance5057; + +public class Reference +{ + + public static final String MOD_ID = "tinkersdefense"; + public static final String VERSION = "1.1"; + public static final String MOD_NAME = "Tinkers' Defense"; + +} diff --git a/src/main/java/gmail/Lance5057/TinkersDefense.java b/src/main/java/gmail/Lance5057/TinkersDefense.java new file mode 100644 index 0000000..69a5a9a --- /dev/null +++ b/src/main/java/gmail/Lance5057/TinkersDefense.java @@ -0,0 +1,365 @@ +package gmail.Lance5057; + +import static net.minecraft.util.EnumChatFormatting.DARK_RED; +import static net.minecraft.util.EnumChatFormatting.GOLD; +import static net.minecraft.util.EnumChatFormatting.LIGHT_PURPLE; +import gmail.Lance5057.blocks.AeonSteelBlock; +import gmail.Lance5057.blocks.ArmorAnvil; +import gmail.Lance5057.blocks.CrestMount; +import gmail.Lance5057.blocks.DogbeariumBlock; +import gmail.Lance5057.blocks.JewelersBench; +import gmail.Lance5057.blocks.QueensGoldBlock; +import gmail.Lance5057.items.AeonSteelIngot; +import gmail.Lance5057.items.DogbeariumIngot; +import gmail.Lance5057.items.HeaterShield; +import gmail.Lance5057.items.QueensGoldIngot; +import gmail.Lance5057.items.RoundShield; +import gmail.Lance5057.liquids.moltenAeonsteelFluid; +import gmail.Lance5057.liquids.moltenDogbeariumFluid; +import gmail.Lance5057.liquids.moltenQueensGoldFluid; +import gmail.Lance5057.network.PacketHandler; +import gmail.Lance5057.proxy.CommonProxy; +import gmail.Lance5057.tileentities.TileEntity_ArmorAnvil; +import gmail.Lance5057.tileentities.TileEntity_CrestMount; +import gmail.Lance5057.tileentities.TileEntity_JewelersBench; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; +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.library.TConstructRegistry; +import tconstruct.library.client.TConstructClientRegistry; +import tconstruct.library.client.ToolGuiElement; +import tconstruct.library.crafting.PatternBuilder; +import tconstruct.library.crafting.Smeltery; +import tconstruct.library.tools.ToolCore; +import tconstruct.smeltery.TinkerSmeltery; +import tconstruct.tools.TinkerTools; +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; + +@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME) +public class TinkersDefense +{ + +private static int modGuiIndex = 0; +public static final int GUI_ITEM_INV = modGuiIndex++; + +@Instance(Reference.MOD_ID) +public static TinkersDefense instance = new TinkersDefense(); + +public static CreativeTabs tabName = new CreativeTabs("tabName") +{ + +public Item getTabIconItem() { return Items.arrow; } + +}; + +public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(Reference.MOD_ID); + +public static Item item_AeonSteelIngot; +public static Block block_AeonSteelBlock; + +public static Fluid moltenAeonsteel; +public static Block moltenAeonsteelBlock; + +public static Item item_QueensGoldIngot; +public static Block block_QueensGoldBlock; + +public static Fluid moltenQueensGold; +public static Block moltenQueensGoldBlock; + +public static Item item_DogbeariumIngot; +public static Block block_DogbeariumBlock; + +public static Fluid moltenDogbearium; +public static Block moltenDogbeariumBlock; + +public static ToolCore tool_roundShield; +public static ToolCore tool_heaterShield; + +public static Block block_CrestMount; +public static Block block_ArmorAnvil; +public static Block block_JewelersBench; + +public static Item item_TinkerArmor; + +@SidedProxy(clientSide = "gmail.Lance5057.proxy.ClientProxy", serverSide = "gmail.Lance5057.proxy.CommonProxy") +public static CommonProxy proxy; + + + + +@EventHandler +public void preInit(FMLPreInitializationEvent e) +{ + PacketHandler.init(); + + + + block_CrestMount = new CrestMount() + .setHardness(4.0F) + .setStepSound(Block.soundTypeMetal) + .setBlockName("CrestMount") + .setCreativeTab(tabName); + + GameRegistry.registerBlock(block_CrestMount, "Block_CrestMount"); + GameRegistry.registerTileEntity(TileEntity_CrestMount.class, "Tile_CrestMount"); + + block_ArmorAnvil = new ArmorAnvil() + .setHardness(4.0F) + .setStepSound(Block.soundTypeAnvil) + .setBlockName("ArmorAnvil") + .setCreativeTab(tabName); + + GameRegistry.registerBlock(block_ArmorAnvil, "Block_ArmorAnvil"); + GameRegistry.registerTileEntity(TileEntity_ArmorAnvil.class, "Tile_ArmorAnvil"); + + block_JewelersBench = new JewelersBench() + .setHardness(4.0F) + .setStepSound(Block.soundTypeWood) + .setBlockName("JewelersBench") + .setCreativeTab(tabName); + + GameRegistry.registerBlock(block_JewelersBench, "Block_JewelersBench"); + GameRegistry.registerTileEntity(TileEntity_JewelersBench.class, "Tile_JewelersBench"); + + NetworkRegistry.INSTANCE.registerGuiHandler(TinkersDefense.instance, new CommonProxy()); + MinecraftForge.EVENT_BUS.register(this); + + //AeonSteel + item_AeonSteelIngot = new AeonSteelIngot() + .setCreativeTab(tabName) + .setMaxStackSize(64) + .setUnlocalizedName("AeonSteelIngot") + .setTextureName(Reference.MOD_ID+":AeonSteelIngot"); + + GameRegistry.registerItem(item_AeonSteelIngot, "AeonSteel Ingot"); + + block_AeonSteelBlock = new AeonSteelBlock(Material.iron) + .setHardness(4.0F) + .setStepSound(Block.soundTypeMetal) + .setBlockName("AeonSteelBlock") + .setCreativeTab(tabName) + .setBlockTextureName(Reference.MOD_ID+":AeonSteelBlock"); + + GameRegistry.registerBlock(block_AeonSteelBlock, "aeonsteelblock"); + + 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)}); + + moltenAeonsteel = new Fluid("moltenAeonsteel").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); + FluidRegistry.registerFluid(moltenAeonsteel); + + moltenAeonsteelFluid moltenAeonsteelBlock = new moltenAeonsteelFluid(moltenAeonsteel); + + GameRegistry.registerBlock(moltenAeonsteelBlock, "moltenaeonsteel"); + + //Queen's Gold + item_QueensGoldIngot = new QueensGoldIngot() + .setCreativeTab(tabName) + .setMaxStackSize(64) + .setUnlocalizedName("QueensGoldIngot") + .setTextureName(Reference.MOD_ID+":QueensGoldIngot"); + + GameRegistry.registerItem(item_QueensGoldIngot, "Queen's Gold Ingot"); + + block_QueensGoldBlock = new QueensGoldBlock(Material.iron) + .setHardness(4.0F) + .setStepSound(Block.soundTypeMetal) + .setBlockName("QueensGoldBlock") + .setCreativeTab(tabName) + .setBlockTextureName(Reference.MOD_ID+":QueensGoldBlock"); + + GameRegistry.registerBlock(block_QueensGoldBlock, "QueensGoldblock"); + + 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)}); + + + moltenQueensGold = new Fluid("moltenQueensGold").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); + FluidRegistry.registerFluid(moltenQueensGold); + + moltenQueensGoldFluid moltenQueensGoldBlock = new moltenQueensGoldFluid(moltenQueensGold); + + GameRegistry.registerBlock(moltenQueensGoldBlock, "moltenQueensGold"); + + //Dogbearium + item_DogbeariumIngot = new DogbeariumIngot() + .setCreativeTab(tabName) + .setMaxStackSize(64) + .setUnlocalizedName("DogbeariumIngot") + .setTextureName(Reference.MOD_ID+":DogbeariumIngot"); + + GameRegistry.registerItem(item_DogbeariumIngot, "DogbeariumIngot"); + + block_DogbeariumBlock = new DogbeariumBlock(Material.iron) + .setHardness(4.0F) + .setStepSound(Block.soundTypeMetal) + .setBlockName("DogbeariumBlock") + .setCreativeTab(tabName) + .setBlockTextureName(Reference.MOD_ID+":DogbeariumBlock"); + + GameRegistry.registerBlock(block_DogbeariumBlock, "Dogbeariumblock"); + + 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)}); + + + moltenDogbearium = new Fluid("moltenDogbearium").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); + FluidRegistry.registerFluid(moltenDogbearium); + + moltenDogbeariumFluid moltenDogbeariumBlock = new moltenDogbeariumFluid(moltenDogbearium); + + GameRegistry.registerBlock(moltenDogbeariumBlock, "moltenDogbearium"); + + tool_roundShield = new RoundShield(); + tool_heaterShield = new HeaterShield(); + + GameRegistry.registerItem(tool_roundShield, "Round Shield"); + GameRegistry.registerItem(tool_heaterShield, "Heater Shield"); + TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield); + TConstructRegistry.addItemToDirectory("Heater Shield", tool_heaterShield); + + //Renderers + proxy.registerRenderers(); + + + //item_TinkerArmor = new TinkerArmor(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Tinker_Armor"); + //GameRegistry.registerItem(item_TinkerArmor,"Tinker Armor"); + + +//network.registerMessage(messageHandler, requestMessageType, discriminator, side); +} + +@EventHandler +public void init(FMLInitializationEvent e) +{ + System.out.print(Reference.MOD_ID); + PatternBuilder pb = PatternBuilder.instance; + + //Aeonsteel + pb.registerMaterialSet("AeonSteel", new ItemStack(TinkerTools.toolShard, 1, 10), new ItemStack(TinkerTools.toolRod, 1, 10), 10); + + TConstructClientRegistry.addMaterialRenderMapping(201, "tinker", "aeonsteel", true); + + // Tool Materials: id, name, harvestlevel, durability, speed, damage, handlemodifier, reinforced, shoddy, style color, primary color for block use + TConstructRegistry.addToolMaterial(201, "AeonSteel", 4, 822, 1100, 3, 1.6F, 2, 0f, LIGHT_PURPLE.toString(), 0xb565e6); + TinkerTools.registerPatternMaterial("AeonSteelIngot", 2, "AeonSteel"); + TConstructRegistry.addDefaultToolPartMaterial(201); + + 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.instance.getTableCasting().addCastingRecipe(new ItemStack(item_AeonSteelIngot, 1, 0), new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50); + + TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_AeonSteelBlock, 1, 0), new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue*9), 100); + + castMolten(moltenAeonsteel, 201); + + PatternBuilder.instance.registerFullMaterial(new ItemStack(item_AeonSteelIngot, 1, 0), 2, "Aeonsteel", new ItemStack(TinkerTools.toolShard, 1, 201), new ItemStack(TinkerTools.toolRod, 1, 201), 201); + + Smeltery.addAlloyMixing(new FluidStack(moltenAeonsteel, 144), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenAlumiteFluid, 144), new FluidStack(TinkerSmeltery.moltenCobaltFluid, 144) }); + //Queen's Gold + TConstructClientRegistry.addMaterialRenderMapping(202, "tinker", "queensgold", true); + TConstructRegistry.addToolMaterial(202, "QueensGold", 3, 100, 500, 2, 1.0F, 0, 0f, GOLD.toString(), 0xeaee57); + TinkerTools.registerPatternMaterial("QueensGoldIngot", 2, "QueensGold"); + TConstructRegistry.addDefaultToolPartMaterial(202); + + 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.instance.getTableCasting().addCastingRecipe(new ItemStack(item_QueensGoldIngot, 1, 0), new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50); + + TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_QueensGoldBlock, 1, 0), new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue*9), 100); + + castMolten(moltenQueensGold, 202); + + PatternBuilder.instance.registerFullMaterial(new ItemStack(item_QueensGoldIngot, 1, 0), 2, "QueensGold", new ItemStack(TinkerTools.toolShard, 1, 202), new ItemStack(TinkerTools.toolRod, 1, 202), 202); + + Smeltery.addAlloyMixing(new FluidStack(moltenQueensGold, 144*8), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenGoldFluid, 144*8), new FluidStack(TinkerSmeltery.moltenEmeraldFluid, 80) }); + + // Tool Materials: id, name, harvestlevel, durability, speed, damage, handlemodifier, reinforced, shoddy, style color, primary color for block use + //Dogbearium + TConstructClientRegistry.addMaterialRenderMapping(203, "tinker", "dogbearium", true); + TConstructRegistry.addToolMaterial(203, "Dogbearium", 4, 600, 800, 2, 1.6F, 0, -2f, DARK_RED.toString(), 0x754200); + TinkerTools.registerPatternMaterial("DogbeariumIngot", 2, "Dogbearium"); + TConstructRegistry.addDefaultToolPartMaterial(203); + + 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.instance.getTableCasting().addCastingRecipe(new ItemStack(item_DogbeariumIngot, 1, 0), new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50); + + TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_DogbeariumBlock, 1, 0), new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue*9), 100); + + castMolten(moltenDogbearium, 203); + + PatternBuilder.instance.registerFullMaterial(new ItemStack(item_DogbeariumIngot, 1, 0), 2, "Dogbearium", new ItemStack(TinkerTools.toolShard, 1, 203), new ItemStack(TinkerTools.toolRod, 1, 203), 203); + + Smeltery.addAlloyMixing(new FluidStack(moltenDogbearium, 144*2), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenArditeFluid, 144), new FluidStack(TinkerSmeltery.bloodFluid, 160), new FluidStack(TinkerSmeltery.moltenEnderFluid,250) }); + + //Shields + TConstructRegistry.addToolRecipe(tool_roundShield, TinkerTools.largePlate, TinkerTools.toolRod, TinkerTools.frypanHead); + + TConstructRegistry.addToolRecipe(tool_heaterShield, TinkerTools.largePlate, TinkerTools.toughRod, TinkerTools.largePlate, TinkerTools.toughBinding); + +} + +@EventHandler +public void postInit(FMLPostInitializationEvent e) +{ + TConstructClientRegistry.toolButtons.add(TConstructClientRegistry.toolButtons.size(), + new ToolGuiElement(1, 0, 0, new int[] { 9, 0, 4, 0 }, new int[] { 2, 3, 2, 0 }, StatCollector.translateToLocal("gui.toolstation.roundshield.name"), StatCollector.translateToLocal("gui.toolstation.roundshield.desc"), "tinkersdefense", "textures/gui/icons.png")); + TConstructClientRegistry.tierTwoButtons.add(TConstructClientRegistry.tierTwoButtons.size(), + new ToolGuiElement(5, 0, 0, new int[] { 9, 8, 9, 9 }, new int[] { 2, 3, 2, 3 }, "Heater Shield", "An advanced shield with high durability and high defense.", "tinkersdefense", "textures/gui/icons.png")); +} + +public void castMolten(Fluid fluid, int ID) +{ + //.addCastingRecipe(output, fluid, cast, hardeningDelay) + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toolRod, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("toolRodCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.pickaxeHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("pickaxeHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.shovelHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("shovelHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.hatchetHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("hatchetHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.swordBlade, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("swordBladeCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.fullGuard, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("fullGuardCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.wideGuard, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("wideGuardCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.crossbar, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("crossbarCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.binding, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("bindingCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.handGuard, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("handGuardCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.frypanHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("frypanHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.signHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("signHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.knifeBlade, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("knifeBladeCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.chiselHead, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("chiselHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toughRod, 1, ID),new FluidStack(fluid, (int) (144*3.0D)), TConstructRegistry.getItemStack("toughRodCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toughBinding, 1, ID),new FluidStack(fluid, (int) (144*3.0D)), TConstructRegistry.getItemStack("toughBindingCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.largePlate, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("largePlateCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.broadAxeHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("broadAxeHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.scytheBlade, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("scytheHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.excavatorHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("excavatorHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.largeSwordBlade, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("largeBladeCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.hammerHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("hammerHeadCast"),50); + TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.arrowhead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("arrowheadCast"),50); + + +} +} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/blocks/ArmorAnvil.java b/src/main/java/gmail/Lance5057/blocks/ArmorAnvil.java new file mode 100644 index 0000000..1c9b153 --- /dev/null +++ b/src/main/java/gmail/Lance5057/blocks/ArmorAnvil.java @@ -0,0 +1,47 @@ +package gmail.Lance5057.blocks; + +import gmail.Lance5057.tileentities.TileEntity_ArmorAnvil; +import gmail.Lance5057.tileentities.TileEntity_CrestMount; +import net.minecraft.block.Block; +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class ArmorAnvil extends Block implements ITileEntityProvider +{ + + public ArmorAnvil() { + super(Material.iron); + } + + //You don't want the normal render type, or it wont render properly. + @Override + public int getRenderType() { + return -1; + } + + //It's not an opaque cube, so you need this. + @Override + public boolean isOpaqueCube() { + return false; + } + + //It's not a normal block, so you need this too. + public boolean renderAsNormalBlock() { + return false; + } + + //This is the icon to use for showing the block in your hand. + public void registerIcons(IIconRegister icon) { + //TODO fix the icon + this.blockIcon = icon.registerIcon("tinkersdefense:textures/items/QueensGoldIngot.png"); + } + + @Override + public TileEntity createNewTileEntity(World w, int md) { + TileEntity_ArmorAnvil te = new TileEntity_ArmorAnvil(); + return te; + } +} diff --git a/src/main/java/gmail/Lance5057/blocks/CrestMount.java b/src/main/java/gmail/Lance5057/blocks/CrestMount.java index 84749de..d78a216 100644 --- a/src/main/java/gmail/Lance5057/blocks/CrestMount.java +++ b/src/main/java/gmail/Lance5057/blocks/CrestMount.java @@ -4,7 +4,7 @@ import static net.minecraftforge.common.util.ForgeDirection.EAST; import static net.minecraftforge.common.util.ForgeDirection.NORTH; import static net.minecraftforge.common.util.ForgeDirection.SOUTH; import static net.minecraftforge.common.util.ForgeDirection.WEST; -import gmail.Lance5057.com.mod_TinkersDefense; +import gmail.Lance5057.TinkersDefense; import gmail.Lance5057.tileentities.TileEntity_CrestMount; import java.util.Random; @@ -43,7 +43,7 @@ public class CrestMount extends BlockContainer { return false; } //code to open gui explained later - player.openGui(mod_TinkersDefense.instance, mod_TinkersDefense.GUI_ITEM_INV, player.worldObj, x, y, z); + player.openGui(TinkersDefense.instance, TinkersDefense.GUI_ITEM_INV, player.worldObj, x, y, z); return true; } diff --git a/src/main/java/gmail/Lance5057/blocks/JewelersBench.java b/src/main/java/gmail/Lance5057/blocks/JewelersBench.java new file mode 100644 index 0000000..af9ca1c --- /dev/null +++ b/src/main/java/gmail/Lance5057/blocks/JewelersBench.java @@ -0,0 +1,47 @@ +package gmail.Lance5057.blocks; + +import gmail.Lance5057.tileentities.TileEntity_JewelersBench; +import net.minecraft.block.Block; +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class JewelersBench extends Block implements ITileEntityProvider +{ + + public JewelersBench() { + super(Material.iron); + } + + //You don't want the normal render type, or it wont render properly. + @Override + public int getRenderType() { + return -1; + } + + //It's not an opaque cube, so you need this. + @Override + public boolean isOpaqueCube() { + return false; + } + + //It's not a normal block, so you need this too. + public boolean renderAsNormalBlock() { + return false; + } + + //This is the icon to use for showing the block in your hand. + public void registerIcons(IIconRegister icon) { + //TODO fix the icon + this.blockIcon = icon.registerIcon("tinkersdefense:textures/items/QueensGoldIngot.png"); + } + + @Override + public TileEntity createNewTileEntity(World w, int md) { + TileEntity_JewelersBench te = new TileEntity_JewelersBench(); + return te; + } + +} diff --git a/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java b/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java deleted file mode 100644 index d22158c..0000000 --- a/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java +++ /dev/null @@ -1,87 +0,0 @@ -// Date: 1/18/2015 9:46:49 PM -// Template version 1.1 -// Java generated by Techne -// Keep in mind that you still need to fill in some blanks -// - ZeuX - -package gmail.Lance5057.blocks; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelRenderer; -import net.minecraft.entity.Entity; - -public class ModelCrestMount extends ModelBase -{ - //fields - ModelRenderer ShieldMount; - ModelRenderer Base; - ModelRenderer SwordMount1; - ModelRenderer SwordMount2; - //ModelRenderer SwordMount3; - - public ModelCrestMount() - { - textureWidth = 32; - textureHeight = 32; - - ShieldMount = new ModelRenderer(this, 20, 6); - ShieldMount.addBox(0F, 0F, 0F, 2, 7, 2); - ShieldMount.setRotationPoint(-1F, 17F, -1F); - ShieldMount.setTextureSize(32, 32); - ShieldMount.mirror = true; - setRotation(ShieldMount, 0F, 0F, 0F); - - Base = new ModelRenderer(this, 0, 6); - Base.addBox(0F, 0F, 0F, 4, 4, 4); - Base.setRotationPoint(-2F, 20F, -2F); - Base.setTextureSize(32, 32); - Base.mirror = true; - setRotation(Base, 0F, 0F, 0F); - - SwordMount1 = new ModelRenderer(this, 0, 0); - SwordMount1.addBox(-5F, 0F, -2F, 10, 2, 4); - SwordMount1.setRotationPoint(0F, 22F, 0F); - SwordMount1.setTextureSize(32, 32); - SwordMount1.mirror = true; - setRotation(SwordMount1, 0F, 0.7853982F, 0F); - - SwordMount2 = new ModelRenderer(this, 0, 0); - SwordMount2.addBox(-5F, 0F, -2F, 10, 2, 4); - SwordMount2.setRotationPoint(0F, 22F, 0F); - SwordMount2.setTextureSize(32, 32); - SwordMount2.mirror = true; - setRotation(SwordMount2, 0F, -0.7853982F, 0F); - -// SwordMount3 = new ModelRenderer(this, 0, 0); -// SwordMount3.addBox(-5F, 0F, -2F, 10, 2, 4); -// SwordMount3.setRotationPoint(0F, 21.9F, 0F); -// SwordMount3.setTextureSize(32, 32); -// SwordMount3.mirror = true; -// setRotation(SwordMount3, 0F, 1.570796F, 0F); - } - - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean left, boolean right, boolean shield) - { - super.render(entity, f, f1, f2, f3, f4, f5); - setRotationAngles(f, f1, f2, f3, f4, f5, entity); - if(shield) ShieldMount.render(f5); - if(left) SwordMount1.render(f5); - if(right) SwordMount2.render(f5); - - Base.render(f5); - //SwordMount3.render(f5); - } - - private void setRotation(ModelRenderer model, float x, float y, float z) - { - model.rotateAngleX = x; - model.rotateAngleY = y; - model.rotateAngleZ = z; - } - - public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) - { - super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); - } - -} diff --git a/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java b/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java deleted file mode 100644 index 4959e7c..0000000 --- a/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java +++ /dev/null @@ -1,185 +0,0 @@ -package gmail.Lance5057.blocks; - -import gmail.Lance5057.tileentities.TileEntity_CrestMount; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.client.renderer.entity.RenderManager; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraft.world.World; -import net.minecraftforge.client.IItemRenderer; - -import org.lwjgl.opengl.GL11; - -public class Renderer_CrestMount extends TileEntitySpecialRenderer -{ - //private RenderItem itemRenderer; - private final ModelCrestMount model; - EntityItem entItem = null; - EntityItem entItem2 = null; - EntityItem entItem3 = null; - EntityItem entItem4 = null; - - public Renderer_CrestMount() { - this.model = new ModelCrestMount(); - } - - @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) - { - TileEntity_CrestMount tileEntity = (TileEntity_CrestMount)te; - - boolean left=false, - right=false, - shield=false; - - if(tileEntity.getStackInSlot(0)!=null) - right=true; - if(tileEntity.getStackInSlot(1)!=null) - left=true; - if(tileEntity.getStackInSlot(3)!=null) - shield=true; - - - GL11.glPushMatrix(); - - //Render Crest Mount - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - - ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/CrestMount.png")); - - Minecraft.getMinecraft().renderEngine.bindTexture(textures); - - GL11.glPushMatrix(); - - int meta = te.getBlockMetadata(); - float rotation = 0; - switch(meta) - { - case 1: rotation = 0; break; - case 2: rotation = 180; break; - case 3: rotation = 90; break; - case 4: rotation = -90; break; - } - GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); - - GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(90F, 0.5F, 0.0F, 0.0F); - GL11.glTranslatef(0, -1, -1); - - this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F,left,right,shield); - GL11.glPopMatrix(); - - //Render Inventory - - //right slot - int slot = 0; - if(tileEntity.getStackInSlot(slot)!=null) - { - if((entItem == null) || entItem.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) - entItem = new EntityItem(tileEntity.getWorldObj(), 0, 0, 0, tileEntity.getStackInSlot(slot)); - GL11.glPushMatrix(); - this.entItem.hoverStart = 0.0F; - RenderItem.renderInFrame = true; - GL11.glScalef(2f,2f,2f); - GL11.glRotatef(90, 0, 0, -1); - GL11.glRotatef(rotation, -1.0F, 0.0F, 0.0F); - //GL11.glTranslatef(0.4f/*up - down*/, -0.3f/*left - right*/, 0.22f); - if(tileEntity.flip[0]==true) - { - GL11.glRotatef(180, 0, 0, 1); - GL11.glTranslatef(-0.8f, 0.2f, 0); - } - RenderManager.instance.renderEntityWithPosYaw(entItem, 0.4f/*up - down*/, -0.3f/*left - right*/, 0.23f, 0, 0); - RenderItem.renderInFrame = false; - GL11.glPopMatrix(); - } - - //left slot - slot = 1; - if(tileEntity.getStackInSlot(slot)!=null) - { - if((entItem2 == null) || entItem2.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) - entItem2 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); - GL11.glPushMatrix(); - this.entItem2.hoverStart = 0.0F; - RenderItem.renderInFrame = true; - //GL11.glTranslatef((float)te.xCoord + 0.5F, (float)te.yCoord + 1.02F, (float)te.zCoord + 0.3F); - GL11.glScalef(2f,2f,2f); - GL11.glRotatef(180, 0, 0, 1); - GL11.glRotatef(rotation, 0.0F, -1.0F, 0.0F); - if(tileEntity.flip[1]==true) - { - GL11.glRotatef(180, 0, 0, 1); - GL11.glTranslatef(0.2f, -0.8f, 0); - } - RenderManager.instance.renderEntityWithPosYaw(entItem2, -0.1, 0.2, 0.23, 0, 0); - RenderItem.renderInFrame = false; - GL11.glPopMatrix(); - } - - //middle slot - slot = 2; - if(tileEntity.getStackInSlot(slot)!=null) - { - if((entItem3 == null) || entItem3.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) - entItem3 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); - GL11.glPushMatrix(); - this.entItem3.hoverStart = 0.0F; - RenderItem.renderInFrame = true; - GL11.glScalef(2f,2f,2f); - if(rotation == 90) - GL11.glTranslatef(0.3f, 0, 0.0f); - if(rotation == -90) - GL11.glTranslatef(-0.3f, 0, 0.0f); - GL11.glRotatef(225, 0, 0, 1); - GL11.glRotatef(rotation, 1F, 1F, 0F); - if(tileEntity.flip[2]==true) - { - GL11.glRotatef(180, 0, 0, 1); - GL11.glTranslatef(-0.5f, -0.5f, 0); - } - RenderManager.instance.renderEntityWithPosYaw(entItem3, 0.3, 0.1, 0.16, 0, 0); - RenderItem.renderInFrame = false; - GL11.glPopMatrix(); - } - - //shield slot - slot = 3; - if(tileEntity.getStackInSlot(slot)!=null) - { - if((entItem4 == null) || entItem4.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) - entItem4 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); - GL11.glPushMatrix(); - this.entItem4.hoverStart = 0.0F; - RenderItem.renderInFrame = true; - GL11.glScalef(2f,2f,2f); - GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); - if(tileEntity.flip[3]==true) - { - GL11.glRotatef(180, 0, 0, 1); - GL11.glTranslatef(0.0f, 1.0f, 0); - } - RenderManager.instance.renderEntityWithPosYaw(entItem4, 0, -0.7, -0.01, 0, 0); - RenderItem.renderInFrame = false; - GL11.glPopMatrix(); - } - - - GL11.glPopMatrix(); - - entItem = null; - entItem2= null; - entItem3= null; - entItem4= null; - } - -} diff --git a/src/main/java/gmail/Lance5057/com/HeaterShield.java b/src/main/java/gmail/Lance5057/com/HeaterShield.java deleted file mode 100644 index 063eb66..0000000 --- a/src/main/java/gmail/Lance5057/com/HeaterShield.java +++ /dev/null @@ -1,254 +0,0 @@ -package gmail.Lance5057.com; - -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 net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import tconstruct.library.tools.AbilityHelper; -import tconstruct.library.tools.HarvestTool; -import tconstruct.tools.TinkerTools; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; - - -public class HeaterShield extends HarvestTool implements IShield, ISheathed, IArrowCatcher, IArrowDisplay -{ - int induceDamage = 0; -public HeaterShield() -{ -super(0); -this.setUnlocalizedName("heatershield"); -} -@Override -public Item getHeadItem () -{ -return TinkerTools.largePlate; -} -@Override -public Item getHandleItem () -{ -return TinkerTools.toughRod; -} -@Override -public Item getAccessoryItem () -{ -return TinkerTools.largePlate; -} -@Override -public Item getExtraItem () -{ - return TinkerTools.toughBinding; -} -@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; -} -@SideOnly(Side.CLIENT) -@Override -public int getRenderPasses (int metadata) -{ -return 10; -} -@Override -public int getPartAmount () -{ -return 4; -} -@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_face_other"; -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 -public int getArrowCount(ItemStack stack) -{ - if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows")) - { - return stack.getTagCompound().getShort("arrows"); - } - else - return 0; -} -@Override -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 -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 -public boolean sheatheOnBack(ItemStack arg0) { - return true; -} -@Override -public void blockAnimation(EntityPlayer player, float dmg) -{ - player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1); -} -@Override -public boolean canBlock(ItemStack shield, DamageSource source) { - return !source.isUnblockable(); -} -@Override -public int getBashTimer(ItemStack arg0) { - // TODO Auto-generated method stub - return 10; -} -@Override -public float getBlockAngle(ItemStack arg0) { - // TODO Auto-generated method stub - return 60; -} -@Override -public float getDamageDecayRate(ItemStack shield, float amount) -{ - return 0; -} -@Override -public float getDamageReduction(ItemStack arg0, DamageSource arg1) { - return 1f; -} -@Override -public float getDecayRate(ItemStack stack) -{ - NBTTagCompound tags = stack.getTagCompound(); - float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") / 1.5f; - return 10f / recovery; -} -@Override -public float getRecoveryRate(ItemStack stack) -{ - NBTTagCompound tags = stack.getTagCompound(); - float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") / 1.5f; - return 10f / recovery; -} - -@Override -@SideOnly(Side.CLIENT) -public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) -{ - 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")/1.5f)) / 20F)+ - StatCollector.translateToLocal("attribute.shield.block.time")); - int arrowCount = getArrowCount(par1ItemStack); - if(arrowCount > 0) - { - par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count"))); - } -} -@Override -protected Material[] getEffectiveMaterials () -{ - return materials; -} - static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits }; - -@Override -protected String getHarvestType() { - // TODO Auto-generated method stub - return "pickaxe"; -} -} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/com/Reference.java b/src/main/java/gmail/Lance5057/com/Reference.java deleted file mode 100644 index f76bdcb..0000000 --- a/src/main/java/gmail/Lance5057/com/Reference.java +++ /dev/null @@ -1,10 +0,0 @@ -package gmail.Lance5057.com; - -public class Reference -{ - - public static final String MOD_ID = "tinkersdefense"; - public static final String VERSION = "1.1"; - public static final String MOD_NAME = "Tinkers' Defense"; - -} diff --git a/src/main/java/gmail/Lance5057/com/RoundShield.java b/src/main/java/gmail/Lance5057/com/RoundShield.java deleted file mode 100644 index ca176a3..0000000 --- a/src/main/java/gmail/Lance5057/com/RoundShield.java +++ /dev/null @@ -1,249 +0,0 @@ -package gmail.Lance5057.com; - -import java.util.List; -import java.util.Random; - -import mods.battlegear2.api.ISheathed; -import mods.battlegear2.api.shield.IArrowCatcher; -import mods.battlegear2.api.shield.IArrowDisplay; -import mods.battlegear2.api.shield.IShield; -import mods.battlegear2.api.shield.ShieldType; -import mods.battlegear2.utils.BattlegearConfig; -import cpw.mods.fml.relauncher.*; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.Entity; -import net.minecraft.entity.IProjectile; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.*; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.*; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.event.entity.player.PlayerInteractEvent; -import tconstruct.library.tools.*; -import tconstruct.tools.TinkerTools; -public class RoundShield extends Shield implements IShield, ISheathed, IArrowCatcher, IArrowDisplay -{ - int induceDamage = 0; -public RoundShield() -{ -super(0); -this.setUnlocalizedName("roundshield"); -} -@Override -public Item getHeadItem () -{ -return TinkerTools.largePlate; -} -@Override -public Item getHandleItem () -{ -return TinkerTools.toolRod; -} -@Override -public Item getAccessoryItem () -{ -return TinkerTools.frypanHead; -} -@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; -} -@SideOnly(Side.CLIENT) -@Override -public int getRenderPasses (int metadata) -{ -return 10; -} -@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); - -} - -@Override -public int getArrowCount(ItemStack stack) -{ - if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows")) - { - return stack.getTagCompound().getShort("arrows"); - } - else - return 0; -} -@Override -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 -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 -public boolean sheatheOnBack(ItemStack arg0) { - return true; -} -@Override -public void blockAnimation(EntityPlayer player, float dmg) -{ - player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1); -} -@Override -public boolean canBlock(ItemStack shield, DamageSource source) { - return !source.isUnblockable(); -} -@Override -public int getBashTimer(ItemStack arg0) { - // TODO Auto-generated method stub - return 10; -} -@Override -public float getBlockAngle(ItemStack arg0) { - // TODO Auto-generated method stub - return 60; -} -@Override -public float getDamageDecayRate(ItemStack shield, float amount) -{ - return 2; -} -@Override -public float getDamageReduction(ItemStack arg0, DamageSource arg1) { - return 1f; -} -@Override -public float getDecayRate(ItemStack stack) -{ - NBTTagCompound tags = stack.getTagCompound(); - float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed"); - return 10f / recovery * 2; -} -@Override -public float getRecoveryRate(ItemStack stack) -{ - NBTTagCompound tags = stack.getTagCompound(); - float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed"); - return 10f / recovery * 2; -} - -@Override -@SideOnly(Side.CLIENT) -public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) -{ - 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") * 2) / 20F)+ - StatCollector.translateToLocal("attribute.shield.block.time")); - int arrowCount = getArrowCount(par1ItemStack); - if(arrowCount > 0) - { - par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count"))); - } -} -@Override -protected Material[] getEffectiveMaterials () -{ - return materials; -} - static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits }; - -@Override -protected String getHarvestType() { - // TODO Auto-generated method stub - return "pickaxe"; -} -} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/com/RoyalGuard.java b/src/main/java/gmail/Lance5057/com/RoyalGuard.java deleted file mode 100644 index 3510c18..0000000 --- a/src/main/java/gmail/Lance5057/com/RoyalGuard.java +++ /dev/null @@ -1,42 +0,0 @@ -package gmail.Lance5057.com; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import tconstruct.library.client.TConstructClientRegistry; -import tconstruct.library.crafting.ToolBuilder; -import tconstruct.library.tools.Weapon; - -import java.util.List; - -public abstract class RoyalGuard extends Weapon { - public RoyalGuard() { - super(10); - } - -@Override -public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { -super.addInformation(stack, player, list, par4); -list.add(EnumChatFormatting.DARK_PURPLE + "Artisan crafted for the royal family"); -} -@Override -public void getSubItems(Item id, CreativeTabs tab, List list) -{ - super.getSubItems(id, tab, list); - - ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, 2), new ItemStack(getHandleItem(), 1, 6), new ItemStack(getAccessoryItem(), 1, 33), "Royal Guard"); - NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); - tags.setInteger("Modifiers", 0); - tags.setInteger("Attack", 15); - tags.setInteger("TotalDurability", Integer.MAX_VALUE / 100); - tags.setInteger("BaseDurability", Integer.MAX_VALUE / 100); - tags.setInteger("MiningSpeed", Integer.MAX_VALUE / 100); - tags.setInteger("Unbreaking", 10); - tags.setBoolean("Built", true); - tags.setInteger("Fortune", 450); - list.add(tool); -} -} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/com/Shield.java b/src/main/java/gmail/Lance5057/com/Shield.java deleted file mode 100644 index 0cfa33c..0000000 --- a/src/main/java/gmail/Lance5057/com/Shield.java +++ /dev/null @@ -1,121 +0,0 @@ -package gmail.Lance5057.com; - -import tconstruct.library.tools.ToolCore; -import cpw.mods.fml.relauncher.*; -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.player.EntityPlayer; -import net.minecraft.item.*; -import net.minecraft.world.World; - -public abstract class Shield extends ToolCore -{ -public Shield(int baseDamage) -{ -super(baseDamage); -} -protected float baseSpeed () -{ -return 1.5f; -} -protected float effectiveSpeed () -{ -return 15f; -} -public float breakSpeedModifier () -{ -return 1.0f; -} -@Override -public float getDigSpeed (ItemStack stack, Block block, int meta) -{ -if (stack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Broken")) -return 0.1f; -for (int i = 0; i < web.length; i++) -{ -if (web[i] == block.getMaterial()) -{ -return effectiveSpeed(); -} -} -return baseSpeed(); -} -/** -* returns the action that specifies what animation to play when the items -* is being used -*/ -@Override -public EnumAction getItemUseAction (ItemStack par1ItemStack) -{ -return EnumAction.block; -} -/** -* How long it takes to use or consume an item -*/ -@Override -public int getMaxItemUseDuration (ItemStack par1ItemStack) -{ -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, this.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 (int i = 0; i < web.length; i++) -{ -if (block.getMaterial() == web[i]) -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) -{ -super.onUpdate(stack, world, entity, par4, par5); -if (entity instanceof EntityPlayerSP) -{ -EntityPlayerSP player = (EntityPlayerSP) entity; -ItemStack usingItem = player.getItemInUse(); -if (usingItem != null && usingItem.getItem() == this) -{ -player.movementInput.moveForward *= 2.5F; -player.movementInput.moveStrafe *= 2.5F; -} -} -} -@Override -public String[] getTraits () -{ -return new String[] { "Shield", "melee" }; -} -public static Material[] web = new Material[] { Material.web, Material.cloth, Material.coral, Material.cake }; -public static Material[] none = new Material[0]; -protected String getHarvestType() { - // TODO Auto-generated method stub - return null; -} -} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java b/src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java deleted file mode 100644 index da66949..0000000 --- a/src/main/java/gmail/Lance5057/com/mod_TinkersDefense.java +++ /dev/null @@ -1,336 +0,0 @@ -package gmail.Lance5057.com; - -import static net.minecraft.util.EnumChatFormatting.DARK_RED; -import static net.minecraft.util.EnumChatFormatting.GOLD; -import static net.minecraft.util.EnumChatFormatting.LIGHT_PURPLE; -import gmail.Lance5057.blocks.AeonSteelBlock; -import gmail.Lance5057.blocks.CrestMount; -import gmail.Lance5057.blocks.DogbeariumBlock; -import gmail.Lance5057.blocks.QueensGoldBlock; -import gmail.Lance5057.items.AeonSteelIngot; -import gmail.Lance5057.items.DogbeariumIngot; -import gmail.Lance5057.items.QueensGoldIngot; -import gmail.Lance5057.network.PacketHandler; -import gmail.Lance5057.proxy.CommonProxy; -import gmail.Lance5057.tileentities.TileEntity_CrestMount; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.StatCollector; -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.library.TConstructRegistry; -import tconstruct.library.client.TConstructClientRegistry; -import tconstruct.library.client.ToolGuiElement; -import tconstruct.library.crafting.PatternBuilder; -import tconstruct.library.crafting.Smeltery; -import tconstruct.library.tools.ToolCore; -import tconstruct.smeltery.TinkerSmeltery; -import tconstruct.tools.TinkerTools; -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; - -@Mod(modid = Reference.MOD_ID, version = Reference.VERSION, name = Reference.MOD_NAME) -public class mod_TinkersDefense -{ - -private static int modGuiIndex = 0; -public static final int GUI_ITEM_INV = modGuiIndex++; - -@Instance(Reference.MOD_ID) -public static mod_TinkersDefense instance = new mod_TinkersDefense(); - -public static CreativeTabs tabName = new CreativeTabs("tabName") -{ - -public Item getTabIconItem() { return Items.arrow; } - -}; - -public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(Reference.MOD_ID); - -public static Item item_AeonSteelIngot; -public static Block block_AeonSteelBlock; - -public static Fluid moltenAeonsteel; -public static Block moltenAeonsteelBlock; - -public static Item item_QueensGoldIngot; -public static Block block_QueensGoldBlock; - -public static Fluid moltenQueensGold; -public static Block moltenQueensGoldBlock; - -public static Item item_DogbeariumIngot; -public static Block block_DogbeariumBlock; - -public static Fluid moltenDogbearium; -public static Block moltenDogbeariumBlock; - -public static ToolCore tool_roundShield; -public static ToolCore tool_heaterShield; - -public static Block block_CrestMount; - -public static Item item_TinkerArmor; - -@SidedProxy(clientSide = "gmail.Lance5057.proxy.ClientProxy", serverSide = "gmail.Lance5057.proxy.CommonProxy") -public static CommonProxy proxy; - - - - -@EventHandler -public void preInit(FMLPreInitializationEvent e) -{ - PacketHandler.init(); - - //Renderers - proxy.registerRenderers(); - - block_CrestMount = new CrestMount() - .setHardness(4.0F) - .setStepSound(Block.soundTypeMetal) - .setBlockName("CrestMount") - .setCreativeTab(tabName); - - GameRegistry.registerBlock(block_CrestMount, "Block_CrestMount"); - GameRegistry.registerTileEntity(TileEntity_CrestMount.class, "Tile_CrestMount"); - - NetworkRegistry.INSTANCE.registerGuiHandler(mod_TinkersDefense.instance, new CommonProxy()); - MinecraftForge.EVENT_BUS.register(this); - - //AeonSteel - item_AeonSteelIngot = new AeonSteelIngot() - .setCreativeTab(tabName) - .setMaxStackSize(64) - .setUnlocalizedName("AeonSteelIngot") - .setTextureName(Reference.MOD_ID+":AeonSteelIngot"); - - GameRegistry.registerItem(item_AeonSteelIngot, "AeonSteel Ingot"); - - block_AeonSteelBlock = new AeonSteelBlock(Material.iron) - .setHardness(4.0F) - .setStepSound(Block.soundTypeMetal) - .setBlockName("AeonSteelBlock") - .setCreativeTab(tabName) - .setBlockTextureName(Reference.MOD_ID+":AeonSteelBlock"); - - GameRegistry.registerBlock(block_AeonSteelBlock, "aeonsteelblock"); - - 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)}); - - moltenAeonsteel = new Fluid("moltenAeonsteel").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - FluidRegistry.registerFluid(moltenAeonsteel); - - moltenAeonsteelFluid moltenAeonsteelBlock = new moltenAeonsteelFluid(moltenAeonsteel); - - GameRegistry.registerBlock(moltenAeonsteelBlock, "moltenaeonsteel"); - - //Queen's Gold - item_QueensGoldIngot = new QueensGoldIngot() - .setCreativeTab(tabName) - .setMaxStackSize(64) - .setUnlocalizedName("QueensGoldIngot") - .setTextureName(Reference.MOD_ID+":QueensGoldIngot"); - - GameRegistry.registerItem(item_QueensGoldIngot, "Queen's Gold Ingot"); - - block_QueensGoldBlock = new QueensGoldBlock(Material.iron) - .setHardness(4.0F) - .setStepSound(Block.soundTypeMetal) - .setBlockName("QueensGoldBlock") - .setCreativeTab(tabName) - .setBlockTextureName(Reference.MOD_ID+":QueensGoldBlock"); - - GameRegistry.registerBlock(block_QueensGoldBlock, "QueensGoldblock"); - - 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)}); - - - moltenQueensGold = new Fluid("moltenQueensGold").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - FluidRegistry.registerFluid(moltenQueensGold); - - moltenQueensGoldFluid moltenQueensGoldBlock = new moltenQueensGoldFluid(moltenQueensGold); - - GameRegistry.registerBlock(moltenQueensGoldBlock, "moltenQueensGold"); - - //Dogbearium - item_DogbeariumIngot = new DogbeariumIngot() - .setCreativeTab(tabName) - .setMaxStackSize(64) - .setUnlocalizedName("DogbeariumIngot") - .setTextureName(Reference.MOD_ID+":DogbeariumIngot"); - - GameRegistry.registerItem(item_DogbeariumIngot, "DogbeariumIngot"); - - block_DogbeariumBlock = new DogbeariumBlock(Material.iron) - .setHardness(4.0F) - .setStepSound(Block.soundTypeMetal) - .setBlockName("DogbeariumBlock") - .setCreativeTab(tabName) - .setBlockTextureName(Reference.MOD_ID+":DogbeariumBlock"); - - GameRegistry.registerBlock(block_DogbeariumBlock, "Dogbeariumblock"); - - 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)}); - - - moltenDogbearium = new Fluid("moltenDogbearium").setLuminosity(15).setDensity(3000).setViscosity(6000).setTemperature(1300); - FluidRegistry.registerFluid(moltenDogbearium); - - moltenDogbeariumFluid moltenDogbeariumBlock = new moltenDogbeariumFluid(moltenDogbearium); - - GameRegistry.registerBlock(moltenDogbeariumBlock, "moltenDogbearium"); - - tool_roundShield = new RoundShield(); - tool_heaterShield = new HeaterShield(); - - GameRegistry.registerItem(tool_roundShield, "Round Shield"); - GameRegistry.registerItem(tool_heaterShield, "Heater Shield"); - TConstructRegistry.addItemToDirectory("Round Shield", tool_roundShield); - TConstructRegistry.addItemToDirectory("Heater Shield", tool_heaterShield); - - - - - //item_TinkerArmor = new TinkerArmor(ArmorMaterial.IRON, 4, 1).setUnlocalizedName("Tinker_Armor"); - //GameRegistry.registerItem(item_TinkerArmor,"Tinker Armor"); - - -//network.registerMessage(messageHandler, requestMessageType, discriminator, side); -} - -@EventHandler -public void init(FMLInitializationEvent e) -{ - System.out.print(Reference.MOD_ID); - PatternBuilder pb = PatternBuilder.instance; - - //Aeonsteel - pb.registerMaterialSet("AeonSteel", new ItemStack(TinkerTools.toolShard, 1, 10), new ItemStack(TinkerTools.toolRod, 1, 10), 10); - - TConstructClientRegistry.addMaterialRenderMapping(201, "tinker", "aeonsteel", true); - - // Tool Materials: id, name, harvestlevel, durability, speed, damage, handlemodifier, reinforced, shoddy, style color, primary color for block use - TConstructRegistry.addToolMaterial(201, "AeonSteel", 4, 822, 1100, 3, 1.6F, 2, 0f, LIGHT_PURPLE.toString(), 0xb565e6); - TinkerTools.registerPatternMaterial("AeonSteelIngot", 2, "AeonSteel"); - TConstructRegistry.addDefaultToolPartMaterial(201); - - 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.instance.getTableCasting().addCastingRecipe(new ItemStack(item_AeonSteelIngot, 1, 0), new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50); - - TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_AeonSteelBlock, 1, 0), new FluidStack(moltenAeonsteel, TConstruct.ingotLiquidValue*9), 100); - - castMolten(moltenAeonsteel, 201); - - PatternBuilder.instance.registerFullMaterial(new ItemStack(item_AeonSteelIngot, 1, 0), 2, "Aeonsteel", new ItemStack(TinkerTools.toolShard, 1, 201), new ItemStack(TinkerTools.toolRod, 1, 201), 201); - - Smeltery.addAlloyMixing(new FluidStack(moltenAeonsteel, 144), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenAlumiteFluid, 144), new FluidStack(TinkerSmeltery.moltenCobaltFluid, 144) }); - //Queen's Gold - TConstructClientRegistry.addMaterialRenderMapping(202, "tinker", "queensgold", true); - TConstructRegistry.addToolMaterial(202, "QueensGold", 3, 100, 500, 2, 1.0F, 0, 0f, GOLD.toString(), 0xeaee57); - TinkerTools.registerPatternMaterial("QueensGoldIngot", 2, "QueensGold"); - TConstructRegistry.addDefaultToolPartMaterial(202); - - 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.instance.getTableCasting().addCastingRecipe(new ItemStack(item_QueensGoldIngot, 1, 0), new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50); - - TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_QueensGoldBlock, 1, 0), new FluidStack(moltenQueensGold, TConstruct.ingotLiquidValue*9), 100); - - castMolten(moltenQueensGold, 202); - - PatternBuilder.instance.registerFullMaterial(new ItemStack(item_QueensGoldIngot, 1, 0), 2, "QueensGold", new ItemStack(TinkerTools.toolShard, 1, 202), new ItemStack(TinkerTools.toolRod, 1, 202), 202); - - Smeltery.addAlloyMixing(new FluidStack(moltenQueensGold, 144*8), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenGoldFluid, 144*8), new FluidStack(TinkerSmeltery.moltenEmeraldFluid, 80) }); - - // Tool Materials: id, name, harvestlevel, durability, speed, damage, handlemodifier, reinforced, shoddy, style color, primary color for block use - //Dogbearium - TConstructClientRegistry.addMaterialRenderMapping(203, "tinker", "dogbearium", true); - TConstructRegistry.addToolMaterial(203, "Dogbearium", 4, 600, 800, 2, 1.6F, 0, -2f, DARK_RED.toString(), 0x754200); - TinkerTools.registerPatternMaterial("DogbeariumIngot", 2, "Dogbearium"); - TConstructRegistry.addDefaultToolPartMaterial(203); - - 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.instance.getTableCasting().addCastingRecipe(new ItemStack(item_DogbeariumIngot, 1, 0), new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue), TConstructRegistry.getItemStack("ingotCast"), false, 50); - - TConstructRegistry.instance.getBasinCasting().addCastingRecipe(new ItemStack(block_DogbeariumBlock, 1, 0), new FluidStack(moltenDogbearium, TConstruct.ingotLiquidValue*9), 100); - - castMolten(moltenDogbearium, 203); - - PatternBuilder.instance.registerFullMaterial(new ItemStack(item_DogbeariumIngot, 1, 0), 2, "Dogbearium", new ItemStack(TinkerTools.toolShard, 1, 203), new ItemStack(TinkerTools.toolRod, 1, 203), 203); - - Smeltery.addAlloyMixing(new FluidStack(moltenDogbearium, 144*2), new FluidStack[] { new FluidStack(TinkerSmeltery.moltenArditeFluid, 144), new FluidStack(TinkerSmeltery.bloodFluid, 160), new FluidStack(TinkerSmeltery.moltenEnderFluid,250) }); - - //Shields - TConstructRegistry.addToolRecipe(tool_roundShield, TinkerTools.largePlate, TinkerTools.toolRod, TinkerTools.frypanHead); - - TConstructRegistry.addToolRecipe(tool_heaterShield, TinkerTools.largePlate, TinkerTools.toughRod, TinkerTools.largePlate, TinkerTools.toughBinding); - -} - -@EventHandler -public void postInit(FMLPostInitializationEvent e) -{ - TConstructClientRegistry.toolButtons.add(TConstructClientRegistry.toolButtons.size(), - new ToolGuiElement(1, 0, 0, new int[] { 9, 0, 4, 0 }, new int[] { 2, 3, 2, 0 }, StatCollector.translateToLocal("gui.toolstation.roundshield.name"), StatCollector.translateToLocal("gui.toolstation.roundshield.desc"), "tinkersdefense", "textures/gui/icons.png")); - TConstructClientRegistry.tierTwoButtons.add(TConstructClientRegistry.tierTwoButtons.size(), - new ToolGuiElement(5, 0, 0, new int[] { 9, 8, 9, 9 }, new int[] { 2, 3, 2, 3 }, "Heater Shield", "An advanced shield with high durability and high defense.", "tinkersdefense", "textures/gui/icons.png")); -} - -public void castMolten(Fluid fluid, int ID) -{ - //.addCastingRecipe(output, fluid, cast, hardeningDelay) - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toolRod, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("toolRodCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.pickaxeHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("pickaxeHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.shovelHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("shovelHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.hatchetHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("hatchetHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.swordBlade, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("swordBladeCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.fullGuard, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("fullGuardCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.wideGuard, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("wideGuardCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.crossbar, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("crossbarCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.binding, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("bindingCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.handGuard, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("handGuardCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.frypanHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("frypanHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.signHead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("signHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.knifeBlade, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("knifeBladeCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.chiselHead, 1, ID),new FluidStack(fluid, (int) (144*0.5D)), TConstructRegistry.getItemStack("chiselHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toughRod, 1, ID),new FluidStack(fluid, (int) (144*3.0D)), TConstructRegistry.getItemStack("toughRodCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.toughBinding, 1, ID),new FluidStack(fluid, (int) (144*3.0D)), TConstructRegistry.getItemStack("toughBindingCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.largePlate, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("largePlateCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.broadAxeHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("broadAxeHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.scytheBlade, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("scytheHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.excavatorHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("excavatorHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.largeSwordBlade, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("largeBladeCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.hammerHead, 1, ID),new FluidStack(fluid, (int) (144*8.0D)), TConstructRegistry.getItemStack("hammerHeadCast"),50); - TConstructRegistry.instance.getTableCasting().addCastingRecipe(new ItemStack(TinkerTools.arrowhead, 1, ID),new FluidStack(fluid, (int) (144*1.0D)), TConstructRegistry.getItemStack("arrowheadCast"),50); - - -} -} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java b/src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java deleted file mode 100644 index b18f981..0000000 --- a/src/main/java/gmail/Lance5057/com/moltenAeonsteelFluid.java +++ /dev/null @@ -1,59 +0,0 @@ -package gmail.Lance5057.com; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Locale; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -public class moltenAeonsteelFluid - extends BlockFluidClassic -{ - private IIcon stillIcon; - private IIcon flowingIcon; - private String stillIconTexture = "molten_Aeonsteel"; - private String flowIconTexture = "molten_Aeonsteel_flow"; - - public moltenAeonsteelFluid(Fluid fluid) - { - super(fluid, Material.lava); - setLightLevel(100.0F); - setHardness(1.0F); - setBlockName("MoltenAeonSteel"); - - this.stillIconTexture = ("tinkersdefense:" + stillIconTexture); - this.flowIconTexture = ("tinkersdefense:" + flowIconTexture); - } - - @SideOnly(Side.CLIENT) - public void func_149651_a(IIconRegister icon) - { - this.stillIcon = icon.registerIcon(this.stillIconTexture); - this.flowingIcon = icon.registerIcon(this.flowIconTexture); - - getFluid().setIcons(this.stillIcon, this.flowingIcon); - } - - public IIcon getStillIcon() - { - return this.stillIcon; - } - - public IIcon getFlowingIcon() - { - return this.flowingIcon; - } - - @SideOnly(Side.CLIENT) - public IIcon func_149691_a(int side, int meta) - { - if (side <= 1) { - return this.stillIcon; - } - return this.flowingIcon; - } -} diff --git a/src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java b/src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java deleted file mode 100644 index b9d91af..0000000 --- a/src/main/java/gmail/Lance5057/com/moltenDogbeariumFluid.java +++ /dev/null @@ -1,59 +0,0 @@ -package gmail.Lance5057.com; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Locale; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -public class moltenDogbeariumFluid - extends BlockFluidClassic -{ - private IIcon stillIcon; - private IIcon flowingIcon; - private String stillIconTexture = "molten_Dogbearium"; - private String flowIconTexture = "molten_Dogbearium_flow"; - - public moltenDogbeariumFluid(Fluid fluid) - { - super(fluid, Material.lava); - setLightLevel(100.0F); - setHardness(1.0F); - setBlockName("MoltenDogbearium"); - - this.stillIconTexture = ("tinkersdefense:" + stillIconTexture); - this.flowIconTexture = ("tinkersdefense:" + flowIconTexture); - } - - @SideOnly(Side.CLIENT) - public void func_149651_a(IIconRegister icon) - { - this.stillIcon = icon.registerIcon(this.stillIconTexture); - this.flowingIcon = icon.registerIcon(this.flowIconTexture); - - getFluid().setIcons(this.stillIcon, this.flowingIcon); - } - - public IIcon getStillIcon() - { - return this.stillIcon; - } - - public IIcon getFlowingIcon() - { - return this.flowingIcon; - } - - @SideOnly(Side.CLIENT) - public IIcon func_149691_a(int side, int meta) - { - if (side <= 1) { - return this.stillIcon; - } - return this.flowingIcon; - } -} diff --git a/src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java b/src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java deleted file mode 100644 index dc55f19..0000000 --- a/src/main/java/gmail/Lance5057/com/moltenQueensGoldFluid.java +++ /dev/null @@ -1,59 +0,0 @@ -package gmail.Lance5057.com; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import java.util.Locale; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.BlockFluidClassic; -import net.minecraftforge.fluids.Fluid; - -public class moltenQueensGoldFluid - extends BlockFluidClassic -{ - private IIcon stillIcon; - private IIcon flowingIcon; - private String stillIconTexture = "molten_QueensGold"; - private String flowIconTexture = "molten_QueensGold_flow"; - - public moltenQueensGoldFluid(Fluid fluid) - { - super(fluid, Material.lava); - setLightLevel(100.0F); - setHardness(1.0F); - setBlockName("MoltenQueensGold"); - - this.stillIconTexture = ("tinkersdefense:" + stillIconTexture); - this.flowIconTexture = ("tinkersdefense:" + flowIconTexture); - } - - @SideOnly(Side.CLIENT) - public void func_149651_a(IIconRegister icon) - { - this.stillIcon = icon.registerIcon(this.stillIconTexture); - this.flowingIcon = icon.registerIcon(this.flowIconTexture); - - getFluid().setIcons(this.stillIcon, this.flowingIcon); - } - - public IIcon getStillIcon() - { - return this.stillIcon; - } - - public IIcon getFlowingIcon() - { - return this.flowingIcon; - } - - @SideOnly(Side.CLIENT) - public IIcon func_149691_a(int side, int meta) - { - if (side <= 1) { - return this.stillIcon; - } - return this.flowingIcon; - } -} diff --git a/src/main/java/gmail/Lance5057/gui/Gui_CrestMount.java b/src/main/java/gmail/Lance5057/gui/Gui_CrestMount.java index ab8b498..cbd3b8d 100644 --- a/src/main/java/gmail/Lance5057/gui/Gui_CrestMount.java +++ b/src/main/java/gmail/Lance5057/gui/Gui_CrestMount.java @@ -1,6 +1,6 @@ package gmail.Lance5057.gui; -import gmail.Lance5057.com.mod_TinkersDefense; +import gmail.Lance5057.TinkersDefense; import gmail.Lance5057.containers.Container_CrestMount; import gmail.Lance5057.network.Message_CrestMount; import gmail.Lance5057.tileentities.TileEntity_CrestMount; @@ -61,7 +61,7 @@ protected void actionPerformed(GuiButton button) else inventory.flip[i-1]=false; - mod_TinkersDefense.INSTANCE.sendToServer(new Message_CrestMount(inventory.xCoord, inventory.yCoord, inventory.zCoord, inventory.flip)); + TinkersDefense.INSTANCE.sendToServer(new Message_CrestMount(inventory.xCoord, inventory.yCoord, inventory.zCoord, inventory.flip)); } } } diff --git a/src/main/java/gmail/Lance5057/items/HeaterShield.java b/src/main/java/gmail/Lance5057/items/HeaterShield.java new file mode 100644 index 0000000..fe97305 --- /dev/null +++ b/src/main/java/gmail/Lance5057/items/HeaterShield.java @@ -0,0 +1,249 @@ +package gmail.Lance5057.items; + +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 net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import tconstruct.library.tools.AbilityHelper; +import tconstruct.library.tools.HarvestTool; +import tconstruct.tools.TinkerTools; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + + +public class HeaterShield extends HarvestTool implements IShield, ISheathed, IArrowCatcher, IArrowDisplay +{ + int induceDamage = 0; +public HeaterShield() +{ +super(0); +this.setUnlocalizedName("heatershield"); +} +@Override +public Item getHeadItem () +{ +return TinkerTools.largePlate; +} +@Override +public Item getHandleItem () +{ +return TinkerTools.toughRod; +} +@Override +public Item getAccessoryItem () +{ +return TinkerTools.largePlate; +} +@Override +public Item getExtraItem () +{ + return TinkerTools.toughBinding; +} +@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; +} +@SideOnly(Side.CLIENT) +@Override +public int getPartAmount () +{ +return 4; +} +@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_face_other"; +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 +public int getArrowCount(ItemStack stack) +{ + if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows")) + { + return stack.getTagCompound().getShort("arrows"); + } + else + return 0; +} +@Override +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 +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 +public boolean sheatheOnBack(ItemStack arg0) { + return true; +} +@Override +public void blockAnimation(EntityPlayer player, float dmg) +{ + player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1); +} +@Override +public boolean canBlock(ItemStack shield, DamageSource source) { + return !source.isUnblockable(); +} +@Override +public int getBashTimer(ItemStack arg0) { + // TODO Auto-generated method stub + return 10; +} +@Override +public float getBlockAngle(ItemStack arg0) { + // TODO Auto-generated method stub + return 60; +} +@Override +public float getDamageDecayRate(ItemStack shield, float amount) +{ + return 0; +} +@Override +public float getDamageReduction(ItemStack arg0, DamageSource arg1) { + return 1f; +} +@Override +public float getDecayRate(ItemStack stack) +{ + NBTTagCompound tags = stack.getTagCompound(); + float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") / 1.5f; + return 10f / recovery; +} +@Override +public float getRecoveryRate(ItemStack stack) +{ + NBTTagCompound tags = stack.getTagCompound(); + float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed") / 1.5f; + return 10f / recovery; +} + +@Override +@SideOnly(Side.CLIENT) +public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) +{ + 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")/1.5f)) / 20F)+ + StatCollector.translateToLocal("attribute.shield.block.time")); + int arrowCount = getArrowCount(par1ItemStack); + if(arrowCount > 0) + { + par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count"))); + } +} +@Override +protected Material[] getEffectiveMaterials () +{ + return materials; +} + static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits }; + +@Override +protected String getHarvestType() { + // TODO Auto-generated method stub + return "pickaxe"; +} +} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/items/RoundShield.java b/src/main/java/gmail/Lance5057/items/RoundShield.java new file mode 100644 index 0000000..59687ef --- /dev/null +++ b/src/main/java/gmail/Lance5057/items/RoundShield.java @@ -0,0 +1,244 @@ +package gmail.Lance5057.items; + +import java.util.List; +import java.util.Random; + +import mods.battlegear2.api.ISheathed; +import mods.battlegear2.api.shield.IArrowCatcher; +import mods.battlegear2.api.shield.IArrowDisplay; +import mods.battlegear2.api.shield.IShield; +import mods.battlegear2.api.shield.ShieldType; +import mods.battlegear2.utils.BattlegearConfig; +import cpw.mods.fml.relauncher.*; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.Entity; +import net.minecraft.entity.IProjectile; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.item.*; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.*; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import tconstruct.library.tools.*; +import tconstruct.tools.TinkerTools; +public class RoundShield extends HarvestTool implements IShield, ISheathed, IArrowCatcher, IArrowDisplay +{ + int induceDamage = 0; +public RoundShield() +{ +super(0); +this.setUnlocalizedName("roundshield"); +} +@Override +public Item getHeadItem () +{ +return TinkerTools.largePlate; +} +@Override +public Item getHandleItem () +{ +return TinkerTools.toolRod; +} +@Override +public Item getAccessoryItem () +{ +return TinkerTools.frypanHead; +} +@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; +} +@SideOnly(Side.CLIENT) +@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); + +} + +@Override +public int getArrowCount(ItemStack stack) +{ + if(stack.hasTagCompound() && stack.getTagCompound().hasKey("arrows")) + { + return stack.getTagCompound().getShort("arrows"); + } + else + return 0; +} +@Override +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 +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 +public boolean sheatheOnBack(ItemStack arg0) { + return true; +} +@Override +public void blockAnimation(EntityPlayer player, float dmg) +{ + player.worldObj.playSoundAtEntity(player, "battlegear2:shield", 1, 1); +} +@Override +public boolean canBlock(ItemStack shield, DamageSource source) { + return !source.isUnblockable(); +} +@Override +public int getBashTimer(ItemStack arg0) { + // TODO Auto-generated method stub + return 10; +} +@Override +public float getBlockAngle(ItemStack arg0) { + // TODO Auto-generated method stub + return 60; +} +@Override +public float getDamageDecayRate(ItemStack shield, float amount) +{ + return 2; +} +@Override +public float getDamageReduction(ItemStack arg0, DamageSource arg1) { + return 1f; +} +@Override +public float getDecayRate(ItemStack stack) +{ + NBTTagCompound tags = stack.getTagCompound(); + float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed"); + return 10f / recovery * 2; +} +@Override +public float getRecoveryRate(ItemStack stack) +{ + NBTTagCompound tags = stack.getTagCompound(); + float recovery = tags.getCompoundTag("InfiTool").getInteger("MiningSpeed"); + return 10f / recovery * 2; +} + +@Override +@SideOnly(Side.CLIENT) +public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) +{ + 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") * 2) / 20F)+ + StatCollector.translateToLocal("attribute.shield.block.time")); + int arrowCount = getArrowCount(par1ItemStack); + if(arrowCount > 0) + { + par3List.add(String.format("%s%s %s", EnumChatFormatting.GOLD, arrowCount, StatCollector.translateToLocal("attribute.shield.arrow.count"))); + } +} +@Override +protected Material[] getEffectiveMaterials () +{ + return materials; +} + static Material[] materials = new Material[] { Material.rock, Material.iron, Material.ice, Material.glass, Material.piston, Material.anvil, Material.circuits }; + +@Override +protected String getHarvestType() { + // TODO Auto-generated method stub + return "pickaxe"; +} +} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/items/RoyalGuard.java b/src/main/java/gmail/Lance5057/items/RoyalGuard.java new file mode 100644 index 0000000..04bce58 --- /dev/null +++ b/src/main/java/gmail/Lance5057/items/RoyalGuard.java @@ -0,0 +1,42 @@ +package gmail.Lance5057.items; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import tconstruct.library.client.TConstructClientRegistry; +import tconstruct.library.crafting.ToolBuilder; +import tconstruct.library.tools.Weapon; + +import java.util.List; + +public abstract class RoyalGuard extends Weapon { + public RoyalGuard() { + super(10); + } + +@Override +public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { +super.addInformation(stack, player, list, par4); +list.add(EnumChatFormatting.DARK_PURPLE + "Artisan crafted for the royal family"); +} +@Override +public void getSubItems(Item id, CreativeTabs tab, List list) +{ + super.getSubItems(id, tab, list); + + ItemStack tool = ToolBuilder.instance.buildTool(new ItemStack(getHeadItem(), 1, 2), new ItemStack(getHandleItem(), 1, 6), new ItemStack(getAccessoryItem(), 1, 33), "Royal Guard"); + NBTTagCompound tags = tool.getTagCompound().getCompoundTag("InfiTool"); + tags.setInteger("Modifiers", 0); + tags.setInteger("Attack", 15); + tags.setInteger("TotalDurability", Integer.MAX_VALUE / 100); + tags.setInteger("BaseDurability", Integer.MAX_VALUE / 100); + tags.setInteger("MiningSpeed", Integer.MAX_VALUE / 100); + tags.setInteger("Unbreaking", 10); + tags.setBoolean("Built", true); + tags.setInteger("Fortune", 450); + list.add(tool); +} +} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/items/Shield.java b/src/main/java/gmail/Lance5057/items/Shield.java new file mode 100644 index 0000000..acf05fb --- /dev/null +++ b/src/main/java/gmail/Lance5057/items/Shield.java @@ -0,0 +1,121 @@ +package gmail.Lance5057.items; + +import tconstruct.library.tools.ToolCore; +import cpw.mods.fml.relauncher.*; +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.player.EntityPlayer; +import net.minecraft.item.*; +import net.minecraft.world.World; + +public abstract class Shield extends ToolCore +{ +public Shield(int baseDamage) +{ +super(baseDamage); +} +protected float baseSpeed () +{ +return 1.5f; +} +protected float effectiveSpeed () +{ +return 15f; +} +public float breakSpeedModifier () +{ +return 1.0f; +} +@Override +public float getDigSpeed (ItemStack stack, Block block, int meta) +{ +if (stack.getTagCompound().getCompoundTag("InfiTool").getBoolean("Broken")) +return 0.1f; +for (int i = 0; i < web.length; i++) +{ +if (web[i] == block.getMaterial()) +{ +return effectiveSpeed(); +} +} +return baseSpeed(); +} +/** +* returns the action that specifies what animation to play when the items +* is being used +*/ +@Override +public EnumAction getItemUseAction (ItemStack par1ItemStack) +{ +return EnumAction.block; +} +/** +* How long it takes to use or consume an item +*/ +@Override +public int getMaxItemUseDuration (ItemStack par1ItemStack) +{ +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, this.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 (int i = 0; i < web.length; i++) +{ +if (block.getMaterial() == web[i]) +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) +{ +super.onUpdate(stack, world, entity, par4, par5); +if (entity instanceof EntityPlayerSP) +{ +EntityPlayerSP player = (EntityPlayerSP) entity; +ItemStack usingItem = player.getItemInUse(); +if (usingItem != null && usingItem.getItem() == this) +{ +player.movementInput.moveForward *= 2.5F; +player.movementInput.moveStrafe *= 2.5F; +} +} +} +@Override +public String[] getTraits () +{ +return new String[] { "Shield", "melee" }; +} +public static Material[] web = new Material[] { Material.web, Material.cloth, Material.coral, Material.cake }; +public static Material[] none = new Material[0]; +protected String getHarvestType() { + // TODO Auto-generated method stub + return null; +} +} \ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/items/TinkerArmor.java b/src/main/java/gmail/Lance5057/items/TinkerArmor.java index 95d776c..0f1aa18 100644 --- a/src/main/java/gmail/Lance5057/items/TinkerArmor.java +++ b/src/main/java/gmail/Lance5057/items/TinkerArmor.java @@ -1,6 +1,6 @@ package gmail.Lance5057.items; -import gmail.Lance5057.com.mod_TinkersDefense; +import gmail.Lance5057.TinkersDefense; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; @@ -41,11 +41,11 @@ public class TinkerArmor extends ItemArmor int type = ((ItemArmor)itemStack.getItem()).armorType; if(type == 1 || type == 3) { - armorModel = mod_TinkersDefense.proxy.getArmorModel(0); + armorModel = TinkersDefense.proxy.getArmorModel(0); } else { - armorModel = mod_TinkersDefense.proxy.getArmorModel(1); + armorModel = TinkersDefense.proxy.getArmorModel(1); } } diff --git a/src/main/java/gmail/Lance5057/liquids/moltenAeonsteelFluid.java b/src/main/java/gmail/Lance5057/liquids/moltenAeonsteelFluid.java new file mode 100644 index 0000000..650426e --- /dev/null +++ b/src/main/java/gmail/Lance5057/liquids/moltenAeonsteelFluid.java @@ -0,0 +1,59 @@ +package gmail.Lance5057.liquids; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import java.util.Locale; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class moltenAeonsteelFluid + extends BlockFluidClassic +{ + private IIcon stillIcon; + private IIcon flowingIcon; + private String stillIconTexture = "molten_Aeonsteel"; + private String flowIconTexture = "molten_Aeonsteel_flow"; + + public moltenAeonsteelFluid(Fluid fluid) + { + super(fluid, Material.lava); + setLightLevel(100.0F); + setHardness(1.0F); + setBlockName("MoltenAeonSteel"); + + this.stillIconTexture = ("tinkersdefense:" + stillIconTexture); + this.flowIconTexture = ("tinkersdefense:" + flowIconTexture); + } + + @SideOnly(Side.CLIENT) + public void func_149651_a(IIconRegister icon) + { + this.stillIcon = icon.registerIcon(this.stillIconTexture); + this.flowingIcon = icon.registerIcon(this.flowIconTexture); + + getFluid().setIcons(this.stillIcon, this.flowingIcon); + } + + public IIcon getStillIcon() + { + return this.stillIcon; + } + + public IIcon getFlowingIcon() + { + return this.flowingIcon; + } + + @SideOnly(Side.CLIENT) + public IIcon func_149691_a(int side, int meta) + { + if (side <= 1) { + return this.stillIcon; + } + return this.flowingIcon; + } +} diff --git a/src/main/java/gmail/Lance5057/liquids/moltenDogbeariumFluid.java b/src/main/java/gmail/Lance5057/liquids/moltenDogbeariumFluid.java new file mode 100644 index 0000000..d23b24b --- /dev/null +++ b/src/main/java/gmail/Lance5057/liquids/moltenDogbeariumFluid.java @@ -0,0 +1,59 @@ +package gmail.Lance5057.liquids; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import java.util.Locale; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class moltenDogbeariumFluid + extends BlockFluidClassic +{ + private IIcon stillIcon; + private IIcon flowingIcon; + private String stillIconTexture = "molten_Dogbearium"; + private String flowIconTexture = "molten_Dogbearium_flow"; + + public moltenDogbeariumFluid(Fluid fluid) + { + super(fluid, Material.lava); + setLightLevel(100.0F); + setHardness(1.0F); + setBlockName("MoltenDogbearium"); + + this.stillIconTexture = ("tinkersdefense:" + stillIconTexture); + this.flowIconTexture = ("tinkersdefense:" + flowIconTexture); + } + + @SideOnly(Side.CLIENT) + public void func_149651_a(IIconRegister icon) + { + this.stillIcon = icon.registerIcon(this.stillIconTexture); + this.flowingIcon = icon.registerIcon(this.flowIconTexture); + + getFluid().setIcons(this.stillIcon, this.flowingIcon); + } + + public IIcon getStillIcon() + { + return this.stillIcon; + } + + public IIcon getFlowingIcon() + { + return this.flowingIcon; + } + + @SideOnly(Side.CLIENT) + public IIcon func_149691_a(int side, int meta) + { + if (side <= 1) { + return this.stillIcon; + } + return this.flowingIcon; + } +} diff --git a/src/main/java/gmail/Lance5057/liquids/moltenQueensGoldFluid.java b/src/main/java/gmail/Lance5057/liquids/moltenQueensGoldFluid.java new file mode 100644 index 0000000..972761d --- /dev/null +++ b/src/main/java/gmail/Lance5057/liquids/moltenQueensGoldFluid.java @@ -0,0 +1,59 @@ +package gmail.Lance5057.liquids; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import java.util.Locale; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class moltenQueensGoldFluid + extends BlockFluidClassic +{ + private IIcon stillIcon; + private IIcon flowingIcon; + private String stillIconTexture = "molten_QueensGold"; + private String flowIconTexture = "molten_QueensGold_flow"; + + public moltenQueensGoldFluid(Fluid fluid) + { + super(fluid, Material.lava); + setLightLevel(100.0F); + setHardness(1.0F); + setBlockName("MoltenQueensGold"); + + this.stillIconTexture = ("tinkersdefense:" + stillIconTexture); + this.flowIconTexture = ("tinkersdefense:" + flowIconTexture); + } + + @SideOnly(Side.CLIENT) + public void func_149651_a(IIconRegister icon) + { + this.stillIcon = icon.registerIcon(this.stillIconTexture); + this.flowingIcon = icon.registerIcon(this.flowIconTexture); + + getFluid().setIcons(this.stillIcon, this.flowingIcon); + } + + public IIcon getStillIcon() + { + return this.stillIcon; + } + + public IIcon getFlowingIcon() + { + return this.flowingIcon; + } + + @SideOnly(Side.CLIENT) + public IIcon func_149691_a(int side, int meta) + { + if (side <= 1) { + return this.stillIcon; + } + return this.flowingIcon; + } +} diff --git a/src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java b/src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java new file mode 100644 index 0000000..3bc064e --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/ModelArmorAnvil.java @@ -0,0 +1,61 @@ +package gmail.Lance5057.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * Armor Anvil - Lance5057 + * Created using Tabula 4.1.1 + */ +public class ModelArmorAnvil extends ModelBase { + public ModelRenderer Log; + public ModelRenderer HammerHead; + public ModelRenderer HammerHandle; + public ModelRenderer AnvilBase; + public ModelRenderer AnvilStem; + public ModelRenderer AnvilTop; + + public ModelArmorAnvil() { + this.textureWidth = 64; + this.textureHeight = 64; + this.AnvilTop = new ModelRenderer(this, 0, 22); + this.AnvilTop.setRotationPoint(-4.0F, 6.0F, -6.0F); + this.AnvilTop.addBox(0.0F, 0.0F, 0.0F, 8, 6, 12, 0.0F); + this.HammerHead = new ModelRenderer(this, 15, 21); + this.HammerHead.setRotationPoint(-1.3F, 4.0F, 0.0F); + this.HammerHead.addBox(0.0F, 0.0F, 0.0F, 3, 2, 2, 0.0F); + this.setRotateAngle(HammerHead, 0.091106186954104F, -0.5462880558742251F, 0.0F); + this.AnvilStem = new ModelRenderer(this, 10, 32); + this.AnvilStem.setRotationPoint(-2.0F, 12.0F, -3.0F); + this.AnvilStem.addBox(0.0F, 0.0F, 0.0F, 4, 2, 6, 0.0F); + this.HammerHandle = new ModelRenderer(this, 17, 47); + this.HammerHandle.setRotationPoint(1.0F, 0.5F, -6.0F); + this.HammerHandle.addBox(0.0F, 0.0F, 0.0F, 1, 1, 6, 0.0F); + this.AnvilBase = new ModelRenderer(this, 2, 28); + this.AnvilBase.setRotationPoint(-4.0F, 14.0F, -5.0F); + this.AnvilBase.addBox(0.0F, 0.0F, 0.0F, 8, 2, 10, 0.0F); + this.Log = new ModelRenderer(this, 0, 40); + this.Log.setRotationPoint(-8.0F, 16.0F, -8.0F); + this.Log.addBox(0.0F, 0.0F, 0.0F, 16, 8, 16, 0.0F); + this.HammerHead.addChild(this.HammerHandle); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.AnvilTop.render(f5); + this.HammerHead.render(f5); + this.AnvilStem.render(f5); + this.AnvilBase.render(f5); + this.Log.render(f5); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/gmail/Lance5057/models/ModelCrestMount.java b/src/main/java/gmail/Lance5057/models/ModelCrestMount.java new file mode 100644 index 0000000..8134ee2 --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/ModelCrestMount.java @@ -0,0 +1,87 @@ +// Date: 1/18/2015 9:46:49 PM +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package gmail.Lance5057.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelCrestMount extends ModelBase +{ + //fields + ModelRenderer ShieldMount; + ModelRenderer Base; + ModelRenderer SwordMount1; + ModelRenderer SwordMount2; + //ModelRenderer SwordMount3; + + public ModelCrestMount() + { + textureWidth = 32; + textureHeight = 32; + + ShieldMount = new ModelRenderer(this, 20, 6); + ShieldMount.addBox(0F, 0F, 0F, 2, 7, 2); + ShieldMount.setRotationPoint(-1F, 17F, -1F); + ShieldMount.setTextureSize(32, 32); + ShieldMount.mirror = true; + setRotation(ShieldMount, 0F, 0F, 0F); + + Base = new ModelRenderer(this, 0, 6); + Base.addBox(0F, 0F, 0F, 4, 4, 4); + Base.setRotationPoint(-2F, 20F, -2F); + Base.setTextureSize(32, 32); + Base.mirror = true; + setRotation(Base, 0F, 0F, 0F); + + SwordMount1 = new ModelRenderer(this, 0, 0); + SwordMount1.addBox(-5F, 0F, -2F, 10, 2, 4); + SwordMount1.setRotationPoint(0F, 22F, 0F); + SwordMount1.setTextureSize(32, 32); + SwordMount1.mirror = true; + setRotation(SwordMount1, 0F, 0.7853982F, 0F); + + SwordMount2 = new ModelRenderer(this, 0, 0); + SwordMount2.addBox(-5F, 0F, -2F, 10, 2, 4); + SwordMount2.setRotationPoint(0F, 22F, 0F); + SwordMount2.setTextureSize(32, 32); + SwordMount2.mirror = true; + setRotation(SwordMount2, 0F, -0.7853982F, 0F); + +// SwordMount3 = new ModelRenderer(this, 0, 0); +// SwordMount3.addBox(-5F, 0F, -2F, 10, 2, 4); +// SwordMount3.setRotationPoint(0F, 21.9F, 0F); +// SwordMount3.setTextureSize(32, 32); +// SwordMount3.mirror = true; +// setRotation(SwordMount3, 0F, 1.570796F, 0F); + } + + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean left, boolean right, boolean shield) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + if(shield) ShieldMount.render(f5); + if(left) SwordMount1.render(f5); + if(right) SwordMount2.render(f5); + + Base.render(f5); + //SwordMount3.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/src/main/java/gmail/Lance5057/models/ModelJewelersBench.java b/src/main/java/gmail/Lance5057/models/ModelJewelersBench.java new file mode 100644 index 0000000..46c43bd --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/ModelJewelersBench.java @@ -0,0 +1,100 @@ +package gmail.Lance5057.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * JewelersBench - Lance5057 + * Created using Tabula 4.1.1 + */ +public class ModelJewelersBench extends ModelBase { + public ModelRenderer TableSide2; + public ModelRenderer SawBlock1; + public ModelRenderer SawBlock2; + public ModelRenderer SawBlock3; + public ModelRenderer SawBlockClamp; + public ModelRenderer Leg1; + public ModelRenderer Leg2; + public ModelRenderer Leg3; + public ModelRenderer Leg4; + public ModelRenderer TableTop; + public ModelRenderer TableBack; + public ModelRenderer TableSide1; + public ModelRenderer Drawer; + public ModelRenderer Handle; + + public ModelJewelersBench() { + this.textureWidth = 64; + this.textureHeight = 64; + this.SawBlock1 = new ModelRenderer(this, 0, 0); + this.SawBlock1.setRotationPoint(2.0F, 8.2F, -12.0F); + this.SawBlock1.addBox(0.0F, 0.0F, 0.0F, 1, 1, 4, 0.0F); + this.Leg4 = new ModelRenderer(this, 0, 0); + this.Leg4.setRotationPoint(6.0F, 10.0F, 6.0F); + this.Leg4.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.Drawer = new ModelRenderer(this, 0, 46); + this.Drawer.setRotationPoint(-6.0F, 11.5F, -8.0F); + this.Drawer.addBox(0.0F, 0.0F, 0.0F, 12, 2, 16, 0.0F); + this.TableSide2 = new ModelRenderer(this, 0, 0); + this.TableSide2.setRotationPoint(-8.0F, 7.0F, -7.0F); + this.TableSide2.addBox(0.0F, 0.0F, 0.0F, 1, 1, 14, 0.0F); + this.Leg2 = new ModelRenderer(this, 0, 0); + this.Leg2.setRotationPoint(6.0F, 10.0F, -8.0F); + this.Leg2.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.TableSide1 = new ModelRenderer(this, 0, 0); + this.TableSide1.setRotationPoint(7.0F, 7.0F, -7.0F); + this.TableSide1.addBox(0.0F, 0.0F, 0.0F, 1, 1, 14, 0.0F); + this.SawBlock3 = new ModelRenderer(this, 0, 0); + this.SawBlock3.setRotationPoint(3.0F, 8.2F, -11.0F); + this.SawBlock3.addBox(0.0F, 0.0F, 0.0F, 1, 1, 3, 0.0F); + this.Handle = new ModelRenderer(this, 55, 0); + this.Handle.setRotationPoint(-2.0F, 12.0F, -9.0F); + this.Handle.addBox(0.0F, 0.0F, 0.0F, 4, 1, 1, 0.0F); + this.Leg1 = new ModelRenderer(this, 0, 0); + this.Leg1.setRotationPoint(-8.0F, 10.0F, -8.0F); + this.Leg1.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.TableTop = new ModelRenderer(this, 0, 28); + this.TableTop.setRotationPoint(-8.0F, 8.0F, -8.0F); + this.TableTop.addBox(0.0F, 0.0F, 0.0F, 16, 2, 16, 0.0F); + this.TableBack = new ModelRenderer(this, 0, 0); + this.TableBack.setRotationPoint(-8.0F, 7.0F, 7.0F); + this.TableBack.addBox(0.0F, 0.0F, 0.0F, 16, 1, 1, 0.0F); + this.SawBlockClamp = new ModelRenderer(this, 54, 0); + this.SawBlockClamp.setRotationPoint(1.5F, 8.0F, -9.0F); + this.SawBlockClamp.addBox(0.0F, 0.0F, 0.0F, 4, 2, 1, 0.0F); + this.Leg3 = new ModelRenderer(this, 0, 0); + this.Leg3.setRotationPoint(-8.0F, 10.0F, 6.0F); + this.Leg3.addBox(0.0F, 0.0F, 0.0F, 2, 14, 2, 0.0F); + this.SawBlock2 = new ModelRenderer(this, 0, 0); + this.SawBlock2.setRotationPoint(4.0F, 8.2F, -12.0F); + this.SawBlock2.addBox(0.0F, 0.0F, 0.0F, 1, 1, 4, 0.0F); + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { + this.SawBlock1.render(f5); + this.Leg4.render(f5); + this.Drawer.render(f5); + this.TableSide2.render(f5); + this.Leg2.render(f5); + this.TableSide1.render(f5); + this.SawBlock3.render(f5); + this.Handle.render(f5); + this.Leg1.render(f5); + this.TableTop.render(f5); + this.TableBack.render(f5); + this.SawBlockClamp.render(f5); + this.Leg3.render(f5); + this.SawBlock2.render(f5); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java b/src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java new file mode 100644 index 0000000..be7bd9e --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/Renderer_ArmorAnvil.java @@ -0,0 +1,43 @@ +package gmail.Lance5057.models; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class Renderer_ArmorAnvil extends TileEntitySpecialRenderer +{ + private final ModelArmorAnvil model; + + public Renderer_ArmorAnvil() { + this.model = new ModelArmorAnvil(); +} + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + + GL11.glPushMatrix(); + + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + + ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/ArmorAnvil.png")); + + Minecraft.getMinecraft().renderEngine.bindTexture(textures); + + GL11.glPushMatrix(); + + int meta = te.getBlockMetadata(); + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + } + +} diff --git a/src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java b/src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java new file mode 100644 index 0000000..1f4f4ea --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/Renderer_CrestMount.java @@ -0,0 +1,185 @@ +package gmail.Lance5057.models; + +import gmail.Lance5057.tileentities.TileEntity_CrestMount; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; +import net.minecraftforge.client.IItemRenderer; + +import org.lwjgl.opengl.GL11; + +public class Renderer_CrestMount extends TileEntitySpecialRenderer +{ + //private RenderItem itemRenderer; + private final ModelCrestMount model; + EntityItem entItem = null; + EntityItem entItem2 = null; + EntityItem entItem3 = null; + EntityItem entItem4 = null; + + public Renderer_CrestMount() { + this.model = new ModelCrestMount(); + } + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + TileEntity_CrestMount tileEntity = (TileEntity_CrestMount)te; + + boolean left=false, + right=false, + shield=false; + + if(tileEntity.getStackInSlot(0)!=null) + right=true; + if(tileEntity.getStackInSlot(1)!=null) + left=true; + if(tileEntity.getStackInSlot(3)!=null) + shield=true; + + + GL11.glPushMatrix(); + + //Render Crest Mount + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + + ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/CrestMount.png")); + + Minecraft.getMinecraft().renderEngine.bindTexture(textures); + + GL11.glPushMatrix(); + + int meta = te.getBlockMetadata(); + float rotation = 0; + switch(meta) + { + case 1: rotation = 0; break; + case 2: rotation = 180; break; + case 3: rotation = 90; break; + case 4: rotation = -90; break; + } + GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(90F, 0.5F, 0.0F, 0.0F); + GL11.glTranslatef(0, -1, -1); + + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F,left,right,shield); + GL11.glPopMatrix(); + + //Render Inventory + + //right slot + int slot = 0; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem == null) || entItem.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem = new EntityItem(tileEntity.getWorldObj(), 0, 0, 0, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(90, 0, 0, -1); + GL11.glRotatef(rotation, -1.0F, 0.0F, 0.0F); + //GL11.glTranslatef(0.4f/*up - down*/, -0.3f/*left - right*/, 0.22f); + if(tileEntity.flip[0]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(-0.8f, 0.2f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem, 0.4f/*up - down*/, -0.3f/*left - right*/, 0.23f, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //left slot + slot = 1; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem2 == null) || entItem2.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem2 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem2.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + //GL11.glTranslatef((float)te.xCoord + 0.5F, (float)te.yCoord + 1.02F, (float)te.zCoord + 0.3F); + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(rotation, 0.0F, -1.0F, 0.0F); + if(tileEntity.flip[1]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0.2f, -0.8f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem2, -0.1, 0.2, 0.23, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //middle slot + slot = 2; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem3 == null) || entItem3.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem3 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem3.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + if(rotation == 90) + GL11.glTranslatef(0.3f, 0, 0.0f); + if(rotation == -90) + GL11.glTranslatef(-0.3f, 0, 0.0f); + GL11.glRotatef(225, 0, 0, 1); + GL11.glRotatef(rotation, 1F, 1F, 0F); + if(tileEntity.flip[2]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(-0.5f, -0.5f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem3, 0.3, 0.1, 0.16, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //shield slot + slot = 3; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem4 == null) || entItem4.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem4 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem4.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); + if(tileEntity.flip[3]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0.0f, 1.0f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem4, 0, -0.7, -0.01, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + + GL11.glPopMatrix(); + + entItem = null; + entItem2= null; + entItem3= null; + entItem4= null; + } + +} diff --git a/src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java b/src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java new file mode 100644 index 0000000..df13248 --- /dev/null +++ b/src/main/java/gmail/Lance5057/models/Renderer_JewelersBench.java @@ -0,0 +1,41 @@ +package gmail.Lance5057.models; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class Renderer_JewelersBench extends TileEntitySpecialRenderer +{ + private final ModelJewelersBench model; + + public Renderer_JewelersBench() { + this.model = new ModelJewelersBench(); +} + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); + + ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/JewelersBench.png")); + + Minecraft.getMinecraft().renderEngine.bindTexture(textures); + + GL11.glPushMatrix(); + + int meta = te.getBlockMetadata(); + + GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); + + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + } + +} diff --git a/src/main/java/gmail/Lance5057/network/PacketHandler.java b/src/main/java/gmail/Lance5057/network/PacketHandler.java index 002d779..79c3d6f 100644 --- a/src/main/java/gmail/Lance5057/network/PacketHandler.java +++ b/src/main/java/gmail/Lance5057/network/PacketHandler.java @@ -1,6 +1,6 @@ package gmail.Lance5057.network; -import gmail.Lance5057.com.mod_TinkersDefense; +import gmail.Lance5057.TinkersDefense; import cpw.mods.fml.relauncher.Side; public class PacketHandler { @@ -8,7 +8,7 @@ public class PacketHandler { public static void init() { - mod_TinkersDefense.INSTANCE.registerMessage(Handler_CrestMount.class, Message_CrestMount.class,id++,Side.SERVER); + TinkersDefense.INSTANCE.registerMessage(Handler_CrestMount.class, Message_CrestMount.class,id++,Side.SERVER); } } diff --git a/src/main/java/gmail/Lance5057/proxy/ClientProxy.java b/src/main/java/gmail/Lance5057/proxy/ClientProxy.java index a038bb8..843ee1c 100644 --- a/src/main/java/gmail/Lance5057/proxy/ClientProxy.java +++ b/src/main/java/gmail/Lance5057/proxy/ClientProxy.java @@ -1,18 +1,19 @@ package gmail.Lance5057.proxy; -import gmail.Lance5057.blocks.Renderer_CrestMount; -import gmail.Lance5057.containers.Container_CrestMount; -import gmail.Lance5057.gui.Gui_CrestMount; +import gmail.Lance5057.TinkersDefense; import gmail.Lance5057.items.ModelTinkerArmor; +import gmail.Lance5057.items.RoundShield; +import gmail.Lance5057.models.Renderer_ArmorAnvil; +import gmail.Lance5057.models.Renderer_CrestMount; +import gmail.Lance5057.models.Renderer_JewelersBench; +import gmail.Lance5057.tileentities.TileEntity_ArmorAnvil; import gmail.Lance5057.tileentities.TileEntity_CrestMount; -import net.minecraft.client.Minecraft; +import gmail.Lance5057.tileentities.TileEntity_JewelersBench; import net.minecraft.client.model.ModelBiped; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import cpw.mods.fml.client.FMLClientHandler; +import net.minecraftforge.client.MinecraftForgeClient; +import tconstruct.client.FlexibleToolRenderer; +import tconstruct.library.tools.ToolCore; import cpw.mods.fml.client.registry.ClientRegistry; -import cpw.mods.fml.common.network.simpleimpl.MessageContext; public class ClientProxy extends CommonProxy @@ -21,7 +22,13 @@ public class ClientProxy extends CommonProxy @Override public void registerRenderers() { + FlexibleToolRenderer renderer = new FlexibleToolRenderer(); + MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_roundShield, renderer); + MinecraftForgeClient.registerItemRenderer(TinkersDefense.tool_heaterShield, renderer); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_CrestMount.class, new Renderer_CrestMount()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_ArmorAnvil.class, new Renderer_ArmorAnvil()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntity_JewelersBench.class, new Renderer_JewelersBench()); } @Override diff --git a/src/main/java/gmail/Lance5057/proxy/CommonProxy.java b/src/main/java/gmail/Lance5057/proxy/CommonProxy.java index 4fbfd93..5f21484 100644 --- a/src/main/java/gmail/Lance5057/proxy/CommonProxy.java +++ b/src/main/java/gmail/Lance5057/proxy/CommonProxy.java @@ -1,6 +1,6 @@ package gmail.Lance5057.proxy; -import gmail.Lance5057.com.mod_TinkersDefense; +import gmail.Lance5057.TinkersDefense; import gmail.Lance5057.containers.Container_CrestMount; import gmail.Lance5057.gui.Gui_CrestMount; import gmail.Lance5057.tileentities.TileEntity_CrestMount; @@ -40,7 +40,7 @@ public class CommonProxy implements IGuiHandler { public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { // Hooray, no 'magic' numbers - we know exactly which Gui this refers to - if (ID == mod_TinkersDefense.GUI_ITEM_INV) + if (ID == TinkersDefense.GUI_ITEM_INV) { // Use the player's held item to create the inventory return new Container_CrestMount(player.inventory, (TileEntity_CrestMount)world.getTileEntity(x, y, z)); @@ -52,7 +52,7 @@ public class CommonProxy implements IGuiHandler { public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { - if (ID == mod_TinkersDefense.GUI_ITEM_INV) + if (ID == TinkersDefense.GUI_ITEM_INV) { // We have to cast the new container as our custom class diff --git a/src/main/java/gmail/Lance5057/tileentities/TileEntity_ArmorAnvil.java b/src/main/java/gmail/Lance5057/tileentities/TileEntity_ArmorAnvil.java new file mode 100644 index 0000000..59b823e --- /dev/null +++ b/src/main/java/gmail/Lance5057/tileentities/TileEntity_ArmorAnvil.java @@ -0,0 +1,8 @@ +package gmail.Lance5057.tileentities; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntity_ArmorAnvil extends TileEntity +{ + +} diff --git a/src/main/java/gmail/Lance5057/tileentities/TileEntity_JewelersBench.java b/src/main/java/gmail/Lance5057/tileentities/TileEntity_JewelersBench.java new file mode 100644 index 0000000..7ca36da --- /dev/null +++ b/src/main/java/gmail/Lance5057/tileentities/TileEntity_JewelersBench.java @@ -0,0 +1,8 @@ +package gmail.Lance5057.tileentities; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntity_JewelersBench extends TileEntity +{ + +} -- cgit v1.2.3