public static void addRecipes() { int i = -2; String ref = FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT ? ChromaDescriptions.getParentPage() + "thaum.xml" : ""; for (TieredOres t : items.keySet()) { WandType wt = items.get(t); AspectList al = new AspectList(); int n = t == TieredOres.FOCAL ? 2 : 1; al.add(Aspect.ORDER, 20 * n); Aspect a = wt.aspects.get(0); al.add(a, 50 * n); Object[] recipe = {"AAA", "A A", 'A', wt.raw}; ShapedArcaneRecipe ir = ThaumcraftApi.addArcaneCraftingRecipe("", wt.item, al, recipe); String id = "CAP_TIEREDCAP_" + t.name(); String desc = "Novel caps"; MathExpression cost = new MathExpression() { @Override public double evaluate(double arg) throws ArithmeticException { return arg / 5D; } @Override public double getBaseValue() { return 0; } @Override public String toString() { return "/5"; } }; ReikaThaumHelper.addArcaneRecipeBookEntryViaXML( id, desc, "chromaticraft", ir, cost, 2, i, ChromatiCraft.class, ref); i++; } }
/** * @param key the research key required for this recipe to work. Leave blank if it will work * without research * @param recipeKey a string value of the key used in your research.xml for this recipe to display * in the thaumonomicon * @param cost the vis cost * @param par1ItemStack the recipe output * @param par2ArrayOfObj the recipe. Format is exactly the same as vanilla recipes */ public static void addArcaneCraftingRecipe( String key, String recipeKey, int cost, ItemStack par1ItemStack, Object... par2ArrayOfObj) { addArcaneCraftingRecipe(key, cost, par1ItemStack, par2ArrayOfObj); ResearchList.craftingRecipesForResearch.put( recipeKey, Arrays.asList(getCraftingRecipes().size() - 1)); }
private static void setupCrafting() { ItemStack input, output; input = Config.miscResources.getStackForType(ResourceType.TC_DUST_AIR); output = new ItemStack(Config.tcShard, 1, ShardType.AIR.ordinal()); GameRegistry.addShapelessRecipe(output, input, input, input, input); input = Config.miscResources.getStackForType(ResourceType.TC_DUST_WATER); output = new ItemStack(Config.tcShard, 1, ShardType.WATER.ordinal()); GameRegistry.addShapelessRecipe(output, input, input, input, input); input = Config.miscResources.getStackForType(ResourceType.TC_DUST_FIRE); output = new ItemStack(Config.tcShard, 1, ShardType.FIRE.ordinal()); GameRegistry.addShapelessRecipe(output, input, input, input, input); input = Config.miscResources.getStackForType(ResourceType.TC_DUST_EARTH); output = new ItemStack(Config.tcShard, 1, ShardType.EARTH.ordinal()); GameRegistry.addShapelessRecipe(output, input, input, input, input); input = Config.miscResources.getStackForType(ResourceType.TC_DUST_ORDER); output = new ItemStack(Config.tcShard, 1, ShardType.ORDER.ordinal()); GameRegistry.addShapelessRecipe(output, input, input, input, input); input = Config.miscResources.getStackForType(ResourceType.TC_DUST_CHAOS); output = new ItemStack(Config.tcShard, 1, ShardType.CHAOS.ordinal()); GameRegistry.addShapelessRecipe(output, input, input, input, input); thaumScoop = ThaumcraftApi.addArcaneCraftingRecipe( "MB_Scoop", new ItemStack(Config.thaumiumScoop), new AspectList().add(Aspect.ORDER, 2), new Object[] { "sWs", "sTs", " T ", 's', Items.stick, 'W', Blocks.wool, 'T', new ItemStack(Config.tcMiscResource, 1, MiscResource.THAUMIUM.ordinal()) }); thaumGrafter = ThaumcraftApi.addArcaneCraftingRecipe( "MB_Grafter", new ItemStack(Config.thaumiumGrafter), new AspectList().add(Aspect.ORDER, 5), new Object[] { " T", " s ", "s ", 's', Items.stick, 'T', new ItemStack(Config.tcMiscResource, 1, MiscResource.THAUMIUM.ordinal()) }); frameMagic = ThaumcraftApi.addArcaneCraftingRecipe( "MB_FrameMagic", new ItemStack(Config.hiveFrameMagic), new AspectList().add(Aspect.ORDER, 5).add(Aspect.AIR, 2).add(Aspect.EARTH, 2), new Object[] { "sss", "sCs", "sss", 's', Items.stick, 'C', new ItemStack(Config.tcMiscResource, 1, MiscResource.ENCHANTED_FABRIC.ordinal()) }); visAuraProvider = ThaumcraftApi.addArcaneCraftingRecipe( "MB_VisAuraProvider", new ItemStack(Config.visAuraProvider), new AspectList() .add(Aspect.ORDER, 60) .add(Aspect.AIR, 60) .add(Aspect.ENTROPY, 60) .add(Aspect.WATER, 60), new Object[] { "ngn", "gvg", "npn", 'n', Items.gold_nugget, 'g', new ItemStack( Config.tcWooden, 1, ThaumcraftHelper.WoodenDeviceType.PLANKS_GREATWOOD.ordinal()), 'v', new ItemStack( Config.tcMetal, 1, ThaumcraftHelper.MetalDeviceType.VIS_RELAY.ordinal()), 'p', Config.pollen.getStackForType(PollenType.UNUSUAL) }); essenceLife = ThaumcraftApi.addCrucibleRecipe( "MB_EssenceLife", Config.miscResources.getStackForType(ResourceType.ESSENCE_FALSE_LIFE), new ItemStack(Blocks.red_flower), new AspectList().add(Aspect.EXCHANGE, 4).add(Aspect.PLANT, 4)); essenceDeath = ThaumcraftApi.addCrucibleRecipe( "MB_EssenceDeath", Config.miscResources.getStackForType(ResourceType.ESSENCE_SHALLOW_GRAVE), new ItemStack(Items.rotten_flesh), new AspectList().add(Aspect.DEATH, 4).add(Aspect.ENTROPY, 4)); essenceArmor = ThaumcraftApi.addCrucibleRecipe( "MB_EssenceArmor", Config.miscResources.getStackForType(ResourceType.ESSENCE_EVERLASTING_DURABILITY), new ItemStack(Items.leather), new AspectList().add(Aspect.ARMOR, 4).add(Aspect.MAGIC, 2)); output = Config.miscResources.getStackForType(ResourceType.ESSENCE_FICKLE_PERMANENCE); essenceUnstableA = ThaumcraftApi.addCrucibleRecipe( "MB_EssenceUnstable", output, Config.propolis.getStackForType(PropolisType.UNSTABLE), new AspectList().add(Aspect.ENTROPY, 2).add(Aspect.EXCHANGE, 1)); essenceUnstableB = ThaumcraftApi.addCrucibleRecipe( "MB_EssenceUnstable", output, new ItemStack(Blocks.netherrack), new AspectList().add(Aspect.ENTROPY, 8).add(Aspect.EXCHANGE, 5)); essenceTime = ThaumcraftApi.addCrucibleRecipe( "MB_EssenceTime", Config.miscResources.getStackForType(ResourceType.ESSENCE_LOST_TIME), new ItemStack(Items.clock), new AspectList().add(Aspect.ORDER, 10).add(Aspect.VOID, 10).add(Aspect.TRAP, 4)); input = new ItemStack(Items.ender_pearl); singularityA = ThaumcraftApi.addInfusionCraftingRecipe( "MB_DimensionalSingularity", Config.miscResources.getStackForType(ResourceType.DIMENSIONAL_SINGULARITY, 3), 5, new AspectList().add(Aspect.ELDRITCH, 10).add(Aspect.EXCHANGE, 20), new ItemStack(Blocks.gold_block), new ItemStack[] {input, input}); ItemStack in2 = new ItemStack(Items.diamond); singularityB = ThaumcraftApi.addInfusionCraftingRecipe( "MB_DimensionalSingularity", Config.miscResources.getStackForType(ResourceType.DIMENSIONAL_SINGULARITY, 3), 6, new AspectList().add(Aspect.ELDRITCH, 10).add(Aspect.EXCHANGE, 20).add(Aspect.VOID, 15), Config.propolis.getStackForType(PropolisType.UNSTABLE), new ItemStack[] {input, input, in2}); essenceOblivion = ThaumcraftApi.addShapelessArcaneCraftingRecipe( "MB_EssenceOblivion", Config.miscResources.getStackForType(ResourceType.ESSENCE_SCORNFUL_OBLIVION), new AspectList().add(Aspect.ENTROPY, 25).add(Aspect.AIR, 40).add(Aspect.ORDER, 15), new Object[] { Config.miscResources.getStackForType(ResourceType.DIMENSIONAL_SINGULARITY), Blocks.dragon_egg, }); }
public static void add() { /** Infusion Recipes * */ thaumiumDrill = ThaumcraftApi.addInfusionCraftingRecipe( "Thaumium Drill", new ItemStack(ItemRegistry.thaumiumDrill), 5, CraftingAspects.thaumiumDrillCrafting, new ItemStack( IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), IC2Items.getItem("denseplateiron") }); thaumiumChainsaw = ThaumcraftApi.addInfusionCraftingRecipe( "Thaumium Chainsaw", new ItemStack(ItemRegistry.thaumiumChainsaw), 5, CraftingAspects.thaumiumChainsawCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Items.diamond), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), IC2Items.getItem("denseplateiron") }); thaumicQuantumHelmet = ThaumcraftApi.addInfusionCraftingRecipe( "Quantum Goggles of Revealing", new ItemStack(ItemRegistry.quantumThaumicHelmet), 6, CraftingAspects.thaumicQuantumHelmetCrafting, new ItemStack(ItemRegistry.nanoThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Items.milk_bucket), new ItemStack( IC2Items.getItem("quantumHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("advancedCircuit") }); thaumicNanoHelmet = ThaumcraftApi.addInfusionCraftingRecipe( "Nanosuit Goggles of Revealing", new ItemStack(ItemRegistry.nanoThaumicHelmet), 5, CraftingAspects.thaumicNanoHelmetCrafting, new ItemStack(ItemRegistry.electricGoggles, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(Items.gold_ingot), new ItemStack( IC2Items.getItem("nanoHelmet").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), IC2Items.getItem("carbonPlate"), IC2Items.getItem("electronicCircuit") }); thaumiumOmnitool = ThaumcraftApi.addInfusionCraftingRecipe( "Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), IC2Items.getItem("carbonPlate"), IC2Items.getItem("plateobsidian") }); diamondOmnitoolToThaumium = ThaumcraftApi.addInfusionCraftingRecipe( "Thaumium Omnitool", new ItemStack(ItemRegistry.thaumiumOmnitool), 6, CraftingAspects.thaumiumOmnitoolCrafting, new ItemStack(ItemRegistry.diamondOmnitool, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Blocks.diamond_block), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack( IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("carbonPlate"), IC2Items.getItem("advancedCircuit") }); explosionFocus = ThaumcraftApi.addInfusionCraftingRecipe( "Explosion Focus", new ItemStack(ItemRegistry.explosionFocus), 6, CraftingAspects.laserFocusCrafting, new ItemStack(ConfigItems.itemFocusHellbat, 1), new ItemStack[] { new ItemStack( IC2Items.getItem("miningLaser").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.arrow), new ItemStack(Items.gunpowder), new ItemStack(Items.firework_charge), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemWispEssence, 1) }); shieldFocus = ThaumcraftApi.addInfusionCraftingRecipe( "Shield Focus", new ItemStack(ItemRegistry.shieldFocus), 4, CraftingAspects.shieldFocusCrafting, new ItemStack(ConfigItems.itemFocusPortableHole, 1), new ItemStack[] { IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("reinforcedGlass"), new ItemStack(Blocks.soul_sand), new ItemStack(Blocks.obsidian), new ItemStack(Blocks.obsidian) }); potentiaGenerator = ThaumcraftApi.addInfusionCraftingRecipe( "Potentia Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 0), 6, CraftingAspects.potentiaGeneratorCrafting, IC2Items.getItem("semifluidGenerator"), new ItemStack[] { new ItemStack(Items.diamond), new ItemStack(ConfigItems.itemFocusTrade), new ItemStack(Blocks.hopper), new ItemStack(ConfigBlocks.blockJar), IC2Items.getItem("mvTransformer"), IC2Items.getItem("advancedMachine"), IC2Items.getItem("orewashingplant"), IC2Items.getItem("scrap") }); streamChainsaw = ThaumcraftApi.addInfusionCraftingRecipe( "Chainsaw of the Stream", new ItemStack(ItemRegistry.streamChainsaw), 6, CraftingAspects.streamChaisnawCrafting, new ItemStack(ItemRegistry.thaumiumChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.water_bucket), new ItemStack(ConfigItems.itemAxeElemental), new ItemStack(ConfigBlocks.blockMagicalLog), new ItemStack( IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("compressedPlantBall"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade") }); rockbreakerDrill = ThaumcraftApi.addInfusionCraftingRecipe( "Drill of the Rockbreaker", new ItemStack(ItemRegistry.rockbreakerDrill), 6, CraftingAspects.rockbreakerDrillCrafting, new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.flint_and_steel), new ItemStack(Items.fire_charge), new ItemStack(ConfigItems.itemPickElemental), new ItemStack(ConfigItems.itemShovelElemental), new ItemStack( IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("reinforcedStone"), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("overclockerUpgrade") }); thorHammer = ThaumcraftApi.addInfusionCraftingRecipe( "Mjolnir", new ItemStack(ItemRegistry.thorHammer), 7, CraftingAspects.thorHammerCrafting, new ItemStack(ItemRegistry.taintedThorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(ItemRegistry.lightningSummoner), new ItemStack(ItemRegistry.lightningSummoner), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack(ConfigItems.itemResource, 1, 1), new ItemStack(ConfigItems.itemFocusShock), IC2Items.getItem("rubber") }); superchargedThorHammer = ThaumcraftApi.addInfusionCraftingRecipe( "Supercharged Mjolnir", new ItemStack(ItemRegistry.electricThorHammer), 10, CraftingAspects.superchargedThorHammerCrafting, new ItemStack(ItemRegistry.thorHammer, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(ItemRegistry.lightningSummoner), new ItemStack(ItemRegistry.lightningSummoner), new ItemStack(Blocks.web), new ItemStack(ConfigItems.itemFocusHellbat), new ItemStack(ConfigItems.itemSwordElemental), new ItemStack( IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate"), new ItemStack( IC2Items.getItem("nanoSaber").getItem(), 1, OreDictionary.WILDCARD_VALUE) }); wandRecharger = ThaumcraftApi.addInfusionCraftingRecipe( "Industrial Wand Charging Station", new ItemStack(BlockRegistry.emtMachines, 1, 0), 6, CraftingAspects.wandCharger, new ItemStack(ConfigBlocks.blockStoneDevice, 1, 5), new ItemStack[] { IC2Items.getItem("replicator"), IC2Items.getItem("iridiumPlate"), new ItemStack(Blocks.diamond_block), new ItemStack(ConfigItems.itemShard, 1, 5), new ItemStack(ConfigBlocks.blockJar) }); solarHelmetRevealing = ThaumcraftApi.addInfusionCraftingRecipe( "Solar Helmet of Revealing", new ItemStack(ItemRegistry.solarHelmetRevealing), 5, CraftingAspects.solarHelmetRevealing, new ItemStack(ItemRegistry.quantumThaumicHelmet, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(BlockRegistry.emtSolars, 1, 1), IC2Items.getItem("glassFiberCableItems"), new ItemStack( IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, 4) }); electricBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe( "Electric Boots of the Traveller", new ItemStack(ItemRegistry.electricBootsTraveller), 2, CraftingAspects.electricBootsTravel, new ItemStack(ConfigItems.itemBootsTraveller), new ItemStack[] { new ItemStack(Items.diamond), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), IC2Items.getItem("hazmatBoots"), new ItemStack( IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemWispEssence) }); nanoBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe( "Nano Boots of the Traveller", new ItemStack(ItemRegistry.nanoBootsTraveller), 2, CraftingAspects.nanoBootsTravel, new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Items.diamond), new ItemStack( IC2Items.getItem("nanoBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack( IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemWispEssence), new ItemStack(ConfigItems.itemWispEssence) }); quantumBootsTravel = ThaumcraftApi.addInfusionCraftingRecipe( "Quantum Boots of the Traveller", new ItemStack(ItemRegistry.quantumBootsTraveller), 2, CraftingAspects.quantumBootsTravel, new ItemStack(ItemRegistry.nanoBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { new ItemStack(Blocks.diamond_block), new ItemStack( IC2Items.getItem("quantumBoots").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack( IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), new ItemStack(ConfigItems.itemWispEssence), new ItemStack(ConfigItems.itemWispEssence), new ItemStack(ConfigItems.itemWispEssence) }); etheralProcessor = ThaumcraftApi.addInfusionCraftingRecipe( "Etheral Processor", new ItemStack(BlockRegistry.emtMachines, 1, 1), 3, CraftingAspects.etherealProcessor, IC2Items.getItem("macerator"), new ItemStack[] { IC2Items.getItem("electroFurnace"), new ItemStack(ConfigBlocks.blockMetalDevice, 1, 9), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.end_stone), new ItemStack(Blocks.iron_block), new ItemStack(Blocks.iron_block), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate) }); tripleCompressedSolar = ThaumcraftApi.addInfusionCraftingRecipe( "Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 2), 2, CraftingAspects.compressedSolars, new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack[] { new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 1) }); electricHoeGrowth = ThaumcraftApi.addInfusionCraftingRecipe( "Electric Hoe of Growth", new ItemStack(ItemRegistry.electricHoeGrowth), 4, CraftingAspects.electricHoeGrowth, new ItemStack(ConfigItems.itemHoeElemental), new ItemStack[] { new ItemStack( IC2Items.getItem("lapotronCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack( IC2Items.getItem("electricHoe").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.dye, 1, 15), IC2Items.getItem("elemotor"), IC2Items.getItem("coil"), new ItemStack(Blocks.sapling, 1, OreDictionary.WILDCARD_VALUE) }); chargeFocus = ThaumcraftApi.addInfusionCraftingRecipe( "Wand Focus: Charging", new ItemStack(ItemRegistry.chargeFocus), 4, CraftingAspects.chargeFocus, new ItemStack( IC2Items.getItem("advBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), new ItemStack[] { IC2Items.getItem("generator"), IC2Items.getItem("batBox"), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ItemRegistry.thaumiumPlate), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(ConfigItems.itemShard, 1, OreDictionary.WILDCARD_VALUE) }); wandChargeFocus = ThaumcraftApi.addInfusionCraftingRecipe( "Wand Focus: Wand Charging", new ItemStack(ItemRegistry.wandChargeFocus), 5, CraftingAspects.wandChargeFocus, new ItemStack(BlockRegistry.emtMachines, 1, 0), new ItemStack[] { new ItemStack(ItemRegistry.chargeFocus), new ItemStack( IC2Items.getItem("energyPack").getItem(), 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("iridiumPlate"), IC2Items.getItem("iridiumPlate") }); inventoryChargingRing = ThaumcraftApi.addInfusionCraftingRecipe( "Inventory Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 1), 6, CraftingAspects.inventoryChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[] { new ItemStack(ItemRegistry.thaumiumDrill, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor") }); armorChargingRing = ThaumcraftApi.addInfusionCraftingRecipe( "Armor Charging Ring", new ItemStack(ItemRegistry.emtBauble, 1, 0), 6, CraftingAspects.armorChargingRing, new ItemStack(ConfigItems.itemBaubleBlanks, 1, 1), new ItemStack[] { new ItemStack(ItemRegistry.electricBootsTraveller, 1, OreDictionary.WILDCARD_VALUE), IC2Items.getItem("generator"), IC2Items.getItem("geothermalGenerator"), IC2Items.getItem("waterMill"), IC2Items.getItem("solarPanel"), IC2Items.getItem("windMill"), IC2Items.getItem("nuclearReactor") }); /** Arcane Worktable Recipes * */ diamondOmnitool = ThaumcraftApi.addShapelessArcaneCraftingRecipe( "Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, new ItemStack(ItemRegistry.diamondChainsaw, 1, OreDictionary.WILDCARD_VALUE), new ItemStack( IC2Items.getItem("diamondDrill").getItem(), 1, OreDictionary.WILDCARD_VALUE)); ironOmnitoolToDiamond = ThaumcraftApi.addArcaneCraftingRecipe( "Diamond Omnitool", new ItemStack(ItemRegistry.diamondOmnitool), CraftingAspects.diamondOmnitoolCrafting, "XAX", "XBX", "XAX", 'X', new ItemStack(Items.diamond), 'A', IC2Items.getItem("advancedCircuit"), 'B', new ItemStack(ItemRegistry.ironOmnitool, 1, OreDictionary.WILDCARD_VALUE)); christmasFocus = ThaumcraftApi.addArcaneCraftingRecipe( "Kris-tmas Focus", new ItemStack(ItemRegistry.christmasFocus), CraftingAspects.christmasFocusCrafting, "XYX", "YZY", "XYX", 'X', new ItemStack(Blocks.snow), 'Y', new ItemStack(Blocks.pumpkin), 'Z', new ItemStack(ConfigItems.itemFocusFrost)); electricGoggles = ThaumcraftApi.addArcaneCraftingRecipe( "Electric Goggles", new ItemStack(ItemRegistry.electricGoggles), CraftingAspects.electricGogglesCrafting, " Y ", "AZA", "BXB", 'Z', new ItemStack(ConfigItems.itemGoggles), 'X', IC2Items.getItem("electronicCircuit"), 'Y', new ItemStack(Items.diamond_helmet), 'A', new ItemStack( IC2Items.getItem("chargedReBattery").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'B', Items.repeater); shieldBlock = ThaumcraftApi.addArcaneCraftingRecipe( "Shield Blocks", new ItemStack(BlockRegistry.shield, 8), CraftingAspects.shieldBlockCrafting, "XYX", "X X", "XYX", 'X', new ItemStack(Blocks.glass), 'Y', new ItemStack(Blocks.obsidian)); tinyUranium = ThaumcraftApi.addShapelessArcaneCraftingRecipe( "Tiny Uranium", new ItemStack(IC2Items.getItem("smallUran235").getItem(), 7), CraftingAspects.tinyUraniumCrafting, IC2Items.getItem("Uran238")); compressedSolar = ThaumcraftApi.addArcaneCraftingRecipe( "Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', IC2Items.getItem("solarPanel")); doubleCompressedSolar = ThaumcraftApi.addArcaneCraftingRecipe( "Compressed Solars", new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.compressedSolars, "XXX", "XXX", "XXX", 'X', new ItemStack(BlockRegistry.emtSolars, 1, 0)); electricScribingTools = ThaumcraftApi.addArcaneCraftingRecipe( "Electric Scribing Tools", new ItemStack(ItemRegistry.electricScribingTools), CraftingAspects.electricScribingTools, "YXY", "XZX", "YXY", 'Y', IC2Items.getItem("electronicCircuit"), 'X', new ItemStack(ConfigItems.itemInkwell), 'Z', new ItemStack( IC2Items.getItem("energyCrystal").getItem(), 1, OreDictionary.WILDCARD_VALUE)); /** Crucible Recipes * */ ignisGenerator = ThaumcraftApi.addCrucibleRecipe( "Ignis Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 1), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.ignisGeneratorCrafting); auramGenerator = ThaumcraftApi.addCrucibleRecipe( "Auram Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 2), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.auramGeneratorCrafting); arborGenerator = ThaumcraftApi.addCrucibleRecipe( "Arbor Generator", new ItemStack(BlockRegistry.essentiaGens, 1, 3), new ItemStack(BlockRegistry.essentiaGens, 1, 0), CraftingAspects.arborGeneratorCrafting); waterSolar = ThaumcraftApi.addCrucibleRecipe( "Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.waterSolars); doubleWaterSolar = ThaumcraftApi.addCrucibleRecipe( "Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.waterSolars); tripleWaterSolar = ThaumcraftApi.addCrucibleRecipe( "Water Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 5), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.waterSolars); darkSolar = ThaumcraftApi.addCrucibleRecipe( "Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 6), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.darkSolars); doubleDarkSolar = ThaumcraftApi.addCrucibleRecipe( "Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 7), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.darkSolars); tripleDarkSolar = ThaumcraftApi.addCrucibleRecipe( "Entropy Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 8), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.darkSolars); orderSolar = ThaumcraftApi.addCrucibleRecipe( "Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 9), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.orderSolars); doubleOrderSolar = ThaumcraftApi.addCrucibleRecipe( "Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 10), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.orderSolars); tripleOrderSolar = ThaumcraftApi.addCrucibleRecipe( "Order Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 11), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.orderSolars); fireSolar = ThaumcraftApi.addCrucibleRecipe( "Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 12), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.fireSolars); doubleFireSolar = ThaumcraftApi.addCrucibleRecipe( "Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 13), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.fireSolars); tripleFireSolar = ThaumcraftApi.addCrucibleRecipe( "Fire Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 14), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.fireSolars); airSolar = ThaumcraftApi.addCrucibleRecipe( "Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars, 1, 15), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.airSolars); doubleAirSolar = ThaumcraftApi.addCrucibleRecipe( "Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 0), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.airSolars); tripleAirSolar = ThaumcraftApi.addCrucibleRecipe( "Air Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 1), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.airSolars); earthSolar = ThaumcraftApi.addCrucibleRecipe( "Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 2), new ItemStack(BlockRegistry.emtSolars, 1, 0), CraftingAspects.earthSolars); doubleEarthSolar = ThaumcraftApi.addCrucibleRecipe( "Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 3), new ItemStack(BlockRegistry.emtSolars, 1, 1), CraftingAspects.earthSolars); tripleEarthSolar = ThaumcraftApi.addCrucibleRecipe( "Earth Infused Solar Panels", new ItemStack(BlockRegistry.emtSolars2, 1, 4), new ItemStack(BlockRegistry.emtSolars, 1, 2), CraftingAspects.earthSolars); portableNode = ThaumcraftApi.addCrucibleRecipe( "Portable Node", new ItemStack(BlockRegistry.portableNode), new ItemStack(ConfigItems.itemJarFilled), CraftingAspects.portableNode); /** IC2 Stuff related recipes * */ /* Ore Clusters Macerator Recipes */ ItemStack ironClusterRecipe = IC2Items.getItem("smallIronDust").copy(); ironClusterRecipe.stackSize = 22; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 16)), null, ironClusterRecipe); ItemStack goldClusterRecipe = IC2Items.getItem("smallGoldDust").copy(); goldClusterRecipe.stackSize = 22; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 31)), null, goldClusterRecipe); ItemStack copperClusterRecipe = IC2Items.getItem("smallCopperDust").copy(); copperClusterRecipe.stackSize = 22; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 17)), null, copperClusterRecipe); ItemStack tinClusterRecipe = IC2Items.getItem("smallTinDust").copy(); tinClusterRecipe.stackSize = 22; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 18)), null, tinClusterRecipe); ItemStack silverClusterRecipe = IC2Items.getItem("smallSilverDust").copy(); silverClusterRecipe.stackSize = 22; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 19)), null, silverClusterRecipe); ItemStack leadClusterRecipe = IC2Items.getItem("smallLeadDust").copy(); leadClusterRecipe.stackSize = 22; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemNugget, 1, 20)), null, leadClusterRecipe); /* Thaumium Plates Recipes */ thaumiumPlate = GameRegistry.addShapedRecipe( new ItemStack(ItemRegistry.thaumiumPlate), "X", "Y", "Z", 'Y', new ItemStack(ConfigItems.itemResource, 1, 2), 'X', new ItemStack( IC2Items.getItem("ForgeHammer").getItem(), 1, OreDictionary.WILDCARD_VALUE), 'Z', new ItemStack(Blocks.obsidian)); Recipes.metalformerRolling.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigItems.itemResource, 1, 2)), null, new ItemStack(ItemRegistry.thaumiumPlate)); /* Ore Processing for Amber and Cinnabar */ ItemStack crushedAmberRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 1); crushedAmberRecipe.stackSize = 2; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 7)), null, crushedAmberRecipe); ItemStack crushedCinnabarRecipe = new ItemStack(ItemRegistry.itemEMTItems, 1, 3); crushedCinnabarRecipe.stackSize = 2; Recipes.macerator.addRecipe( new RecipeInputItemStack(new ItemStack(ConfigBlocks.blockCustomOre, 1, 0)), null, crushedCinnabarRecipe); NBTTagCompound waterAmount = new NBTTagCompound(); waterAmount.setInteger("amount", 1000); Recipes.oreWashing.addRecipe( new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 1)), waterAmount, new ItemStack[] { new ItemStack(ItemRegistry.itemEMTItems, 1, 2), StackUtil.copyWithSize(Ic2Items.smallCopperDust, 2), Ic2Items.stoneDust }); Recipes.oreWashing.addRecipe( new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 3)), waterAmount, new ItemStack[] { new ItemStack(ItemRegistry.itemEMTItems, 1, 4), StackUtil.copyWithSize(Ic2Items.smallTinDust, 2), Ic2Items.stoneDust }); NBTTagCompound heatAmount = new NBTTagCompound(); heatAmount.setInteger("minHeat", 1000); Recipes.centrifuge.addRecipe( new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 2)), heatAmount, new ItemStack[] {Ic2Items.smallCopperDust, new ItemStack(ConfigItems.itemResource, 1, 6)}); Recipes.centrifuge.addRecipe( new RecipeInputItemStack(new ItemStack(ItemRegistry.itemEMTItems, 1, 4)), heatAmount, new ItemStack[] {Ic2Items.smallTinDust, new ItemStack(ConfigItems.itemResource, 1, 3)}); }
@Override public void registerRecipe() { ShapedArcaneRecipe recipe = ThaumcraftApi.addArcaneCraftingRecipe(research, output, aspects, stuff); ConfigResearch.recipes.put(name, recipe); }
@Override protected void registerCrafting() { // Common items CommonDependantItems cdi = FeatureRegistry.instance().getCommonItems(); // My items IThEItems theItems = ThEApi.instance().items(); ItemStack EssentiaStorageComponent_1k = theItems.EssentiaStorageComponent_1k.getStack(); ItemStack EssentiaStorageComponent_4k = theItems.EssentiaStorageComponent_4k.getStack(); ItemStack EssentiaStorageComponent_16k = theItems.EssentiaStorageComponent_16k.getStack(); ItemStack EssentiaStorageComponent_64k = theItems.EssentiaStorageComponent_64k.getStack(); ItemStack EssentiaCell_Housing = theItems.EssentiaCell_Casing.getStack(); ItemStack EssentiaCell_1k = theItems.EssentiaCell_1k.getStack(); ItemStack EssentiaCell_4k = theItems.EssentiaCell_4k.getStack(); ItemStack EssentiaCell_16k = theItems.EssentiaCell_16k.getStack(); ItemStack EssentiaCell_64k = theItems.EssentiaCell_64k.getStack(); ItemStack EssentiaCellWorkbench = ThEApi.instance().blocks().EssentiaCellWorkbench.getStack(); // Item Groups ArrayList<ItemStack> GroupQuartz = new ArrayList<ItemStack>(3); GroupQuartz.add(cdi.CertusQuartz); GroupQuartz.add(cdi.ChargedCertusQuartz); GroupQuartz.add(cdi.PureCertusQuartz); // Housing =============================================== // Housing recipe Object[] recipeHousing = new Object[] { "WRW", "R R", "TTT", 'W', cdi.WardedGlass, 'R', cdi.RedstoneDust, 'T', cdi.ThaumiumIngot }; // Register Housing GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_HOUSING = new ShapedOreRecipe(EssentiaCell_Housing, false, recipeHousing)); // 1K ==================================================== // 1K Storage aspects AspectList aspects1KStorage = new AspectList(); aspects1KStorage.add(Aspect.FIRE, 3); aspects1KStorage.add(Aspect.ORDER, 1); // 1K Storage recipe Object[] recipe1KStorage = new Object[] { "EQ ", "QPQ", " QE", 'E', cdi.EtheralEssence, 'Q', cdi.CertusQuartz, 'P', cdi.LogicProcessor }; // 1K Cell recipe Object[] recipe1KCell = new Object[] { "WRW", "RCR", "TTT", 'W', cdi.WardedGlass, 'R', cdi.RedstoneDust, 'T', cdi.ThaumiumIngot, 'C', EssentiaStorageComponent_1k }; // Register 1K storage RecipeRegistry.ITEM_STORAGE_COMPONENT_1K = ThaumcraftApi.addArcaneCraftingRecipe( ResearchTypes.STORAGE.getKey(), EssentiaStorageComponent_1k, aspects1KStorage, recipe1KStorage); // Register 1K cell GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_1K_SHAPED = new ShapedOreRecipe(EssentiaCell_1k, false, recipe1KCell)); GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_1K_SHAPELESS = new ShapelessOreRecipe( EssentiaCell_1k, EssentiaStorageComponent_1k, EssentiaCell_Housing)); // Replace regular certus quartz with any of the certus quartz variants in the 1K storage // component this.replaceRecipeIngredientWithGroup( (ShapedArcaneRecipe) RecipeRegistry.ITEM_STORAGE_COMPONENT_1K, cdi.CertusQuartz, GroupQuartz); // 4K =================================================== // 4K Storage aspects AspectList aspects4KStorage = new AspectList(); aspects4KStorage.add(Aspect.FIRE, 3); aspects4KStorage.add(Aspect.ORDER, 2); // 4K Storage recipe Object[] recipe4KStorage = new Object[] { "EPE", "1G1", "E1E", 'E', cdi.EtheralEssence, '1', EssentiaStorageComponent_1k, 'P', cdi.CalculationProcessor, 'G', cdi.QuartzGlass }; // 4K Cell recipe Object[] recipe4KCell = new Object[] { "WRW", "RCR", "TTT", 'W', cdi.WardedGlass, 'R', cdi.RedstoneDust, 'T', cdi.ThaumiumIngot, 'C', EssentiaStorageComponent_4k }; // Register 4K storage RecipeRegistry.ITEM_STORAGE_COMPONENT_4K = ThaumcraftApi.addArcaneCraftingRecipe( ResearchTypes.STORAGE.getKey(), EssentiaStorageComponent_4k, aspects4KStorage, recipe4KStorage); // Register 4K cell GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_4K_SHAPED = new ShapedOreRecipe(EssentiaCell_4k, false, recipe4KCell)); GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_4K_SHAPELESS = new ShapelessOreRecipe( EssentiaCell_4k, EssentiaStorageComponent_4k, EssentiaCell_Housing)); // 16K =================================================== // 16K Storage aspects AspectList aspects16KStorage = new AspectList(); aspects16KStorage.add(Aspect.FIRE, 3); aspects16KStorage.add(Aspect.ORDER, 4); // 16K Storage recipe Object[] recipe16KStorage = new Object[] { "SPE", "4G4", "E4S", 'E', cdi.EtheralEssence, 'S', cdi.SalisMundus, '4', EssentiaStorageComponent_4k, 'P', cdi.EngineeringProcessor, 'G', cdi.QuartzGlass }; // 16K Cell recipe Object[] recipe16KCell = new Object[] { "WRW", "RCR", "TTT", 'W', cdi.WardedGlass, 'R', cdi.RedstoneDust, 'T', cdi.ThaumiumIngot, 'C', EssentiaStorageComponent_16k }; // Register 16K storage RecipeRegistry.ITEM_STORAGE_COMPONENT_16K = ThaumcraftApi.addArcaneCraftingRecipe( ResearchTypes.STORAGE.getKey(), EssentiaStorageComponent_16k, aspects16KStorage, recipe16KStorage); // Register 16K cell GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_16K_SHAPED = new ShapedOreRecipe(EssentiaCell_16k, false, recipe16KCell)); GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_16K_SHAPELESS = new ShapelessOreRecipe( EssentiaCell_16k, EssentiaStorageComponent_16k, EssentiaCell_Housing)); // 64K =================================================== // 64K Storage aspects AspectList aspects64KStorage = new AspectList(); aspects64KStorage.add(Aspect.FIRE, 3); aspects64KStorage.add(Aspect.ORDER, 8); // 64K Storage recipe Object[] recipe64KStorage = new Object[] { "SPS", "6G6", "S6S", 'S', cdi.SalisMundus, '6', EssentiaStorageComponent_16k, 'P', cdi.EngineeringProcessor, 'G', cdi.QuartzGlass }; // 64K Cell recipe Object[] recipe64KCell = new Object[] { "WRW", "RCR", "TTT", 'W', cdi.WardedGlass, 'R', cdi.RedstoneDust, 'T', cdi.ThaumiumIngot, 'C', EssentiaStorageComponent_64k }; // Register 64K storage RecipeRegistry.ITEM_STORAGE_COMPONENT_64K = ThaumcraftApi.addArcaneCraftingRecipe( ResearchTypes.STORAGE.getKey(), EssentiaStorageComponent_64k, aspects64KStorage, recipe64KStorage); // 64K Storage Cell GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_64K_SHAPED = new ShapedOreRecipe(EssentiaCell_64k, false, recipe64KCell)); GameRegistry.addRecipe( RecipeRegistry.ITEM_STORAGE_CELL_64K_SHAPELESS = new ShapelessOreRecipe( EssentiaCell_64k, EssentiaStorageComponent_64k, EssentiaCell_Housing)); // Workbench GameRegistry.addRecipe( RecipeRegistry.BLOCK_CELL_WORKBENCH = new ShapelessOreRecipe( EssentiaCellWorkbench, EssentiaStorageComponent_1k, cdi.MECellWorkbench)); }
@SuppressWarnings("unchecked") public static void setup() { // Create Thaumonomicon Page ResearchCategories.registerCategory(catName, null, icon, back, null); // ResearchCategoryList THAUMATURGY=ResearchCategories.getResearchList("THAUMATURGY"); ResearchCategoryList ALCHEMY = ResearchCategories.getResearchList("ALCHEMY"); // ResearchCategoryList ARTIFICE=ResearchCategories.getResearchList("ARTIFICE"); ResearchItem crucRes = ALCHEMY.research.get("CRUCIBLE"); copy(crucRes, "TC.CRUCIBLE", catName, 0, 0).setHidden().registerResearchItem(); // copy(crucRes,"TC.CRUCIBLE",catName,0,0).setHidden().registerResearchItem(); copy( ResearchCategories.getResearchList("ALCHEMY").research.get("METALLURGY"), "TS.ALCHEMY", catName, -3, -5) .setHidden() .registerResearchItem(); // // copy(ResearchCategories.getResearchList("ALCHEMY").research.get("METALLURGY"),"TS.ALCHEMY",catName,-3,-5).setHidden().registerResearchItem(); // Register items and aspects <???> ThaumcraftApi.registerObjectTag( new ItemStack(TSItems.arcane_coal, 1, OreDictionary.WILDCARD_VALUE), new AspectList().add(Aspect.FIRE, 16).add(Aspect.ORDER, 8).add(Aspect.LIGHT, 6)); ThaumcraftApi.registerObjectTag( new ItemStack(TSItems.arcane_coal_block, 1, OreDictionary.WILDCARD_VALUE), new AspectList().add(Aspect.FIRE, 16).add(Aspect.ORDER, 8).add(Aspect.LIGHT, 6)); ThaumcraftApi.registerObjectTag( new ItemStack(TSItems.arcane_torch_dispenser, 1, OreDictionary.WILDCARD_VALUE), new AspectList().add(Aspect.FIRE, 16).add(Aspect.ORDER, 8).add(Aspect.LIGHT, 20)); // ThaumcraftApi.registerObjectTag(new // ItemStack(TSItems.arcane_torch_dispenser,1,OreDictionary.WILDCARD_VALUE), new // AspectList().add(Aspect.FIRE, 16).add(Aspect.ORDER, 8).add(Aspect.LIGHT, 6)); // Crucible Recipe // Clean Clay - Costs Permutatio(EXCHANGE)String ItemStack clay3Rec_cat[] = { new ItemStack(Blocks.clay, 1, 0), new ItemStack(Blocks.hardened_clay, 1, 0), new ItemStack(Blocks.stained_hardened_clay, 1, 0) }; CrucibleRecipe clay3Rec = new CrucibleRecipe( new String[] {"TS.r.Entropy_clay"}, new ItemStack(Items.clay_ball, 3, 0), clay3Rec_cat, new AspectList().add(Aspect.ENTROPY, 1)); ItemStack arcaneCoalS_cat[] = {new ItemStack(TSItems.arcane_coal, 1, 0)}; CrucibleRecipe arcaneCoalS_Rec = new CrucibleRecipe( new String[] {"TS.ALCHEMY"}, new ItemStack(TSItems.arcane_coalS, 1, 0), arcaneCoalS_cat, new AspectList() .add(Aspect.FIRE, 32) .add(Aspect.ENERGY, 32) .add(Aspect.EXCHANGE, 20) .add(Aspect.LIGHT, 16)); // Define Recipes ThaumcraftApi.getCraftingRecipes().add(clay3Rec); ThaumcraftApi.getCraftingRecipes().add(arcaneCoalS_Rec); // ThaumicStorage.archane_coal ShapedArcaneRecipe arcane_coal_rec = ThaumcraftApi.addArcaneCraftingRecipe( "", new ItemStack(TSItems.arcane_coal), new AspectList() .add(Aspect.FIRE, 40) .add(Aspect.ORDER, 20) .add(Aspect.ENTROPY, 20) .add(Aspect.EARTH, 10), new Object[] { "121", "343", "151", '1', new ItemStack(BlocksTC.plank, 1, 0), '2', new ItemStack(ItemsTC.shard, 1, 1), '3', new ItemStack(ItemsTC.nuggets, 1, 6), '4', new ItemStack(Blocks.coal_block), '5', new ItemStack(ItemsTC.alumentum, 1, 0) }); // ThaumicStorage.archane_coal_block ShapedArcaneRecipe arcane_coal_block_rec = ThaumcraftApi.addArcaneCraftingRecipe( "", new ItemStack(TSItems.arcane_coal_block), new AspectList().add(Aspect.FIRE, 20).add(Aspect.ORDER, 20).add(Aspect.ENTROPY, 20), new Object[] {"111", "111", "111", '1', TSItems.arcane_coal}); // ThaumicStorage.arcane_torch_dispenser ShapedArcaneRecipe arcane_torch_dispenser_rec = ThaumcraftApi.addArcaneCraftingRecipe( "", new ItemStack(TSItems.arcane_torch_dispenser), new AspectList() .add(Aspect.FIRE, 40) .add(Aspect.ORDER, 20) .add(Aspect.ENTROPY, 20) .add(Aspect.EARTH, 10), new Object[] { "121", "131", "141", '1', new ItemStack(ItemsTC.plate, 1, 0), '2', new ItemStack(Items.flint_and_steel, 1, 0), '3', new ItemStack(TSItems.arcane_coalS, 1, 0), '4', new ItemStack(ItemsTC.wandRods, 1, OreDictionary.WILDCARD_VALUE) }); // Register Research Page // Arcane Coal new ResearchItem( "TS.r.arcane_coal", catName, new AspectList().add(Aspect.ORDER, 3).add(Aspect.FIRE, 3).add(Aspect.LIGHT, 3), 3, 0, 1, new ItemStack(TSItems.arcane_coal, 1, 0)) .setParents("TC.CRUCIBLE") .setPages( new ResearchPage("TS.p0.arcane_coal"), new ResearchPage("TS.p1.arcane_coal"), new ResearchPage(arcane_coal_rec), new ResearchPage("TS.p2.arcane_coal"), new ResearchPage("TS.p3.arcane_coal")) .registerResearchItem(); // Register Research Page // Arcane Coal super-charged new ResearchItem( "TS.r.arcane_coalS", catName, new AspectList().add(Aspect.ORDER, 3).add(Aspect.FIRE, 3).add(Aspect.LIGHT, 3), 4, -1, 1, new ItemStack(TSItems.arcane_coalS, 1, 0)) .setParents("TS.r.arcane_coal") .setSecondary() .setPages(new ResearchPage("TS.p0.arcane_coalS"), new ResearchPage(arcaneCoalS_Rec)) .registerResearchItem(); // Register Research Page // Arcane Coal Block new ResearchItem( "TS.r.arcane_coal_block", catName, new AspectList().add(Aspect.ORDER, 3), 4, 1, 1, new ItemStack(TSItems.arcane_coal_block, 1, 0)) .setParents("TS.r.arcane_coal") .setPages( new ResearchPage("TS.p0.arcane_coal_block"), new ResearchPage(arcane_coal_block_rec)) .registerResearchItem(); // Register Research Page // Arcane Torch Dispenser new ResearchItem( "TS.r.arcane_torch_dispenser", catName, new AspectList().add(Aspect.ORDER, 3).add(Aspect.FIRE, 3).add(Aspect.LIGHT, 3), 5, -2, 1, new ItemStack(TSItems.arcane_torch_dispenser, 1, 0)) .setParents("TS.r.arcane_coalS") .setPages( new ResearchPage("TS.p0.arcane_torch_dispenser"), new ResearchPage(arcane_torch_dispenser_rec)) .registerResearchItem(); new ResearchItem( "TS.r.Entropy_clay", catName, new AspectList().add(Aspect.ENTROPY, 2), -1, -4, 3, new ItemStack(Items.clay_ball, 1, 0)) .setParents("TS.ALCHEMY") .setPages( new ResearchPage("TS.p0.Entropy_clay"), new ResearchPage(clay3Rec) // new ResearchPage(clay3Rec2), // new ResearchPage(clay3Rec3) ) .registerResearchItem(); }