From a031b71935e887d78d3a9e7e6799f3be9d1e08f7 Mon Sep 17 00:00:00 2001 From: Bernhard Bonigl Date: Sun, 22 Feb 2015 00:50:57 +0100 Subject: [PATCH] Fix world-module trying to register tool-module things in the oredictionary, and therefore failing #95 --- .../java/tconstruct/tools/TinkerTools.java | 65 +++++++++++++++++++ .../java/tconstruct/world/TinkerWorld.java | 58 +---------------- 2 files changed, 66 insertions(+), 57 deletions(-) diff --git a/src/main/java/tconstruct/tools/TinkerTools.java b/src/main/java/tconstruct/tools/TinkerTools.java index 28473754346..bc98ddc5451 100644 --- a/src/main/java/tconstruct/tools/TinkerTools.java +++ b/src/main/java/tconstruct/tools/TinkerTools.java @@ -7,6 +7,7 @@ import mantle.pulsar.pulse.*; import mantle.utils.RecipeRemover; import net.minecraft.block.Block; +import net.minecraft.block.BlockDispenser; import net.minecraft.block.material.Material; import net.minecraft.init.*; import net.minecraft.item.*; @@ -32,6 +33,7 @@ import tconstruct.util.ItemHelper; import tconstruct.util.config.PHConstruct; import tconstruct.weaponry.TinkerWeaponry; +import tconstruct.world.TDispenserBehaviorSpawnEgg; import tconstruct.world.TinkerWorld; import tconstruct.world.blocks.SoilBlock; import tconstruct.world.itemblocks.CraftedSoilItemBlock; @@ -303,8 +305,71 @@ public void preInit (FMLPreInitializationEvent event) TinkerTools.modAttack = new ModAttack("Quartz", 11, new ItemStack[] { new ItemStack(Items.quartz), new ItemStack(Blocks.quartz_block, 1, Short.MAX_VALUE) }, new int[] { 1, 4 }); ModifyBuilder.registerModifier(TinkerTools.modAttack); + + oreRegistry(); + } + + private void oreRegistry() { + OreDictionary.registerOre("ingotCobalt", new ItemStack(TinkerTools.materials, 1, 3)); + OreDictionary.registerOre("ingotArdite", new ItemStack(TinkerTools.materials, 1, 4)); + OreDictionary.registerOre("ingotManyullyn", new ItemStack(TinkerTools.materials, 1, 5)); + OreDictionary.registerOre("ingotCopper", new ItemStack(TinkerTools.materials, 1, 9)); + OreDictionary.registerOre("ingotTin", new ItemStack(TinkerTools.materials, 1, 10)); + OreDictionary.registerOre("ingotAluminum", new ItemStack(TinkerTools.materials, 1, 11)); + OreDictionary.registerOre("ingotAluminium", new ItemStack(TinkerTools.materials, 1, 11)); + OreDictionary.registerOre("ingotBronze", new ItemStack(TinkerTools.materials, 1, 13)); + OreDictionary.registerOre("ingotAluminumBrass", new ItemStack(TinkerTools.materials, 1, 14)); + OreDictionary.registerOre("ingotAluminiumBrass", new ItemStack(TinkerTools.materials, 1, 14)); + OreDictionary.registerOre("ingotAlumite", new ItemStack(TinkerTools.materials, 1, 15)); + OreDictionary.registerOre("ingotSteel", new ItemStack(TinkerTools.materials, 1, 16)); + TinkerWorld.ensureOreIsRegistered("ingotIron", new ItemStack(Items.iron_ingot)); + TinkerWorld.ensureOreIsRegistered("ingotGold", new ItemStack(Items.gold_ingot)); + OreDictionary.registerOre("ingotObsidian", new ItemStack(TinkerTools.materials, 1, 18)); + OreDictionary.registerOre("ingotPigIron", new ItemStack(TinkerTools.materials, 1, 34)); + OreDictionary.registerOre("itemRawRubber", new ItemStack(TinkerTools.materials, 1, 36)); + TinkerWorld.ensureOreIsRegistered("blockIron", new ItemStack(Blocks.iron_block)); + TinkerWorld.ensureOreIsRegistered("blockGold", new ItemStack(Blocks.gold_block)); + + OreDictionary.registerOre("nuggetIron", new ItemStack(TinkerTools.materials, 1, 19)); + OreDictionary.registerOre("nuggetCopper", new ItemStack(TinkerTools.materials, 1, 20)); + OreDictionary.registerOre("nuggetTin", new ItemStack(TinkerTools.materials, 1, 21)); + OreDictionary.registerOre("nuggetAluminum", new ItemStack(TinkerTools.materials, 1, 22)); + OreDictionary.registerOre("nuggetAluminium", new ItemStack(TinkerTools.materials, 1, 22)); + OreDictionary.registerOre("nuggetAluminumBrass", new ItemStack(TinkerTools.materials, 1, 24)); + OreDictionary.registerOre("nuggetAluminiumBrass", new ItemStack(TinkerTools.materials, 1, 24)); + OreDictionary.registerOre("nuggetObsidian", new ItemStack(TinkerTools.materials, 1, 27)); + OreDictionary.registerOre("nuggetCobalt", new ItemStack(TinkerTools.materials, 1, 28)); + OreDictionary.registerOre("nuggetArdite", new ItemStack(TinkerTools.materials, 1, 29)); + OreDictionary.registerOre("nuggetManyullyn", new ItemStack(TinkerTools.materials, 1, 30)); + OreDictionary.registerOre("nuggetBronze", new ItemStack(TinkerTools.materials, 1, 31)); + OreDictionary.registerOre("nuggetAlumite", new ItemStack(TinkerTools.materials, 1, 32)); + OreDictionary.registerOre("nuggetSteel", new ItemStack(TinkerTools.materials, 1, 33)); + TinkerWorld.ensureOreIsRegistered("nuggetGold", new ItemStack(Items.gold_nugget)); + OreDictionary.registerOre("nuggetPigIron", new ItemStack(TinkerTools.materials, 1, 35)); + + OreDictionary.registerOre("dustArdite", new ItemStack(TinkerTools.materials, 1, 38)); + OreDictionary.registerOre("dustCobalt", new ItemStack(TinkerTools.materials, 1, 39)); + OreDictionary.registerOre("dustAluminium", new ItemStack(TinkerTools.materials, 1, 40)); + OreDictionary.registerOre("dustAluminum", new ItemStack(TinkerTools.materials, 1, 40)); + OreDictionary.registerOre("dustManyullyn", new ItemStack(TinkerTools.materials, 1, 41)); + OreDictionary.registerOre("dustAluminiumBrass", new ItemStack(TinkerTools.materials, 1, 42)); + OreDictionary.registerOre("dustAluminumBrass", new ItemStack(TinkerTools.materials, 1, 42)); + + String[] matNames = { "Wood", "Stone", "Iron", "Flint", "Cactus", "Bone", "Obsidian", "Netherrack", "Slime", "Paper", "Cobalt", "Ardite", "Manyullyn", "Copper", "Bronze", "Alumite", "Steel", "Blueslime" }; + for (int i = 0; i < matNames.length; i++) + { + //TODO 1.8 remove this ore dict entry as it's outdated(use materialRod instead) + OreDictionary.registerOre(matNames[i].toLowerCase() + "Rod", new ItemStack(TinkerTools.toolRod, 1, i)); + OreDictionary.registerOre("rod" + matNames[i], new ItemStack(TinkerTools.toolRod, 1, i)); + } + OreDictionary.registerOre("thaumiumRod", new ItemStack(TinkerTools.toolRod, 1, 31)); + + OreDictionary.registerOre("slimeball", new ItemStack(TinkerTools.materials, 1, 36)); + + BlockDispenser.dispenseBehaviorRegistry.putObject(TinkerTools.titleIcon, new TDispenserBehaviorSpawnEgg()); } + void setupToolTabs () { TConstructRegistry.materialTab.init(new ItemStack(TinkerTools.manualBook, 1, 0)); diff --git a/src/main/java/tconstruct/world/TinkerWorld.java b/src/main/java/tconstruct/world/TinkerWorld.java index e680dc6866c..1eb86952aab 100644 --- a/src/main/java/tconstruct/world/TinkerWorld.java +++ b/src/main/java/tconstruct/world/TinkerWorld.java @@ -470,24 +470,6 @@ public void oreRegistry () OreDictionary.registerOre("oreAluminum", new ItemStack(TinkerWorld.oreGravel, 1, 4)); OreDictionary.registerOre("oreAluminium", new ItemStack(TinkerWorld.oreGravel, 1, 4)); - OreDictionary.registerOre("ingotCobalt", new ItemStack(TinkerTools.materials, 1, 3)); - OreDictionary.registerOre("ingotArdite", new ItemStack(TinkerTools.materials, 1, 4)); - OreDictionary.registerOre("ingotManyullyn", new ItemStack(TinkerTools.materials, 1, 5)); - OreDictionary.registerOre("ingotCopper", new ItemStack(TinkerTools.materials, 1, 9)); - OreDictionary.registerOre("ingotTin", new ItemStack(TinkerTools.materials, 1, 10)); - OreDictionary.registerOre("ingotAluminum", new ItemStack(TinkerTools.materials, 1, 11)); - OreDictionary.registerOre("ingotAluminium", new ItemStack(TinkerTools.materials, 1, 11)); - OreDictionary.registerOre("ingotBronze", new ItemStack(TinkerTools.materials, 1, 13)); - OreDictionary.registerOre("ingotAluminumBrass", new ItemStack(TinkerTools.materials, 1, 14)); - OreDictionary.registerOre("ingotAluminiumBrass", new ItemStack(TinkerTools.materials, 1, 14)); - OreDictionary.registerOre("ingotAlumite", new ItemStack(TinkerTools.materials, 1, 15)); - OreDictionary.registerOre("ingotSteel", new ItemStack(TinkerTools.materials, 1, 16)); - ensureOreIsRegistered("ingotIron", new ItemStack(Items.iron_ingot)); - ensureOreIsRegistered("ingotGold", new ItemStack(Items.gold_ingot)); - OreDictionary.registerOre("ingotObsidian", new ItemStack(TinkerTools.materials, 1, 18)); - OreDictionary.registerOre("ingotPigIron", new ItemStack(TinkerTools.materials, 1, 34)); - OreDictionary.registerOre("itemRawRubber", new ItemStack(TinkerTools.materials, 1, 36)); - OreDictionary.registerOre("blockCobalt", new ItemStack(TinkerWorld.metalBlock, 1, 0)); OreDictionary.registerOre("blockArdite", new ItemStack(TinkerWorld.metalBlock, 1, 1)); OreDictionary.registerOre("blockManyullyn", new ItemStack(TinkerWorld.metalBlock, 1, 2)); @@ -501,39 +483,13 @@ public void oreRegistry () OreDictionary.registerOre("blockAlumite", new ItemStack(TinkerWorld.metalBlock, 1, 8)); OreDictionary.registerOre("blockSteel", new ItemStack(TinkerWorld.metalBlock, 1, 9)); OreDictionary.registerOre("blockEnder", new ItemStack(TinkerWorld.metalBlock, 1, 10)); - ensureOreIsRegistered("blockIron", new ItemStack(Blocks.iron_block)); - ensureOreIsRegistered("blockGold", new ItemStack(Blocks.gold_block)); - OreDictionary.registerOre("nuggetIron", new ItemStack(TinkerTools.materials, 1, 19)); OreDictionary.registerOre("nuggetIron", new ItemStack(TinkerWorld.oreBerries, 1, 0)); - OreDictionary.registerOre("nuggetCopper", new ItemStack(TinkerTools.materials, 1, 20)); OreDictionary.registerOre("nuggetCopper", new ItemStack(TinkerWorld.oreBerries, 1, 2)); - OreDictionary.registerOre("nuggetTin", new ItemStack(TinkerTools.materials, 1, 21)); OreDictionary.registerOre("nuggetTin", new ItemStack(TinkerWorld.oreBerries, 1, 3)); - OreDictionary.registerOre("nuggetAluminum", new ItemStack(TinkerTools.materials, 1, 22)); OreDictionary.registerOre("nuggetAluminum", new ItemStack(TinkerWorld.oreBerries, 1, 4)); - OreDictionary.registerOre("nuggetAluminium", new ItemStack(TinkerTools.materials, 1, 22)); OreDictionary.registerOre("nuggetAluminium", new ItemStack(TinkerWorld.oreBerries, 1, 4)); - OreDictionary.registerOre("nuggetAluminumBrass", new ItemStack(TinkerTools.materials, 1, 24)); - OreDictionary.registerOre("nuggetAluminiumBrass", new ItemStack(TinkerTools.materials, 1, 24)); - OreDictionary.registerOre("nuggetObsidian", new ItemStack(TinkerTools.materials, 1, 27)); - OreDictionary.registerOre("nuggetCobalt", new ItemStack(TinkerTools.materials, 1, 28)); - OreDictionary.registerOre("nuggetArdite", new ItemStack(TinkerTools.materials, 1, 29)); - OreDictionary.registerOre("nuggetManyullyn", new ItemStack(TinkerTools.materials, 1, 30)); - OreDictionary.registerOre("nuggetBronze", new ItemStack(TinkerTools.materials, 1, 31)); - OreDictionary.registerOre("nuggetAlumite", new ItemStack(TinkerTools.materials, 1, 32)); - OreDictionary.registerOre("nuggetSteel", new ItemStack(TinkerTools.materials, 1, 33)); OreDictionary.registerOre("nuggetGold", new ItemStack(TinkerWorld.oreBerries, 1, 1)); - ensureOreIsRegistered("nuggetGold", new ItemStack(Items.gold_nugget)); - OreDictionary.registerOre("nuggetPigIron", new ItemStack(TinkerTools.materials, 1, 35)); - - OreDictionary.registerOre("dustArdite", new ItemStack(TinkerTools.materials, 1, 38)); - OreDictionary.registerOre("dustCobalt", new ItemStack(TinkerTools.materials, 1, 39)); - OreDictionary.registerOre("dustAluminium", new ItemStack(TinkerTools.materials, 1, 40)); - OreDictionary.registerOre("dustAluminum", new ItemStack(TinkerTools.materials, 1, 40)); - OreDictionary.registerOre("dustManyullyn", new ItemStack(TinkerTools.materials, 1, 41)); - OreDictionary.registerOre("dustAluminiumBrass", new ItemStack(TinkerTools.materials, 1, 42)); - OreDictionary.registerOre("dustAluminumBrass", new ItemStack(TinkerTools.materials, 1, 42)); OreDictionary.registerOre("slabCloth", new ItemStack(TinkerWorld.woolSlab1, 1, Short.MAX_VALUE)); OreDictionary.registerOre("slabCloth", new ItemStack(TinkerWorld.woolSlab2, 1, Short.MAX_VALUE)); @@ -546,22 +502,10 @@ public void oreRegistry () OreDictionary.registerOre("torchStone", new ItemStack(TinkerWorld.stoneTorch)); - String[] matNames = { "Wood", "Stone", "Iron", "Flint", "Cactus", "Bone", "Obsidian", "Netherrack", "Slime", "Paper", "Cobalt", "Ardite", "Manyullyn", "Copper", "Bronze", "Alumite", "Steel", "Blueslime" }; - for (int i = 0; i < matNames.length; i++) - { - //TODO 1.8 remove this ore dict entry as it's outdated(use materialRod instead) - OreDictionary.registerOre(matNames[i].toLowerCase() + "Rod", new ItemStack(TinkerTools.toolRod, 1, i)); - OreDictionary.registerOre("rod" + matNames[i], new ItemStack(TinkerTools.toolRod, 1, i)); - } - OreDictionary.registerOre("thaumiumRod", new ItemStack(TinkerTools.toolRod, 1, 31)); - - BlockDispenser.dispenseBehaviorRegistry.putObject(TinkerTools.titleIcon, new TDispenserBehaviorSpawnEgg()); - // Vanilla stuff OreDictionary.registerOre("slimeball", new ItemStack(Items.slime_ball)); OreDictionary.registerOre("slimeball", new ItemStack(TinkerWorld.strangeFood, 1, 0)); OreDictionary.registerOre("slimeball", new ItemStack(TinkerWorld.strangeFood, 1, 1)); - OreDictionary.registerOre("slimeball", new ItemStack(TinkerTools.materials, 1, 36)); OreDictionary.registerOre("blockGlass", new ItemStack(Blocks.glass)); RecipeRemover.removeShapedRecipe(new ItemStack(Blocks.sticky_piston)); RecipeRemover.removeShapedRecipe(new ItemStack(Items.magma_cream)); @@ -571,7 +515,7 @@ public void oreRegistry () GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.lead, 2), "ss ", "sS ", " s", 's', Items.string, 'S', "slimeball")); } - private static void ensureOreIsRegistered (String oreName, ItemStack is) + public static void ensureOreIsRegistered (String oreName, ItemStack is) { int oreId = OreDictionary.getOreID(is); if (oreId == -1)