public static void applyObjectTags() { ObjectTags tags = new ObjectTags().add(EnumTag.LIFE, 1).add(EnumTag.EARTH, 2).add(EnumTag.CRYSTAL, 1); ThaumcraftApi.registerObjectTag(PinkGum1.blockID, -1, tags); tags = new ObjectTags().add(EnumTag.LIFE, 1).add(EnumTag.ROCK, 2).add(EnumTag.CRYSTAL, 1); ThaumcraftApi.registerObjectTag(BlueGum1.blockID, -1, tags); }
private void addResearchAndRecipe( ResearchItem research, int[] meta, AspectList aspects, IRecipe[] recipes, ResearchPage... pages) { ThaumcraftApi.registerObjectTag(research.icon_item, meta, aspects); /* ThaumcraftApi.registerObjectTag(new ItemStack(this.thaumicAnalyzer), new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }, new AspectList(). add(Aspect.MIND, 4). add(Aspect.METAL, 2). add(Aspect.MECHANISM, 10). add(Aspect.MAGIC, 7) ); */ List<ResearchPage> allPages = new ArrayList<ResearchPage>(Arrays.asList(pages)); for (IRecipe recipe : recipes) { GameRegistry.addRecipe(recipe); allPages.add(new ResearchPage(recipe)); } research.tags.add(aspects); research.setPages(allPages.toArray(new ResearchPage[allPages.size()])).registerResearchItem(); }
public static void addArcaneRecipes() { ConfigResearch.recipes.put( "Gardenomicon", ThaumcraftApi.addShapelessArcaneCraftingRecipe( "Gardenomicon", new ItemStack(BotanyItems.gardenomicon, 1, 0), new AspectList().add(Aspect.WATER, 5), new Object[] {Items.book, BotanyItems.inkBottle})); }
public static void addAspects(ItemStack is, AspectList aspects) { AspectList has = ThaumcraftApi.objectTags.get(Arrays.asList(is.getItem(), is.getItemDamage())); if (has != null) { for (Aspect as : has.aspects.keySet()) { aspects.merge(as, has.getAmount(as)); } } clearNullAspects(aspects); ThaumcraftApi.registerObjectTag(is, new int[] {is.getItemDamage()}, aspects); DragonAPICore.log("Registering " + is + " aspects " + aspectsToString(aspects)); }
/** Contains a helper function to avoid overwriting existing aspects. */ public static void addAspects(ItemStack is, Object... aspects) { if (aspects.length % 2 != 0) { DragonAPICore.logError( "Could not add aspects to " + is + ": You must specify a level for every aspect!"); ReikaJavaLibrary.dumpStack(); return; } AspectList has = ThaumcraftApi.objectTags.get(Arrays.asList(is.getItem(), is.getItemDamage())); AspectList ot = getAspectList(aspects); if (has != null) { for (Aspect as : has.aspects.keySet()) { ot.merge(as, has.getAmount(as)); } } clearNullAspects(ot); ThaumcraftApi.registerObjectTag(is, ot); DragonAPICore.log("Registering " + is + " aspects " + aspectsToString(ot)); }
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++; } }
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)}); }
public static void addAspects(Class<? extends Entity> entity, Object... aspects) { AspectList ot = getAspectList(aspects); String name = (String) EntityList.classToStringMapping.get(entity); ThaumcraftApi.registerEntityTag(name, ot); }
public boolean canUndo() { return ThaumcraftApi.getWarp(target) > 0; }
private static void setupItemAspects() { ItemStack item; AspectList list; ThaumcraftApi.registerObjectTag( new ItemStack(Items.clock), new AspectList(new ItemStack(Items.clock)).add((Aspect) aspectTime, 4)); ThaumcraftApi.registerObjectTag( new ItemStack(Items.repeater), new AspectList(new ItemStack(Items.repeater)).add((Aspect) aspectTime, 2)); list = new AspectList(new ItemStack(Blocks.log)); for (int i = 1; i <= 8; i++) { item = ItemInterface.getItemStack("log" + i); if (item != null) { ThaumcraftApi.registerObjectTag(item, list); } } list = new AspectList(new ItemStack(Blocks.planks)); for (int i = 1; i <= 2; i++) { item = ItemInterface.getItemStack("planks" + i); if (item != null) { ThaumcraftApi.registerObjectTag(item, list); } } list = new AspectList().add(Aspect.ORDER, 5).add(Aspect.ARMOR, 2).add(Aspect.BEAST, 1); item = new ItemStack(Config.fHiveBlock); ThaumcraftApi.registerObjectTag(item, list); ThaumcraftApi.registerObjectTag(new ItemStack(Config.hive), list); list = new AspectList().add(Aspect.LIGHT, 1); item = new ItemStack(BlockInterface.getBlock(ForestryHelper.Name, "candle")); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); list = new AspectList().add(Aspect.DARKNESS, 1); item = new ItemStack(BlockInterface.getBlock(ForestryHelper.Name, "stump")); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); list = new AspectList(new ItemStack(Blocks.glass)).add(Aspect.SENSES, 1); item = new ItemStack(BlockInterface.getBlock(ForestryHelper.Name, "glass")); ThaumcraftApi.registerObjectTag(item, list); list = new AspectList().add(Aspect.EARTH, 2).add(Aspect.WATER, 2); item = new ItemStack(BlockInterface.getBlock(ForestryHelper.Name, "soil")); ThaumcraftApi.registerObjectTag(item, new int[] {1}, list); list = new AspectList(new ItemStack(Blocks.leaves)); item = ItemInterface.getItemStack(ForestryHelper.Name, "candle"); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); list = new AspectList(new ItemStack(Blocks.sapling)); item = ItemInterface.getItemStack(ForestryHelper.Name, "candle"); ThaumcraftApi.registerObjectTag(item, list); list = new AspectList() /* .add(Aspect.SEED, 1) */.add(Aspect.PLANT, 1); item = ItemInterface.getItemStack(ForestryHelper.Name, "candle"); ThaumcraftApi.registerObjectTag(item, list); list = new AspectList().add(Aspect.CRYSTAL, 1).add(Aspect.EARTH, 2); item = ItemInterface.getItemStack(ForestryHelper.Name, "candle"); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, ForestryHelper.BlockResource.APATITE.ordinal()), list.copy()); item = ItemInterface.getItemStack(ForestryHelper.Name, "apatite"); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, item.getItemDamage()), list.copy().add(Aspect.CRYSTAL, 2)); list = new AspectList().add(Aspect.MOTION, 2).add(Aspect.FLIGHT, 1); item = ItemInterface.getItemStack("beeDroneGE"); ThaumcraftApi.registerObjectTag(item, list); list = list.copy().add(Aspect.GREED, 2).add(Aspect.EXCHANGE, 1); item = ItemInterface.getItemStack("beePrincessGE"); ThaumcraftApi.registerObjectTag(item, list); item = ItemInterface.getItemStack("beeQueenGE"); ThaumcraftApi.registerObjectTag(item, list); list = new AspectList().add(Aspect.LIFE, 2).add(Aspect.EXCHANGE, 5); item = ItemInterface.getItemStack("beeLarvaeGE"); ThaumcraftApi.registerObjectTag(item, list); item = ItemInterface.getItemStack("scoop"); list = new AspectList(new ItemStack(item.getItem(), 1, 0)).add(Aspect.TOOL, 2); ThaumcraftApi.registerComplexObjectTag(item, list); item = ItemInterface.getItemStack("grafter"); list = new AspectList(new ItemStack(item.getItem(), 1, item.getItemDamage())).add(Aspect.TOOL, 2); ThaumcraftApi.registerComplexObjectTag(item, list); item = ItemInterface.getItemStack("grafterProven"); list = list.copy().add(Aspect.TOOL, 2).add(Aspect.EXCHANGE, 3); ThaumcraftApi.registerObjectTag(new ItemStack(item.getItem(), 1, item.getItemDamage()), list); list = new AspectList().add(Aspect.TRAP, 2); ThaumcraftApi.registerObjectTag("beeComb", list); list = new AspectList().add(Aspect.SLIME, 1); item = ItemInterface.getItemStack("propolis"); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, ForestryHelper.Propolis.NORMAL.ordinal()), list); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, ForestryHelper.Propolis.SILKY.ordinal()), list.copy().add(Aspect.SLIME, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, ForestryHelper.Propolis.PULSATING.ordinal()), list.copy().add(Aspect.ELDRITCH, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.UNSTABLE.ordinal()), list.copy().add(Aspect.ENTROPY, 1).add(Aspect.EXCHANGE, 1)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.AIR.ordinal()), list.copy().add(Aspect.AIR, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.WATER.ordinal()), list.copy().add(Aspect.WATER, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.FIRE.ordinal()), list.copy().add(Aspect.FIRE, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.EARTH.ordinal()), list.copy().add(Aspect.EARTH, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.ORDER.ordinal()), list.copy().add(Aspect.ORDER, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.propolis, 1, PropolisType.CHAOS.ordinal()), list.copy().add(Aspect.ENTROPY, 2)); list = new AspectList().add(Aspect.PLANT, 2); item = ItemInterface.getItemStack("pollen"); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, ForestryHelper.Pollen.NORMAL.ordinal()), list); ThaumcraftApi.registerObjectTag( new ItemStack(item.getItem(), 1, ForestryHelper.Pollen.CRYSTALLINE.ordinal()), list.copy()); ThaumcraftApi.registerObjectTag( new ItemStack(Config.pollen, 1, PollenType.UNUSUAL.ordinal()), list.copy().add(Aspect.MAGIC, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.pollen, 1, PollenType.PHASED.ordinal()), list.copy().add((Aspect) aspectTime, 2)); list = new AspectList().add(Aspect.ORDER, 1); item = ItemInterface.getItemStack("beeswax"); ThaumcraftApi.registerObjectTag( item, new int[] {item.getItemDamage()}, list.copy().add(Aspect.ORDER, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.wax, 1, WaxType.MAGIC.ordinal()), list.copy().add(Aspect.MAGIC, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.wax, 1, WaxType.SOUL.ordinal()), list.copy().add(Aspect.SOUL, 2)); ThaumcraftApi.registerObjectTag( new ItemStack(Config.wax, 1, WaxType.AMNESIC.ordinal()), list.copy().add(Aspect.MIND, 2)); list = new AspectList().add(Aspect.EXCHANGE, 2).add(Aspect.LIFE, 2); item = ItemInterface.getItemStack("honeyDrop"); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); list = new AspectList().add(Aspect.LIFE, 2).add(Aspect.ENERGY, 2); item = ItemInterface.getItemStack("honeydew"); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); list = new AspectList().add(Aspect.GREED, 1).add(Aspect.LIFE, 4); item = ItemInterface.getItemStack("royalJelly"); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); list = new AspectList().add(Aspect.FIRE, 1).add(Aspect.TRAP, 2); item = ItemInterface.getItemStack("phosphor"); ThaumcraftApi.registerObjectTag(item, new int[] {item.getItemDamage()}, list); item = Config.miscResources.getStackForType(ResourceType.ESSENCE_FALSE_LIFE); ThaumcraftApi.registerObjectTag( item, new int[] {item.getItemDamage()}, new AspectList().add(Aspect.LIFE, 6)); item = Config.miscResources.getStackForType(ResourceType.ESSENCE_SHALLOW_GRAVE); ThaumcraftApi.registerObjectTag( item, new int[] {item.getItemDamage()}, new AspectList().add(Aspect.DEATH, 6)); item = Config.miscResources.getStackForType(ResourceType.ESSENCE_EVERLASTING_DURABILITY); ThaumcraftApi.registerObjectTag( item, new int[] {item.getItemDamage()}, new AspectList().add(Aspect.ARMOR, 6)); item = Config.miscResources.getStackForType(ResourceType.ESSENCE_LOST_TIME); ThaumcraftApi.registerObjectTag( item, new int[] {item.getItemDamage()}, new AspectList().add(Aspect.VOID, 6).add((Aspect) aspectTime, 8)); }
@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)); }
private static void addAspects() { // TODO more aspects to everything! // Items ThaumcraftApi.registerObjectTag( ii(BotanyItems.wand_focus_watering), new int[] {0}, new AspectList().add(Aspect.WATER, 10).add(Aspect.MAGIC, 5).add(Aspect.CROP, 3)); ThaumcraftApi.registerObjectTag( ii(BotanyItems.gardeners_cap), new int[] {0}, new AspectList() .add(Aspect.ARMOR, 5) .add(ArcaneBotany.aspectHortus, 5) .add(Aspect.PLANT, 2)); ThaumcraftApi.registerObjectTag( ii(BotanyItems.gardeners_chest), new int[] {0}, new AspectList() .add(Aspect.ARMOR, 5) .add(ArcaneBotany.aspectHortus, 5) .add(Aspect.PLANT, 2)); ThaumcraftApi.registerObjectTag( ii(BotanyItems.gardeners_pants), new int[] {0}, new AspectList() .add(Aspect.ARMOR, 5) .add(ArcaneBotany.aspectHortus, 5) .add(Aspect.PLANT, 2)); ThaumcraftApi.registerObjectTag( ii(BotanyItems.gardeners_boots), new int[] {0}, new AspectList() .add(Aspect.ARMOR, 5) .add(ArcaneBotany.aspectHortus, 5) .add(Aspect.PLANT, 2)); ThaumcraftApi.registerObjectTag( ii(BotanyItems.gardenomicon), new int[] {0}, new AspectList() .add(Aspect.CLOTH, 5) .add(ArcaneBotany.aspectHortus, 5) .add(Aspect.CRAFT, 2) .add(Aspect.PLANT, 3)); ThaumcraftApi.registerObjectTag( ii(BotanyItems.inkBottle), new int[] {0}, new AspectList().add(Aspect.WATER, 1).add(ArcaneBotany.aspectHortus, 1)); // Blocks ThaumcraftApi.registerObjectTag( ib(BotanyBlocks.scribers_pitcher), new int[] {0}, new AspectList() .add(Aspect.DARKNESS, 5) .add(Aspect.PLANT, 5) .add(ArcaneBotany.aspectHortus, 2)); ThaumcraftApi.registerObjectTag( ib(BotanyBlocks.nitor_root), new int[] {0}, new AspectList() .add(Aspect.LIGHT, 5) .add(Aspect.PLANT, 5) .add(ArcaneBotany.aspectHortus, 2)); ThaumcraftApi.registerObjectTag( ib(BotanyBlocks.golem_fern), new int[] {0}, new AspectList() .add(Aspect.TRAVEL, 5) .add(Aspect.CRYSTAL, 2) .add(ArcaneBotany.aspectHortus, 2)); ThaumcraftApi.registerObjectTag( ib(BotanyBlocks.tainted_hedge), new int[] {0}, new AspectList() .add(Aspect.AURA, 5) .add(Aspect.DARKNESS, 2) .add(ArcaneBotany.aspectHortus, 2)); ThaumcraftApi.registerObjectTag( ib(BotanyBlocks.ghast_amaryllis), new int[] {0}, new AspectList() .add(Aspect.BEAST, 5) .add(Aspect.SENSES, 2) .add(ArcaneBotany.aspectHortus, 2)); // TODO //Mobs }
@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(); }
private static void registerItemAspects() { AspectList oldAspects = ThaumcraftCraftingManager.getObjectTags(new ItemStack(RegisteredBlocks.blockStoneMachine)); ThaumcraftApi.registerObjectTag( new ItemStack(Item.getItemFromBlock(RegisteredBlocks.blockStoneMachine)), new int[] {11, 15}, new AspectList()); ThaumcraftApi.registerObjectTag( new ItemStack(Item.getItemFromBlock(RegisteredBlocks.blockStoneMachine)), new int[] {0}, oldAspects); AspectList pylon = new AspectList() .add(Aspect.WATER, 10) .add(Aspect.MAGIC, 12) .add(Aspect.VOID, 4) .add(Aspect.MECHANISM, 4); ThaumcraftApi.registerObjectTag( new ItemStack(Item.getItemFromBlock(RegisteredBlocks.blockAuraPylon)), new int[] {0}, pylon); pylon = new AspectList() .add(Aspect.FIRE, 10) .add(Aspect.AURA, 12) .add(Aspect.MAGIC, 8) .add(Aspect.LIGHT, 4) .add(Aspect.MECHANISM, 4); ThaumcraftApi.registerObjectTag( new ItemStack(Item.getItemFromBlock(RegisteredBlocks.blockAuraPylon)), new int[] {1}, pylon); AspectList packager = new AspectList() .add(Aspect.TREE, 10) .add(Aspect.MECHANISM, 8) .add(Aspect.CRAFT, 8) .add(Aspect.AURA, 12); ThaumcraftApi.registerObjectTag( new ItemStack(Item.getItemFromBlock(RegisteredBlocks.blockStoneMachine)), new int[] {4}, packager); AspectList aspect = new AspectList(); aspect.add(Aspect.MAGIC, 6).add(Aspect.AURA, 12).add(Aspect.ELDRITCH, 4).add(Aspect.VOID, 10); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {0}, aspect.copy()); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {1}, aspect.copy().add(Aspect.AIR, 26)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {2}, aspect.copy().add(Aspect.FIRE, 26)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {3}, aspect.copy().add(Aspect.WATER, 26)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {4}, aspect.copy().add(Aspect.EARTH, 26)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {5}, aspect.copy().add(Aspect.ORDER, 26)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemAuraCore), new int[] {6}, aspect.copy().add(Aspect.ENTROPY, 26)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemPackage, 1, 0), new AspectList().add(Aspect.CLOTH, 2).add(Aspect.BEAST, 2).add(Aspect.ARMOR, 1)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemPackage, 1, 1), new AspectList().add(Aspect.CLOTH, 4)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemFakeLootbag, 1, 0), new AspectList().add(Aspect.CLOTH, 2).add(Aspect.BEAST, 2).add(Aspect.ARMOR, 1)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredItems.itemFakeLootbag, 1, 1), new AspectList().add(Aspect.CLOTH, 4)); ThaumcraftApi.registerObjectTag( new ItemStack(RegisteredBlocks.blockKnowledgeBook), new AspectList() .add(Aspect.MIND, 8) .add(Aspect.MECHANISM, 4) .add(Aspect.MAGIC, 6) .add(Aspect.ORDER, 4)); }
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 clearAspects(ItemStack is) { AspectList ot = new AspectList(); ThaumcraftApi.registerObjectTag(is, new int[] {is.getItemDamage()}, ot); }
public static void abracadabra() { ULTRA_DEATH = new Aspect( "terminus", 0xb90000, new Aspect[] {Aspect.GREED, Aspect.ELDRITCH}, new ResourceLocation("avaritia", "textures/misc/terminus.png"), 771); LudicrousItems.akashic_record = new ItemAkashicRecord(); GameRegistry.registerItem(LudicrousItems.akashic_record, "Akashic_Record"); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.resource, 1, 1), new AspectList().add(ULTRA_DEATH, 1).add(Aspect.ENERGY, 8).add(Aspect.CRYSTAL, 32)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.resource, 1, 4), new AspectList().add(ULTRA_DEATH, 2).add(Aspect.METAL, 12).add(Aspect.ENERGY, 12)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.resource, 1, 5), new AspectList().add(ULTRA_DEATH, 5).add(Aspect.EXCHANGE, 12)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.resource, 1, 6), new AspectList().add(ULTRA_DEATH, 16).add(Aspect.ELDRITCH, 64)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousBlocks.neutron_collector, 1, OreDictionary.WILDCARD_VALUE), new AspectList() .add(ULTRA_DEATH, 5) .add(Aspect.METAL, 64) .add(Aspect.ENERGY, 64) .add(Aspect.MECHANISM, 64)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 0), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.METAL, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 1), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.METAL, 100).add(Aspect.GREED, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 2), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.SENSES, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 3), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.MECHANISM, 100).add(Aspect.ENERGY, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 4), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.CRYSTAL, 100).add(Aspect.ORDER, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 5), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.METAL, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 6), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.METAL, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 7), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.METAL, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.singularity, 1, 8), new AspectList().add(ULTRA_DEATH, 3).add(Aspect.METAL, 100)); ThaumcraftApi.registerObjectTag( new ItemStack(LudicrousItems.infinity_sword), new AspectList() .add(ULTRA_DEATH, 60) .add(Aspect.WEAPON, 999) .add(Aspect.DEATH, 999) .add(Aspect.ELDRITCH, 100)); ThaumcraftApi.registerComplexObjectTag( new ItemStack(LudicrousItems.skull_sword), new AspectList() .add(ULTRA_DEATH, 1) .add(Aspect.FIRE, 2) .add(Aspect.CRYSTAL, 16) .add(Aspect.DEATH, 4)); WAND_ROD_NEUTRONIUM = new WandRod( "infinity", 9999999, new ItemStack(LudicrousBlocks.resource_block, 1, 0), 9999, new CheatyWandUpdate(), new ResourceLocation("avaritia", "textures/models/wand_rod_neutronium.png")); WAND_ROD_NEUTRONIUM.setGlowing(true); WAND_CAP_CRYSTAL = new WandCap("matrix", 0.0F, new ItemStack(Blocks.command_block), 1000); WAND_CAP_CRYSTAL.setTexture( new ResourceLocation("avaritia", "textures/models/wand_cap_crystal.png")); ItemStack wand = new ItemStack(ConfigItems.itemWandCasting, 1, 9000); ((ItemWandCasting) ConfigItems.itemWandCasting).setRod(wand, WAND_ROD_NEUTRONIUM); ((ItemWandCasting) ConfigItems.itemWandCasting).setCap(wand, WAND_CAP_CRYSTAL); ExtremeCraftingManager.getInstance() .addRecipe( wand, " C ", " CIC ", " NIIC", " NINC ", " NXN ", " CNIN ", "CIIN ", " CIC ", " C ", 'I', new ItemStack(LudicrousItems.resource, 1, 6), 'C', new ItemStack(LudicrousItems.resource, 1, 1), 'N', new ItemStack(LudicrousItems.resource, 1, 4), 'X', new ItemStack(LudicrousBlocks.resource_block, 1, 1)); if (Loader.isModLoaded("ThaumicTinkerer")) { try { boolean kami = Class.forName("thaumic.tinkerer.common.core.handler.ConfigHandler") .getField("enableKami") .getBoolean(null); if (kami) { Item kamiResource = Compat.getItem("ThaumicTinkerer", "kamiResource"); Grinder.catalyst.getInput().add(new ItemStack(kamiResource, 1, 2)); } } catch (Exception e) { Lumberjack.log( Level.INFO, e, "Avaritia couldn't find the last research it needs to unlock Ichor."); } } }
public void apply() { if (target instanceof String) ThaumcraftApi.addWarpToResearch((String) target, warp); else if (target instanceof ItemStack) ThaumcraftApi.addWarpToItem((ItemStack) target, warp); }