diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-04-08 00:27:06 -0500 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-04-08 00:27:06 -0500 |
| commit | ec33aa74d942d8502feaa72fd1c45c30c6ad74a4 (patch) | |
| tree | 18536e29ab1c1d8daedc8a3bdca0955678ad8e29 /src/main/java | |
| parent | 0b2be854e8e7ebd0a08b3eba80510adef57dea0d (diff) | |
Working on adding studs and clasps.
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/gmail/Lance5057/TinkersDefense.java | 68 | ||||
| -rw-r--r-- | src/main/java/gmail/Lance5057/items/TD_Patterns.java | 47 |
2 files changed, 115 insertions, 0 deletions
diff --git a/src/main/java/gmail/Lance5057/TinkersDefense.java b/src/main/java/gmail/Lance5057/TinkersDefense.java index 5541e07..49b947a 100644 --- a/src/main/java/gmail/Lance5057/TinkersDefense.java +++ b/src/main/java/gmail/Lance5057/TinkersDefense.java @@ -18,6 +18,7 @@ import gmail.Lance5057.items.Item_Glowthread; import gmail.Lance5057.items.Item_Thread; import gmail.Lance5057.items.QueensGoldIngot; import gmail.Lance5057.items.RoundShield; +import gmail.Lance5057.items.TD_Patterns; import gmail.Lance5057.liquids.moltenAeonsteelFluid; import gmail.Lance5057.liquids.moltenDogbeariumFluid; import gmail.Lance5057.liquids.moltenQueensGoldFluid; @@ -41,11 +42,17 @@ import tconstruct.TConstruct; import tconstruct.library.TConstructRegistry; import tconstruct.library.client.TConstructClientRegistry; import tconstruct.library.client.ToolGuiElement; +import tconstruct.library.crafting.FluidType; +import tconstruct.library.crafting.LiquidCasting; import tconstruct.library.crafting.PatternBuilder; import tconstruct.library.crafting.Smeltery; +import tconstruct.library.crafting.StencilBuilder; +import tconstruct.library.tools.DynamicToolPart; import tconstruct.library.tools.ToolCore; +import tconstruct.library.util.IPattern; import tconstruct.smeltery.TinkerSmeltery; import tconstruct.tools.TinkerTools; +import tconstruct.tools.items.Pattern; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -109,6 +116,12 @@ public static Item item_thread; public static Item item_glowthread; public static Item item_cloth; +public static Item rivets; +public static Item clasp; + +public static Pattern woodPattern; +public static Pattern metalPattern; + @SidedProxy(clientSide = "gmail.Lance5057.proxy.ClientProxy", serverSide = "gmail.Lance5057.proxy.CommonProxy") public static CommonProxy proxy; @@ -271,6 +284,30 @@ public void preInit(FMLPreInitializationEvent e) GameRegistry.registerItem(item_thread = new Item_Thread(), "thread"); GameRegistry.registerItem(item_glowthread = new Item_Glowthread(), "glowthread"); GameRegistry.registerItem(item_cloth = new Item_Cloth(), "cloth"); + + woodPattern = new TD_Patterns("pattern_", "Pattern"); + metalPattern = new TD_Patterns("cast_", "MetalPattern"); + + GameRegistry.registerItem(woodPattern, "woodPattern"); + TConstructRegistry.addItemToDirectory("woodPattern", woodPattern); + + rivets = new DynamicToolPart("_rivets", "rivets"); + + clasp = new DynamicToolPart("_clasp", "clasp"); + + GameRegistry.registerItem(rivets, "rivets"); + TConstructRegistry.addItemToDirectory("rivets",rivets); + + GameRegistry.registerItem(clasp, "clasp"); + TConstructRegistry.addItemToDirectory("clasp",clasp); + + TConstructRegistry.addItemStackToDirectory("rivets Pattern", new ItemStack(woodPattern, 1, 0)); + TConstructRegistry.addItemStackToDirectory("clasp Pattern", new ItemStack(woodPattern, 1, 1)); + + //ItemStack metalCast = new ItemStack(patternOutputs[i], 1, liquidDamage[iterTwo]); + tableCasting.addCastingRecipe(metalCast, new FluidStack(fs, fluidAmount), cast, 50); + Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0, 1000); + //Renderers proxy.registerRenderers(); @@ -354,6 +391,14 @@ public void init(FMLInitializationEvent e) TConstructRegistry.addToolRecipe(tool_heaterShield, TinkerTools.largePlate, TinkerTools.toughRod, TinkerTools.largePlate, TinkerTools.toughBinding); + StencilBuilder.registerStencil(50, woodPattern, 0); // rivets + StencilBuilder.registerStencil(51, woodPattern, 1); // spike + + PatternBuilder.instance.addToolPattern(woodPattern); + + buildParts(rivets, 0); + buildParts(clasp, 1); + } @EventHandler @@ -394,4 +439,27 @@ public void castMolten(Fluid fluid, int ID) } + +public void buildParts(Item item, int meta) +{ + int[] nonMetals = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 17 }; + int[] liquidDamage = new int[] { 2, 13, 10, 11, 12, 14, 15, 6, 16, 18 }; + + for (int mat = 0; mat < nonMetals.length; mat++) + { + TConstructRegistry.addPartMapping(woodPattern, meta, mat, new ItemStack(item, 1, mat)); + } + + LiquidCasting tableCasting = TConstructRegistry.getTableCasting(); + + for (int iterTwo = 0; iterTwo < TinkerSmeltery.liquids.length; iterTwo++) { + Fluid fs = TinkerSmeltery.liquids[iterTwo].getFluid(); + int fluidAmount = metalPattern.getPatternCost(cast) * TConstruct.ingotLiquidValue / 2; + ItemStack metalCast = new ItemStack(patternOutputs[i], 1, liquidDamage[iterTwo]); + tableCasting.addCastingRecipe(metalCast, new FluidStack(fs, fluidAmount), cast, 50); + Smeltery.addMelting(FluidType.getFluidType(fs), metalCast, 0, fluidAmount); + } +} + + }
\ No newline at end of file diff --git a/src/main/java/gmail/Lance5057/items/TD_Patterns.java b/src/main/java/gmail/Lance5057/items/TD_Patterns.java new file mode 100644 index 0000000..ba31190 --- /dev/null +++ b/src/main/java/gmail/Lance5057/items/TD_Patterns.java @@ -0,0 +1,47 @@ +package gmail.Lance5057.items; + +import java.util.List; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import tconstruct.tools.items.Pattern; +import tconstruct.util.Reference; + +public class TD_Patterns extends Pattern { + private static final String[] patternName = new String[] {"rivets","clasp"}; + + public TD_Patterns(String patternType, String name) { + super(patternName, getPatternNames(patternName, patternType), "patterns/"); + + this.setUnlocalizedName(Reference.prefix(name)); + } + + public static String[] getPatternNames (String[] patternName, String partType) + { + String[] names = new String[patternName.length]; + for (int i = 0; i < patternName.length; i++) + names[i] = partType + patternName[i]; + return names; + } + + @Override + public void getSubItems (Item b, CreativeTabs tab, List list) + { + for (int i = 0; i < patternName.length; i++) + { + // if (i != 23) + list.add(new ItemStack(b, 1, i)); + } + } + + @Override + public int getPatternCost(ItemStack pattern) { + switch(pattern.getItemDamage()) + { + case 0: return 1; //rivets + case 1: return 2; //clasp + } + return 0; + } +} |
