use of minechem.potion.PotionChemical in project Minechem by iopleke.
the class MinechemRecipes method registerVanillaChemicalRecipes.
public void registerVanillaChemicalRecipes() {
// Molecules
Molecule moleculeSiliconDioxide = this.molecule(MoleculeEnum.siliconDioxide, 4);
Molecule moleculeCellulose = this.molecule(MoleculeEnum.cellulose, 1);
Molecule moleculePolyvinylChloride = this.molecule(MoleculeEnum.polyvinylChloride);
Molecule moleculeLazurite = this.molecule(MoleculeEnum.lazurite, 9);
// Elements
Element elementHydrogen = this.element(ElementEnum.H, 64);
Element elementHelium = this.element(ElementEnum.He, 64);
Element elementCarbon = this.element(ElementEnum.C, 64);
// Section 1 - Blocks
// Stone
ItemStack blockStone = new ItemStack(Blocks.stone);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockStone, 0.2F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Mg), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ti), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Zn), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Al), this.element(ElementEnum.O) }) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.stone, 16), true, COST_SMOOTH, new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O, 2), null, this.element(ElementEnum.Al, 2), this.element(ElementEnum.O, 3), null }));
// Grass Block
ItemStack blockGrass = new ItemStack(Blocks.grass, 1, 0);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockGrass, 0.07F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Mg), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ti), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Zn), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ga), this.element(ElementEnum.As) }), new DecomposerRecipe(new PotionChemical[] { moleculeCellulose }) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.grass, 16), true, COST_GRASS, new PotionChemical[] { null, moleculeCellulose, null, null, this.element(ElementEnum.O, 2), this.element(ElementEnum.Si) }));
// Dirt
ItemStack blockDirt = new ItemStack(Blocks.dirt, 1, 0);
ItemStack blockPodzol = new ItemStack(Blocks.dirt, 1, 2);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockDirt, 0.07F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Mg), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ti), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Zn), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ga), this.element(ElementEnum.As) }) }));
DecomposerRecipe.add(new DecomposerRecipeSelect(blockPodzol, 0.07F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Mg), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ti), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Zn), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ga), this.element(ElementEnum.As) }) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.dirt, 1, 0), true, COST_BLOCK, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide), null, null, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.dirt, 1, 2), true, COST_BLOCK, new PotionChemical[] { null, null, null, this.molecule(MoleculeEnum.siliconDioxide), null, null, null, null, null }));
// Cobblestone
ItemStack blockCobblestone = new ItemStack(Blocks.cobblestone);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockCobblestone, 0.1F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Mg), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ti), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Na), this.element(ElementEnum.Cl) }) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.cobblestone, 16), true, COST_SMOOTH, new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.O, 4), null }));
// Planks
ItemStack blockOakWoodPlanks = new ItemStack(Blocks.planks, 1, 0);
ItemStack blockSpruceWoodPlanks = new ItemStack(Blocks.planks, 1, 1);
ItemStack blockBirchWoodPlanks = new ItemStack(Blocks.planks, 1, 2);
ItemStack blockJungleWoodPlanks = new ItemStack(Blocks.planks, 1, 3);
ItemStack blockAcaciaWoodPlanks = new ItemStack(Blocks.planks, 1, 4);
ItemStack blockDarkOakWoodPlanks = new ItemStack(Blocks.planks, 1, 5);
DecomposerRecipe.add(new DecomposerRecipeChance(blockOakWoodPlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockSpruceWoodPlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBirchWoodPlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockJungleWoodPlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAcaciaWoodPlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockDarkOakWoodPlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockOakWoodPlanks, true, COST_PLANK, new PotionChemical[] { null, null, null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose) }));
SynthesisRecipe.add(new SynthesisRecipe(blockSpruceWoodPlanks, true, COST_PLANK, new PotionChemical[] { null, null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null }));
SynthesisRecipe.add(new SynthesisRecipe(blockBirchWoodPlanks, true, COST_PLANK, new PotionChemical[] { null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockJungleWoodPlanks, true, COST_PLANK, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockAcaciaWoodPlanks, true, COST_PLANK, new PotionChemical[] { null, null, null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockDarkOakWoodPlanks, true, COST_PLANK, new PotionChemical[] { null, null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null, null, null, null, null }));
// Wooden Slabs
ItemStack blockOakWoodSlabs = new ItemStack(Blocks.wooden_slab, 1, 0);
ItemStack blockSpruceWoodSlabs = new ItemStack(Blocks.wooden_slab, 1, 1);
ItemStack blockBirchWoodSlabs = new ItemStack(Blocks.wooden_slab, 1, 2);
ItemStack blockJungleWoodSlabs = new ItemStack(Blocks.wooden_slab, 1, 3);
ItemStack blockAcaciaWoodSlabs = new ItemStack(Blocks.wooden_slab, 1, 4);
ItemStack blockDarkOakWoodSlabs = new ItemStack(Blocks.wooden_slab, 1, 5);
DecomposerRecipe.add(new DecomposerRecipeChance(blockOakWoodSlabs, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockSpruceWoodSlabs, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBirchWoodSlabs, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockJungleWoodSlabs, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAcaciaWoodSlabs, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockDarkOakWoodSlabs, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockOakWoodSlabs, true, COST_PLANK, new PotionChemical[] { null, null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose) }));
SynthesisRecipe.add(new SynthesisRecipe(blockSpruceWoodSlabs, true, COST_PLANK, new PotionChemical[] { null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), null }));
SynthesisRecipe.add(new SynthesisRecipe(blockBirchWoodSlabs, true, COST_PLANK, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockJungleWoodSlabs, true, COST_PLANK, new PotionChemical[] { null, null, null, this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockAcaciaWoodSlabs, true, COST_PLANK, new PotionChemical[] { null, null, this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockDarkOakWoodSlabs, true, COST_PLANK, new PotionChemical[] { null, this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), null, null, null, null, null }));
// Saplings
ItemStack blockOakSapling = new ItemStack(Blocks.sapling, 1, 0);
ItemStack blockSpruceSapling = new ItemStack(Blocks.sapling, 1, 1);
ItemStack blockBirchSapling = new ItemStack(Blocks.sapling, 1, 2);
ItemStack blockJungleSapling = new ItemStack(Blocks.sapling, 1, 3);
ItemStack blockAcaciaSapling = new ItemStack(Blocks.sapling, 1, 4);
ItemStack blockDarkOakSapling = new ItemStack(Blocks.sapling, 1, 5);
DecomposerRecipe.add(new DecomposerRecipeChance(blockOakSapling, 0.25F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockSpruceSapling, 0.25F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBirchSapling, 0.25F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockJungleSapling, 0.25F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAcaciaSapling, 0.25F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockDarkOakSapling, 0.25F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
SynthesisRecipe.add(new SynthesisRecipe(blockOakSapling, true, COST_PLANT, new PotionChemical[] { null, null, null, null, null, null, null, null, this.molecule(MoleculeEnum.cellulose) }));
SynthesisRecipe.add(new SynthesisRecipe(blockSpruceSapling, true, COST_PLANT, new PotionChemical[] { null, null, null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), null }));
SynthesisRecipe.add(new SynthesisRecipe(blockBirchSapling, true, COST_PLANT, new PotionChemical[] { null, null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockJungleSapling, true, COST_PLANT, new PotionChemical[] { null, null, null, null, null, this.molecule(MoleculeEnum.cellulose), null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockAcaciaSapling, true, COST_PLANT, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.cellulose), null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockDarkOakSapling, true, COST_PLANT, new PotionChemical[] { null, null, null, this.molecule(MoleculeEnum.cellulose), null, null, null, null, null }));
// Sand
ItemStack blockSand = new ItemStack(Blocks.sand);
DecomposerRecipe.add(new DecomposerRecipe(blockSand, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(blockSand, true, COST_BLOCK, new PotionChemical[] { moleculeSiliconDioxide, moleculeSiliconDioxide, moleculeSiliconDioxide, moleculeSiliconDioxide }));
// Gravel
ItemStack blockGravel = new ItemStack(Blocks.gravel);
DecomposerRecipe.add(new DecomposerRecipeChance(blockGravel, 0.35F, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide) }));
SynthesisRecipe.add(new SynthesisRecipe(blockGravel, true, COST_BLOCK, new PotionChemical[] { null, null, null, null, null, null, null, null, this.molecule(MoleculeEnum.siliconDioxide) }));
// Gold Ore
ItemStack goldOre = new ItemStack(Blocks.gold_ore);
DecomposerRecipe.add(new DecomposerRecipe(goldOre, new PotionChemical[] { this.element(ElementEnum.Au, 48) }));
// Iron Ore
ItemStack ironOre = new ItemStack(Blocks.iron_ore);
DecomposerRecipe.add(new DecomposerRecipe(ironOre, new PotionChemical[] { this.element(ElementEnum.Fe, 48) }));
// Coal Ore
ItemStack coalOre = new ItemStack(Blocks.coal_ore);
DecomposerRecipe.add(new DecomposerRecipe(coalOre, new PotionChemical[] { this.element(ElementEnum.C, 48) }));
// Log
ItemStack blockOakLog = new ItemStack(Blocks.log, 1, 0);
ItemStack blockSpruceLog = new ItemStack(Blocks.log, 1, 1);
ItemStack blockBirchLog = new ItemStack(Blocks.log, 1, 2);
ItemStack blockJungleLog = new ItemStack(Blocks.log, 1, 3);
ItemStack blockAcaciaLog = new ItemStack(Blocks.log2, 1, 0);
ItemStack blockDarkOakLog = new ItemStack(Blocks.log2, 1, 1);
DecomposerRecipe.add(new DecomposerRecipeChance(blockOakLog, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 8) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockSpruceLog, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 8) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBirchLog, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 8) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockJungleLog, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 8) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAcaciaLog, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 8) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockDarkOakLog, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 8) }));
SynthesisRecipe.add(new SynthesisRecipe(blockOakLog, true, COST_WOOD, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2), this.molecule(MoleculeEnum.cellulose, 2), this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockSpruceLog, true, COST_WOOD, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), this.molecule(MoleculeEnum.cellulose, 2), this.molecule(MoleculeEnum.cellulose, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockBirchLog, true, COST_WOOD, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), null, null, null, this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockJungleLog, true, COST_WOOD, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2), null, null, this.molecule(MoleculeEnum.cellulose, 2), this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockAcaciaLog, true, COST_WOOD, new PotionChemical[] { null, null, this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), this.molecule(MoleculeEnum.cellulose, 2), null, null, this.molecule(MoleculeEnum.cellulose, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockDarkOakLog, true, COST_WOOD, new PotionChemical[] { null, this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), null, this.molecule(MoleculeEnum.cellulose, 2), null }));
// Leaves
ItemStack blockOakLeaves = new ItemStack(Blocks.leaves, 1, 0);
ItemStack blockSpruceLeaves = new ItemStack(Blocks.leaves, 1, 1);
ItemStack blockBirchLeaves = new ItemStack(Blocks.leaves, 1, 2);
ItemStack blockJungleLeaves = new ItemStack(Blocks.leaves, 1, 3);
ItemStack blockAcaciaLeaves = new ItemStack(Blocks.leaves2, 1, 0);
ItemStack blockDarkOakLeaves = new ItemStack(Blocks.leaves2, 1, 1);
DecomposerRecipe.add(new DecomposerRecipeChance(blockOakLeaves, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockSpruceLeaves, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBirchLeaves, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockJungleLeaves, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAcaciaLeaves, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockDarkOakLeaves, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
SynthesisRecipe.add(new SynthesisRecipe(blockOakLeaves, true, COST_BLOCK, new PotionChemical[] { moleculeCellulose, moleculeCellulose, moleculeCellulose, null, moleculeCellulose, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockSpruceLeaves, true, COST_BLOCK, new PotionChemical[] { null, null, null, null, moleculeCellulose, null, moleculeCellulose, moleculeCellulose, moleculeCellulose }));
SynthesisRecipe.add(new SynthesisRecipe(blockBirchLeaves, true, COST_BLOCK, new PotionChemical[] { moleculeCellulose, null, moleculeCellulose, null, null, null, moleculeCellulose, null, moleculeCellulose }));
SynthesisRecipe.add(new SynthesisRecipe(blockJungleLeaves, true, COST_BLOCK, new PotionChemical[] { moleculeCellulose, null, null, moleculeCellulose, moleculeCellulose, null, moleculeCellulose, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockAcaciaLeaves, true, COST_BLOCK, new PotionChemical[] { null, null, moleculeCellulose, null, moleculeCellulose, moleculeCellulose, null, null, moleculeCellulose }));
SynthesisRecipe.add(new SynthesisRecipe(blockDarkOakLeaves, true, COST_BLOCK, new PotionChemical[] { null, moleculeCellulose, null, moleculeCellulose, null, moleculeCellulose, null, moleculeCellulose, null }));
// Dyes
ItemStack itemDyePowderBlack = new ItemStack(Items.dye, 1, 0);
ItemStack itemDyePowderRed = new ItemStack(Items.dye, 1, 1);
ItemStack itemDyePowderGreen = new ItemStack(Items.dye, 1, 2);
ItemStack itemDyePowderBrown = new ItemStack(Items.dye, 1, 3);
ItemStack itemDyePowderBlue = new ItemStack(Items.dye, 1, 4);
ItemStack itemDyePowderPurple = new ItemStack(Items.dye, 1, 5);
ItemStack itemDyePowderCyan = new ItemStack(Items.dye, 1, 6);
ItemStack itemDyePowderLightGray = new ItemStack(Items.dye, 1, 7);
ItemStack itemDyePowderGray = new ItemStack(Items.dye, 1, 8);
ItemStack itemDyePowderPink = new ItemStack(Items.dye, 1, 9);
ItemStack itemDyePowderLime = new ItemStack(Items.dye, 1, 10);
ItemStack itemDyePowderYellow = new ItemStack(Items.dye, 1, 11);
ItemStack itemDyePowderLightBlue = new ItemStack(Items.dye, 1, 12);
ItemStack itemDyePowderMagenta = new ItemStack(Items.dye, 1, 13);
ItemStack itemDyePowderOrange = new ItemStack(Items.dye, 1, 14);
ItemStack itemDyePowderWhite = new ItemStack(Items.dye, 1, 15);
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderBlack, new PotionChemical[] { this.molecule(MoleculeEnum.blackPigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderRed, new PotionChemical[] { this.molecule(MoleculeEnum.redPigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderGreen, new PotionChemical[] { this.molecule(MoleculeEnum.greenPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(itemDyePowderBrown, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.theobromine), this.molecule(MoleculeEnum.tannicacid) }));
// Lapis
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderBlue, new PotionChemical[] { this.molecule(MoleculeEnum.lazurite) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderPurple, new PotionChemical[] { this.molecule(MoleculeEnum.purplePigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderCyan, new PotionChemical[] { this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderLightGray, new PotionChemical[] { this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderGray, new PotionChemical[] { this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment, 2) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderPink, new PotionChemical[] { this.molecule(MoleculeEnum.redPigment), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderLime, new PotionChemical[] { this.molecule(MoleculeEnum.limePigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderYellow, new PotionChemical[] { this.molecule(MoleculeEnum.yellowPigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderLightBlue, new PotionChemical[] { this.molecule(MoleculeEnum.lightbluePigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderMagenta, new PotionChemical[] { this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.redPigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderOrange, new PotionChemical[] { this.molecule(MoleculeEnum.orangePigment) }));
DecomposerRecipe.add(new DecomposerRecipe(itemDyePowderWhite, new PotionChemical[] { this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderBlack, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.blackPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderRed, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.redPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderGreen, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.greenPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderBrown, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.theobromine) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderBlue, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.lazurite) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderPurple, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.purplePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderCyan, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderLightGray, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderGray, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderPink, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.redPigment), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderLime, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.limePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderYellow, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.yellowPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderLightBlue, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.lightbluePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderMagenta, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.redPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderOrange, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.orangePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDyePowderWhite, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.whitePigment) }));
// Glass
ItemStack blockGlass = new ItemStack(Blocks.glass);
ItemStack blockWhiteStainedGlass = new ItemStack(Blocks.stained_glass, 1, 0);
ItemStack blockOrangeStainedGlass = new ItemStack(Blocks.stained_glass, 1, 1);
ItemStack blockMagentaStainedGlass = new ItemStack(Blocks.stained_glass, 1, 2);
ItemStack blockLiteBlueStainedGlass = new ItemStack(Blocks.stained_glass, 1, 3);
ItemStack blockYellowStainedGlass = new ItemStack(Blocks.stained_glass, 1, 4);
ItemStack blockLimeStainedGlass = new ItemStack(Blocks.stained_glass, 1, 5);
ItemStack blockPinkStainedGlass = new ItemStack(Blocks.stained_glass, 1, 6);
ItemStack blockGrayStainedGlass = new ItemStack(Blocks.stained_glass, 1, 7);
ItemStack blockLiteGrayStainedGlass = new ItemStack(Blocks.stained_glass, 1, 8);
ItemStack blockCyanStainedGlass = new ItemStack(Blocks.stained_glass, 1, 9);
ItemStack blockPurpleStainedGlass = new ItemStack(Blocks.stained_glass, 1, 10);
ItemStack blockBlueStainedGlass = new ItemStack(Blocks.stained_glass, 1, 11);
ItemStack blockBrownStainedGlass = new ItemStack(Blocks.stained_glass, 1, 12);
ItemStack blockGreenStainedGlass = new ItemStack(Blocks.stained_glass, 1, 13);
ItemStack blockRedStainedGlass = new ItemStack(Blocks.stained_glass, 1, 14);
ItemStack blockBlackStainedGlass = new ItemStack(Blocks.stained_glass, 1, 15);
DecomposerRecipe.add(new DecomposerRecipe(blockGlass, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(blockGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, null, null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockWhiteStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.whitePigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockOrangeStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.orangePigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockMagentaStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, this.molecule(MoleculeEnum.lightbluePigment), null, this.molecule(MoleculeEnum.redPigment), moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockLiteBlueStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.lightbluePigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockYellowStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.yellowPigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockLimeStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.limePigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockPinkStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, this.molecule(MoleculeEnum.whitePigment), null, this.molecule(MoleculeEnum.redPigment), moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockGrayStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, this.molecule(MoleculeEnum.whitePigment), null, this.molecule(MoleculeEnum.blackPigment), moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockLiteGrayStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment), moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockCyanStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, this.molecule(MoleculeEnum.whitePigment), null, this.molecule(MoleculeEnum.lightbluePigment), moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockPurpleStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.purplePigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockBlueStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.lazurite), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockBrownStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.tannicacid), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockGreenStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.greenPigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockRedStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.redPigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
SynthesisRecipe.add(new SynthesisRecipe(blockBlackStainedGlass, true, COST_GLASS, new PotionChemical[] { moleculeSiliconDioxide, null, moleculeSiliconDioxide, null, this.molecule(MoleculeEnum.blackPigment), null, moleculeSiliconDioxide, null, moleculeSiliconDioxide }));
// Glass Panes
ItemStack blockGlassPane = new ItemStack(Blocks.glass_pane);
ItemStack blockWhiteStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 0);
ItemStack blockOrangeStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 1);
ItemStack blockMagentaStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 2);
ItemStack blockLiteBlueStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 3);
ItemStack blockYellowStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 4);
ItemStack blockLimeStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 5);
ItemStack blockPinkStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 6);
ItemStack blockGrayStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 7);
ItemStack blockLiteGrayStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 8);
ItemStack blockCyanStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 9);
ItemStack blockPurpleStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 10);
ItemStack blockBlueStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 11);
ItemStack blockBrownStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 12);
ItemStack blockGreenStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 13);
ItemStack blockRedStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 14);
ItemStack blockBlackStainedGlassPane = new ItemStack(Blocks.stained_glass_pane, 1, 15);
DecomposerRecipe.add(new DecomposerRecipe(blockGlassPane, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 6) }));
Molecule siO = new Molecule(MoleculeEnum.siliconDioxide, 1);
SynthesisRecipe.add(new SynthesisRecipe(blockGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, null, null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockWhiteStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.whitePigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockOrangeStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.orangePigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockMagentaStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, this.molecule(MoleculeEnum.lightbluePigment), null, this.molecule(MoleculeEnum.redPigment), siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockLiteBlueStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.lightbluePigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockYellowStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.yellowPigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockLimeStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.limePigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockPinkStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, this.molecule(MoleculeEnum.whitePigment), null, this.molecule(MoleculeEnum.redPigment), siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockGrayStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, this.molecule(MoleculeEnum.whitePigment), null, this.molecule(MoleculeEnum.blackPigment), siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockLiteGrayStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment), siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockCyanStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, this.molecule(MoleculeEnum.whitePigment), null, this.molecule(MoleculeEnum.lightbluePigment), siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockPurpleStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.purplePigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockBlueStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.lazurite), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockBrownStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.tannicacid), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockGreenStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.greenPigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockRedStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.redPigment), null, siO, siO, siO }));
SynthesisRecipe.add(new SynthesisRecipe(blockBlackStainedGlassPane, true, COST_PANE, new PotionChemical[] { siO, siO, siO, null, this.molecule(MoleculeEnum.blackPigment), null, siO, siO, siO }));
// Lapis Lazuli Ore
ItemStack blockOreLapis = new ItemStack(Blocks.lapis_ore);
DecomposerRecipe.add(new DecomposerRecipe(blockOreLapis, new PotionChemical[] { this.molecule(MoleculeEnum.lazurite, 6), this.molecule(MoleculeEnum.sodalite), this.molecule(MoleculeEnum.noselite), this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.pyrite) }));
// Lapis Lazuli Block
ItemStack blockLapis = new ItemStack(Blocks.lapis_block);
DecomposerRecipe.add(new DecomposerRecipe(blockLapis, new PotionChemical[] { this.molecule(MoleculeEnum.lazurite, 9) }));
SynthesisRecipe.add(new SynthesisRecipe(blockLapis, true, COST_LAPISBLOCK, new PotionChemical[] { moleculeLazurite, null, null, null, null, null, null, null, null }));
// Cobweb
ItemStack blockCobweb = new ItemStack(Blocks.web);
DecomposerRecipe.add(new DecomposerRecipe(blockCobweb, new PotionChemical[] { this.molecule(MoleculeEnum.fibroin) }));
// double tall plants
ItemStack blockSunFlower = new ItemStack(Blocks.double_plant, 1, 0);
ItemStack blockLilac = new ItemStack(Blocks.double_plant, 1, 1);
ItemStack blockTallGrass = new ItemStack(Blocks.double_plant, 1, 2);
ItemStack blockLargeFern = new ItemStack(Blocks.double_plant, 1, 3);
ItemStack blockRoseBush = new ItemStack(Blocks.double_plant, 1, 4);
ItemStack blockPeony = new ItemStack(Blocks.double_plant, 1, 5);
DecomposerRecipe.add(new DecomposerRecipeChance(blockSunFlower, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockLilac, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockTallGrass, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockLargeFern, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockRoseBush, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockPeony, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockSunFlower, true, COST_PLANT, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.yellowPigment), null, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockLilac, true, COST_PLANT, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.redPigment), new Molecule(MoleculeEnum.whitePigment, 2), null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockTallGrass, true, COST_PLANT, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), null, null, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockLargeFern, true, COST_PLANT, new PotionChemical[] { null, new Molecule(MoleculeEnum.shikimicAcid, 2), null, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockRoseBush, true, COST_PLANT, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.redPigment), null, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockPeony, true, COST_PLANT, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.redPigment), new Molecule(MoleculeEnum.whitePigment), null, null, null, null, null, null }));
// Sandstone
ItemStack blockSandStone = new ItemStack(Blocks.sandstone, 1, 0);
ItemStack blockChiseledSandStone = new ItemStack(Blocks.sandstone, 1, 1);
ItemStack blockSmoothSandStone = new ItemStack(Blocks.sandstone, 1, 2);
DecomposerRecipe.add(new DecomposerRecipe(blockSandStone, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 16) }));
DecomposerRecipe.add(new DecomposerRecipe(blockChiseledSandStone, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 16) }));
DecomposerRecipe.add(new DecomposerRecipe(blockSmoothSandStone, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(blockSandStone, true, COST_BLOCK, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.siliconDioxide, 16), null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(blockChiseledSandStone, true, COST_BLOCK, new PotionChemical[] { null, null, null, null, null, null, null, this.molecule(MoleculeEnum.siliconDioxide, 16), null }));
SynthesisRecipe.add(new SynthesisRecipe(blockSmoothSandStone, true, COST_BLOCK, new PotionChemical[] { null, this.molecule(MoleculeEnum.siliconDioxide, 16), null, null, null, null, null, null, null }));
// Wool
ItemStack blockWool = new ItemStack(Blocks.wool, 1, 0);
ItemStack blockOrangeWool = new ItemStack(Blocks.wool, 1, 1);
ItemStack blockMagentaWool = new ItemStack(Blocks.wool, 1, 2);
ItemStack blockLightBlueWool = new ItemStack(Blocks.wool, 1, 3);
ItemStack blockYellowWool = new ItemStack(Blocks.wool, 1, 4);
ItemStack blockLimeWool = new ItemStack(Blocks.wool, 1, 5);
ItemStack blockPinkWool = new ItemStack(Blocks.wool, 1, 6);
ItemStack blockGrayWool = new ItemStack(Blocks.wool, 1, 7);
ItemStack blockLightGrayWool = new ItemStack(Blocks.wool, 1, 8);
ItemStack blockCyanWool = new ItemStack(Blocks.wool, 1, 9);
ItemStack blockPurpleWool = new ItemStack(Blocks.wool, 1, 10);
ItemStack blockBlueWool = new ItemStack(Blocks.wool, 1, 11);
ItemStack blockBrownWool = new ItemStack(Blocks.wool, 1, 12);
ItemStack blockGreenWool = new ItemStack(Blocks.wool, 1, 13);
ItemStack blockRedWool = new ItemStack(Blocks.wool, 1, 14);
ItemStack blockBlackWool = new ItemStack(Blocks.wool, 1, 15);
DecomposerRecipe.add(new DecomposerRecipeChance(blockWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockOrangeWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.orangePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockMagentaWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.redPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockLightBlueWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lightbluePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockYellowWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.yellowPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockLimeWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.limePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockPinkWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.redPigment), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockGrayWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockLightGrayWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockCyanWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockPurpleWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.purplePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBlueWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lazurite) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBrownWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.tannicacid) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockGreenWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.greenPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockRedWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.redPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBlackWool, 0.6F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.blackPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockOrangeWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.orangePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockMagentaWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.redPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockLightBlueWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lightbluePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockYellowWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.yellowPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockLimeWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.limePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockPinkWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.redPigment), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockGrayWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(blockLightGrayWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockCyanWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockPurpleWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.purplePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockBlueWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.lazurite) }));
SynthesisRecipe.add(new SynthesisRecipe(blockGreenWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.greenPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockRedWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.redPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(blockBlackWool, false, COST_WOOL, new PotionChemical[] { this.molecule(MoleculeEnum.glycine, 2), this.molecule(MoleculeEnum.blackPigment) }));
// Wool carpet
ItemStack carpetBlockWool = new ItemStack(Blocks.carpet, 1, 0);
ItemStack carpetBlockOrangeWool = new ItemStack(Blocks.carpet, 1, 1);
ItemStack carpetBlockMagentaWool = new ItemStack(Blocks.carpet, 1, 2);
ItemStack carpetBlockLightBlueWool = new ItemStack(Blocks.carpet, 1, 3);
ItemStack carpetBlockYellowWool = new ItemStack(Blocks.carpet, 1, 4);
ItemStack carpetBlockLimeWool = new ItemStack(Blocks.carpet, 1, 5);
ItemStack carpetBlockPinkWool = new ItemStack(Blocks.carpet, 1, 6);
ItemStack carpetBlockGrayWool = new ItemStack(Blocks.carpet, 1, 7);
ItemStack carpetBlockLightGrayWool = new ItemStack(Blocks.carpet, 1, 8);
ItemStack carpetBlockCyanWool = new ItemStack(Blocks.carpet, 1, 9);
ItemStack carpetBlockPurpleWool = new ItemStack(Blocks.carpet, 1, 10);
ItemStack carpetBlockBlueWool = new ItemStack(Blocks.carpet, 1, 11);
ItemStack carpetBlockBrownWool = new ItemStack(Blocks.carpet, 1, 12);
ItemStack carpetBlockGreenWool = new ItemStack(Blocks.carpet, 1, 13);
ItemStack carpetBlockRedWool = new ItemStack(Blocks.carpet, 1, 14);
ItemStack carpetBlockBlackWool = new ItemStack(Blocks.carpet, 1, 15);
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockOrangeWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.orangePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockMagentaWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.redPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockLightBlueWool, 0.2F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lightbluePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockYellowWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.yellowPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockLimeWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.limePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockPinkWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.redPigment), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockGrayWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment, 2) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockLightGrayWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockCyanWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.whitePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockPurpleWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.purplePigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockBlueWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lazurite) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockBrownWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.tannicacid) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockGreenWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.greenPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockRedWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.redPigment) }));
DecomposerRecipe.add(new DecomposerRecipeChance(carpetBlockBlackWool, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.blackPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockOrangeWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.orangePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockMagentaWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.redPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockLightBlueWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lightbluePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockYellowWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.yellowPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockLimeWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.limePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockPinkWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.redPigment), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockGrayWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockLightGrayWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.whitePigment), this.molecule(MoleculeEnum.blackPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockCyanWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lightbluePigment), this.molecule(MoleculeEnum.whitePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockPurpleWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.purplePigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockBlueWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.lazurite) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockGreenWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.greenPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockRedWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.redPigment) }));
SynthesisRecipe.add(new SynthesisRecipe(carpetBlockBlackWool, false, COST_CARPET, new PotionChemical[] { this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.blackPigment) }));
// Flowers
ItemStack blockYellowFlower = new ItemStack(Blocks.yellow_flower);
ItemStack blockPoppyFlower = new ItemStack(Blocks.red_flower, 1, 0);
ItemStack blockBlueOrchid = new ItemStack(Blocks.red_flower, 1, 1);
ItemStack blockAllium = new ItemStack(Blocks.red_flower, 1, 2);
ItemStack blockAsureBluet = new ItemStack(Blocks.red_flower, 1, 3);
ItemStack blockRedTulip = new ItemStack(Blocks.red_flower, 1, 4);
ItemStack blockOrangeTulip = new ItemStack(Blocks.red_flower, 1, 5);
ItemStack blockWhiteTulip = new ItemStack(Blocks.red_flower, 1, 6);
ItemStack blockPinkTulip = new ItemStack(Blocks.red_flower, 1, 7);
ItemStack blockOxeyeDaisy = new ItemStack(Blocks.red_flower, 1, 8);
DecomposerRecipe.add(new DecomposerRecipeChance(blockYellowFlower, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.yellowPigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockPoppyFlower, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.redPigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockBlueOrchid, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), this.molecule(MoleculeEnum.lazurite) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAllium, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.purplePigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockAsureBluet, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.whitePigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockRedTulip, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.redPigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockOrangeTulip, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.orangePigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockWhiteTulip, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.whitePigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockPinkTulip, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.whitePigment, 1), new Molecule(MoleculeEnum.redPigment, 1) }));
DecomposerRecipe.add(new DecomposerRecipeChance(blockOxeyeDaisy, 0.3F, new PotionChemical[] { new Molecule(MoleculeEnum.shikimicAcid, 2), new Molecule(MoleculeEnum.whitePigment, 1) }));
// Mushrooms
ItemStack blockMushroomBrown = new ItemStack(Blocks.brown_mushroom);
ItemStack blockMushroomRed = new ItemStack(Blocks.red_mushroom);
if (Settings.recreationalChemicalEffects) {
DecomposerRecipe.add(new DecomposerRecipe(blockMushroomBrown, new PotionChemical[] { this.molecule(MoleculeEnum.psilocybin), this.molecule(MoleculeEnum.water, 2) }));
}
DecomposerRecipe.add(new DecomposerRecipe(blockMushroomRed, new PotionChemical[] { this.molecule(MoleculeEnum.pantherine), this.molecule(MoleculeEnum.water, 2) }));
// Block of Gold
DecomposerRecipe.add(new DecomposerRecipe(new ItemStack(Blocks.gold_block), new PotionChemical[] { this.element(ElementEnum.Au, 144) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.gold_block), true, COST_METALBLOCK, new PotionChemical[] { this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16), this.element(ElementEnum.Au, 16) }));
// Block of Iron
DecomposerRecipe.add(new DecomposerRecipe(new ItemStack(Blocks.iron_block), new PotionChemical[] { this.element(ElementEnum.Fe, 144) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.iron_block), true, COST_METALBLOCK, new PotionChemical[] { this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16), this.element(ElementEnum.Fe, 16) }));
// TNT
ItemStack blockTnt = new ItemStack(Blocks.tnt);
DecomposerRecipe.add(new DecomposerRecipe(blockTnt, new PotionChemical[] { this.molecule(MoleculeEnum.tnt) }));
SynthesisRecipe.add(new SynthesisRecipe(blockTnt, false, COST_OBSIDIAN, new PotionChemical[] { this.molecule(MoleculeEnum.tnt) }));
// Obsidian
ItemStack blockObsidian = new ItemStack(Blocks.obsidian);
DecomposerRecipe.add(new DecomposerRecipe(blockObsidian, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 16), this.molecule(MoleculeEnum.magnesiumOxide, 8) }));
SynthesisRecipe.add(new SynthesisRecipe(blockObsidian, true, COST_OBSIDIAN, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 4), this.molecule(MoleculeEnum.siliconDioxide, 4), this.molecule(MoleculeEnum.siliconDioxide, 4), this.molecule(MoleculeEnum.magnesiumOxide, 2), null, this.molecule(MoleculeEnum.siliconDioxide, 4), this.molecule(MoleculeEnum.magnesiumOxide, 2), this.molecule(MoleculeEnum.magnesiumOxide, 2), this.molecule(MoleculeEnum.magnesiumOxide, 2) }));
// Diamond Ore
ItemStack blockOreDiamond = new ItemStack(Blocks.diamond_ore);
DecomposerRecipe.add(new DecomposerRecipe(blockOreDiamond, new PotionChemical[] { this.molecule(MoleculeEnum.fullrene, 6) }));
// Block of Diamond
ItemStack blockDiamond = new ItemStack(Blocks.diamond_block);
DecomposerRecipe.add(new DecomposerRecipe(blockDiamond, new PotionChemical[] { this.molecule(MoleculeEnum.fullrene, 27) }));
SynthesisRecipe.add(new SynthesisRecipe(blockDiamond, true, COST_GEMBLOCK, new PotionChemical[] { this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3), this.molecule(MoleculeEnum.fullrene, 3) }));
// Pressure Plate
ItemStack blockPressurePlatePlanks = new ItemStack(Blocks.wooden_pressure_plate);
DecomposerRecipe.add(new DecomposerRecipeChance(blockPressurePlatePlanks, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 4) }));
// Redstone Ore
ItemStack blockOreRedstone = new ItemStack(Blocks.redstone_ore);
DecomposerRecipe.add(new DecomposerRecipeChance(blockOreRedstone, 0.8F, new PotionChemical[] { this.molecule(MoleculeEnum.iron3oxide, 9), this.element(ElementEnum.Cu, 9) }));
// Cactus
ItemStack blockCactus = new ItemStack(Blocks.cactus);
DecomposerRecipe.add(new DecomposerRecipe(blockCactus, new PotionChemical[] { this.molecule(MoleculeEnum.mescaline), this.molecule(MoleculeEnum.water, 20) }));
SynthesisRecipe.add(new SynthesisRecipe(blockCactus, true, COST_PLANT, new PotionChemical[] { this.molecule(MoleculeEnum.water, 5), null, this.molecule(MoleculeEnum.water, 5), null, this.molecule(MoleculeEnum.mescaline), null, this.molecule(MoleculeEnum.water, 5), null, this.molecule(MoleculeEnum.water, 5) }));
// Pumpkin
ItemStack blockPumpkin = new ItemStack(Blocks.pumpkin);
DecomposerRecipe.add(new DecomposerRecipe(blockPumpkin, new PotionChemical[] { this.molecule(MoleculeEnum.cucurbitacin) }));
SynthesisRecipe.add(new SynthesisRecipe(blockPumpkin, false, COST_PLANT, new PotionChemical[] { this.molecule(MoleculeEnum.cucurbitacin) }));
// Pumpkin seed
ItemStack pumpkinSeed = new ItemStack(Items.pumpkin_seeds);
DecomposerRecipe.add(new DecomposerRecipe(blockPumpkin, new PotionChemical[] { this.molecule(MoleculeEnum.water) }));
SynthesisRecipe.add(new SynthesisRecipe(blockPumpkin, false, COST_PLANT, new PotionChemical[] { this.molecule(MoleculeEnum.cucurbitacin) }));
// Netherrack
ItemStack blockNetherrack = new ItemStack(Blocks.netherrack);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockNetherrack, 0.1F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.O), this.element(ElementEnum.Fe) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.Ni), this.element(ElementEnum.Tc) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 3), this.element(ElementEnum.Ti), this.element(ElementEnum.Fe) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 1), this.element(ElementEnum.W, 4), this.element(ElementEnum.Cr, 2) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 10), this.element(ElementEnum.W, 1), this.element(ElementEnum.Zn, 8), this.element(ElementEnum.Be, 4) }) }));
// Nether Brick
ItemStack itemNetherbrick = new ItemStack(Items.netherbrick);
DecomposerRecipe.add(new DecomposerRecipeSelect(itemNetherbrick, 0.15F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.C), this.element(ElementEnum.Fe) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.Ni), this.element(ElementEnum.Tc) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 3), this.element(ElementEnum.Ti), this.element(ElementEnum.Fe) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 1), this.element(ElementEnum.W, 4), this.element(ElementEnum.Cr, 2) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 10), this.element(ElementEnum.W, 1), this.element(ElementEnum.Zn, 8), this.element(ElementEnum.Be, 4) }) }));
SynthesisRecipe.add(new SynthesisRecipe(itemNetherbrick, true, COST_SMOOTH, new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.Si, 2), null, this.element(ElementEnum.Zn, 2), this.element(ElementEnum.W, 1), null, this.element(ElementEnum.Be, 2), this.element(ElementEnum.Be, 2), null }));
// Water Bottle
ItemStack itemPotion = new ItemStack(Items.potionitem, 1, 0);
DecomposerRecipe.add(new DecomposerRecipe(itemPotion, new PotionChemical[] { this.molecule(MoleculeEnum.water, 5), this.molecule(MoleculeEnum.siliconDioxide, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(itemPotion, true, COST_ITEM, new PotionChemical[] { null, this.molecule(MoleculeEnum.siliconDioxide, 4), null, this.molecule(MoleculeEnum.siliconDioxide, 4), this.molecule(MoleculeEnum.water, 5), this.molecule(MoleculeEnum.siliconDioxide, 4), null, this.molecule(MoleculeEnum.siliconDioxide, 4), null }));
// Ice Block
ItemStack blockIce = new ItemStack(Blocks.ice);
DecomposerRecipe.add(new DecomposerRecipe(blockIce, new PotionChemical[] { this.molecule(MoleculeEnum.water, 8) }));
// Soul Sand
ItemStack blockSlowSand = new ItemStack(Blocks.soul_sand);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockSlowSand, 0.2F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb, 3), this.element(ElementEnum.Be, 1), this.element(ElementEnum.Si, 2), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pb, 1), this.element(ElementEnum.Si, 5), this.element(ElementEnum.O, 2) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.O) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 6), this.element(ElementEnum.O, 2) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Es, 1), this.element(ElementEnum.O, 2) }) }));
// Glowstone
ItemStack blockGlowStone = new ItemStack(Blocks.glowstone);
DecomposerRecipe.add(new DecomposerRecipe(blockGlowStone, new PotionChemical[] { this.element(ElementEnum.P, 4) }));
SynthesisRecipe.add(new SynthesisRecipe(blockGlowStone, true, COST_GLOWBLOCK, new PotionChemical[] { this.element(ElementEnum.P), null, this.element(ElementEnum.P), this.element(ElementEnum.P), null, this.element(ElementEnum.P), null, null, null }));
// Mycelium
ItemStack blockMycelium = new ItemStack(Blocks.mycelium);
DecomposerRecipe.add(new DecomposerRecipeChance(blockMycelium, 0.09F, new PotionChemical[] { this.molecule(MoleculeEnum.fingolimod) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.mycelium, 16), false, COST_GRASS, new PotionChemical[] { this.molecule(MoleculeEnum.fingolimod) }));
// End Stone
ItemStack blockWhiteStone = new ItemStack(Blocks.end_stone);
DecomposerRecipe.add(new DecomposerRecipeSelect(blockWhiteStone, 0.8F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.O), this.element(ElementEnum.H, 4), this.element(ElementEnum.Li) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Es) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Pu) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fr) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Nd) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Si, 2), this.element(ElementEnum.O, 4) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.H, 4) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Be, 8) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Li, 2) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Zr) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Na) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Rb) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Ga), this.element(ElementEnum.As) }) }));
// Emerald Ore
ItemStack blockOreEmerald = new ItemStack(Blocks.emerald_ore);
DecomposerRecipe.add(new DecomposerRecipe(blockOreEmerald, new PotionChemical[] { this.molecule(MoleculeEnum.beryl, 6), this.element(ElementEnum.Cr, 6), this.element(ElementEnum.V, 6) }));
// Emerald Block
ItemStack blockEmerald = new ItemStack(Blocks.emerald_block);
SynthesisRecipe.add(new SynthesisRecipe(blockEmerald, true, COST_GEMBLOCK, new PotionChemical[] { this.element(ElementEnum.Cr, 3), this.element(ElementEnum.Cr, 3), this.element(ElementEnum.Cr, 3), this.element(ElementEnum.V, 9), this.molecule(MoleculeEnum.beryl, 18), this.element(ElementEnum.V, 9), this.element(ElementEnum.Cr, 3), this.element(ElementEnum.Cr, 3), this.element(ElementEnum.Cr, 3) }));
DecomposerRecipe.add(new DecomposerRecipe(blockEmerald, new PotionChemical[] { this.molecule(MoleculeEnum.beryl, 18), this.element(ElementEnum.Cr, 18), this.element(ElementEnum.V, 18) }));
// Section 2 - Items
// Apple
ItemStack itemAppleRed = new ItemStack(Items.apple);
DecomposerRecipe.add(new DecomposerRecipe(itemAppleRed, new PotionChemical[] { this.molecule(MoleculeEnum.malicAcid) }));
SynthesisRecipe.add(new SynthesisRecipe(itemAppleRed, false, COST_FOOD, new PotionChemical[] { this.molecule(MoleculeEnum.malicAcid), this.molecule(MoleculeEnum.water, 2) }));
// Arrow
ItemStack itemArrow = new ItemStack(Items.arrow);
DecomposerRecipe.add(new DecomposerRecipe(itemArrow, new PotionChemical[] { this.element(ElementEnum.Si), this.element(ElementEnum.O, 2), this.element(ElementEnum.N, 6) }));
// Coal
ItemStack itemCoal = new ItemStack(Items.coal);
DecomposerRecipe.add(new DecomposerRecipeChance(itemCoal, 0.92F, new PotionChemical[] { this.element(ElementEnum.C, 8) }));
// Coal Block
ItemStack blockCoal = new ItemStack(Blocks.coal_block);
DecomposerRecipe.add(new DecomposerRecipeChance(blockCoal, 0.82F, new PotionChemical[] { this.element(ElementEnum.C, 72) }));
// Charcoal
ItemStack itemChar = new ItemStack(Items.coal, 1, 1);
DecomposerRecipe.add(new DecomposerRecipeChance(itemChar, 0.82F, new PotionChemical[] { this.element(ElementEnum.C, 8) }));
SynthesisRecipe.add(new SynthesisRecipe(itemChar, false, COST_ITEM, new PotionChemical[] { this.element(ElementEnum.C, 4), this.element(ElementEnum.C, 4) }));
// Diamond
ItemStack itemDiamond = new ItemStack(Items.diamond);
DecomposerRecipe.add(new DecomposerRecipe(itemDiamond, new PotionChemical[] { this.molecule(MoleculeEnum.fullrene, 3) }));
SynthesisRecipe.add(new SynthesisRecipe(itemDiamond, true, COST_GEM, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.fullrene, 3), null, null, null, null }));
// Polytool
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(MinechemItemsRegistration.polytool), true, COST_STAR, new PotionChemical[] { null, this.molecule(MoleculeEnum.fullrene, 64), null, this.molecule(MoleculeEnum.fullrene, 64), null, this.molecule(MoleculeEnum.fullrene, 64), null, this.molecule(MoleculeEnum.fullrene, 64), null }));
SynthesisRecipe.add(new SynthesisRecipe(itemDiamond, true, COST_GEM, new PotionChemical[] { null, this.molecule(MoleculeEnum.fullrene), null, this.molecule(MoleculeEnum.fullrene), null, this.molecule(MoleculeEnum.fullrene), null, this.molecule(MoleculeEnum.fullrene), null }));
// Iron Ingot
ItemStack itemIngotIron = new ItemStack(Items.iron_ingot);
DecomposerRecipe.add(new DecomposerRecipe(itemIngotIron, new PotionChemical[] { this.element(ElementEnum.Fe, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(itemIngotIron, false, COST_INGOT, new PotionChemical[] { this.element(ElementEnum.Fe, 16) }));
// Gold Ingot
ItemStack itemIngotGold = new ItemStack(Items.gold_ingot);
DecomposerRecipe.add(new DecomposerRecipe(itemIngotGold, new PotionChemical[] { this.element(ElementEnum.Au, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(itemIngotGold, false, COST_INGOT, new PotionChemical[] { this.element(ElementEnum.Au, 16) }));
// Stick
ItemStack itemStick = new ItemStack(Items.stick);
DecomposerRecipe.add(new DecomposerRecipeChance(itemStick, 0.3F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
// String
ItemStack itemString = new ItemStack(Items.string);
DecomposerRecipe.add(new DecomposerRecipeChance(itemString, 0.45F, new PotionChemical[] { this.molecule(MoleculeEnum.serine), this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.alinine) }));
SynthesisRecipe.add(new SynthesisRecipe(itemString, true, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.serine), this.molecule(MoleculeEnum.glycine), this.molecule(MoleculeEnum.alinine) }));
// Feather
ItemStack itemFeather = new ItemStack(Items.feather);
DecomposerRecipe.add(new DecomposerRecipe(itemFeather, new PotionChemical[] { this.molecule(MoleculeEnum.water, 8), this.element(ElementEnum.N, 6) }));
SynthesisRecipe.add(new SynthesisRecipe(itemFeather, true, COST_ITEM, new PotionChemical[] { this.element(ElementEnum.N), this.molecule(MoleculeEnum.water, 2), this.element(ElementEnum.N), this.element(ElementEnum.N), this.molecule(MoleculeEnum.water, 1), this.element(ElementEnum.N), this.element(ElementEnum.N), this.molecule(MoleculeEnum.water, 5), this.element(ElementEnum.N) }));
// Gunpowder
ItemStack itemGunpowder = new ItemStack(Items.gunpowder);
DecomposerRecipe.add(new DecomposerRecipe(itemGunpowder, new PotionChemical[] { this.molecule(MoleculeEnum.potassiumNitrate), this.element(ElementEnum.S, 2), this.element(ElementEnum.C) }));
SynthesisRecipe.add(new SynthesisRecipe(itemGunpowder, true, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.potassiumNitrate), this.element(ElementEnum.C), null, this.element(ElementEnum.S, 2), null, null, null, null, null }));
// Bread
ItemStack itemBread = new ItemStack(Items.bread);
DecomposerRecipe.add(new DecomposerRecipeChance(itemBread, 0.1F, new PotionChemical[] { this.molecule(MoleculeEnum.starch), this.molecule(MoleculeEnum.sucrose) }));
// Flint
ItemStack itemFlint = new ItemStack(Items.flint);
DecomposerRecipe.add(new DecomposerRecipeChance(itemFlint, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide) }));
SynthesisRecipe.add(new SynthesisRecipe(itemFlint, true, COST_ITEM, new PotionChemical[] { null, moleculeSiliconDioxide, null, moleculeSiliconDioxide, moleculeSiliconDioxide, moleculeSiliconDioxide, null, null, null }));
// Golden Apple
ItemStack itemAppleGold = new ItemStack(Items.golden_apple, 1, 0);
DecomposerRecipe.add(new DecomposerRecipe(itemAppleGold, new PotionChemical[] { this.molecule(MoleculeEnum.malicAcid), this.element(ElementEnum.Au, 64) }));
// Wooden Door
ItemStack itemDoorWood = new ItemStack(Items.wooden_door);
DecomposerRecipe.add(new DecomposerRecipeChance(itemDoorWood, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 12) }));
// Bucket
ItemStack itemBucket = new ItemStack(Items.bucket);
DecomposerRecipe.add(new DecomposerRecipe(itemBucket, this.element(ElementEnum.Fe, 48)));
SynthesisRecipe.add(new SynthesisRecipe(itemBucket, true, COST_FOOD, new PotionChemical[] { null, null, null, this.element(ElementEnum.Fe, 16), null, this.element(ElementEnum.Fe, 16), null, this.element(ElementEnum.Fe, 16), null }));
// Water Bucket
ItemStack itemBucketWater = new ItemStack(Items.water_bucket);
DecomposerRecipe.add(new DecomposerRecipe(itemBucketWater, new PotionChemical[] { this.molecule(MoleculeEnum.water, 16), this.element(ElementEnum.Fe, 48) }));
SynthesisRecipe.add(new SynthesisRecipe(itemBucketWater, true, COST_FOOD, new PotionChemical[] { null, null, null, this.element(ElementEnum.Fe, 16), this.molecule(MoleculeEnum.water, 16), this.element(ElementEnum.Fe, 16), null, this.element(ElementEnum.Fe, 16), null }));
// Redstone
ItemStack itemRedstone = new ItemStack(Items.redstone);
DecomposerRecipe.add(new DecomposerRecipeChance(itemRedstone, 0.42F, new PotionChemical[] { this.molecule(MoleculeEnum.iron3oxide), this.element(ElementEnum.Cu) }));
SynthesisRecipe.add(new SynthesisRecipe(itemRedstone, true, COST_LAPIS, new PotionChemical[] { null, null, this.molecule(MoleculeEnum.iron3oxide), null, this.element(ElementEnum.Cu), null, null, null, null }));
// Redstone Block
ItemStack blockRedstone = new ItemStack(Blocks.redstone_block);
DecomposerRecipe.add(new DecomposerRecipeChance(blockRedstone, 0.42F, new PotionChemical[] { this.molecule(MoleculeEnum.iron3oxide, 9), this.element(ElementEnum.Cu, 9) }));
SynthesisRecipe.add(new SynthesisRecipe(blockRedstone, true, COST_LAPISBLOCK, new PotionChemical[] { null, null, this.molecule(MoleculeEnum.iron3oxide, 9), null, this.element(ElementEnum.Cu, 9), null, null, null, null }));
// Snowball
ItemStack itemSnowball = new ItemStack(Items.snowball);
DecomposerRecipe.add(new DecomposerRecipe(itemSnowball, new PotionChemical[] { this.molecule(MoleculeEnum.water) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Items.snowball, 5), true, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.water), null, this.molecule(MoleculeEnum.water), null, this.molecule(MoleculeEnum.water), null, this.molecule(MoleculeEnum.water), null, this.molecule(MoleculeEnum.water) }));
// Leather
ItemStack itemLeather = new ItemStack(Items.leather);
DecomposerRecipe.add(new DecomposerRecipeChance(itemLeather, 0.2F, new PotionChemical[] { this.molecule(MoleculeEnum.keratin) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Items.leather, 5), true, COST_ITEM, new PotionChemical[] { null, null, null, null, this.molecule(MoleculeEnum.keratin), null, null, null, null }));
// Brick
ItemStack itemBrick = new ItemStack(Items.brick);
DecomposerRecipe.add(new DecomposerRecipeChance(itemBrick, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.kaolinite) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Items.brick, 8), true, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.kaolinite), this.molecule(MoleculeEnum.kaolinite), null, this.molecule(MoleculeEnum.kaolinite), this.molecule(MoleculeEnum.kaolinite), null }));
// Clay
ItemStack itemClayBall = new ItemStack(Items.clay_ball);
DecomposerRecipe.add(new DecomposerRecipeChance(itemClayBall, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.kaolinite) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Items.clay_ball, 2), false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.kaolinite) }));
// Reed
ItemStack itemReed = new ItemStack(Items.reeds);
DecomposerRecipe.add(new DecomposerRecipeChance(itemReed, 0.65F, new PotionChemical[] { this.molecule(MoleculeEnum.sucrose), this.element(ElementEnum.H, 2), this.element(ElementEnum.O) }));
// Vines
ItemStack itemVine = new ItemStack(Blocks.vine);
DecomposerRecipe.add(new DecomposerRecipe(itemVine, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 6) }));
SynthesisRecipe.add(new SynthesisRecipe(itemVine, true, COST_GRASS, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose), this.molecule(MoleculeEnum.cellulose), null, this.molecule(MoleculeEnum.cellulose) }));
// Paper
ItemStack itemPaper = new ItemStack(Items.paper);
DecomposerRecipe.add(new DecomposerRecipeChance(itemPaper, 0.35F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Items.paper, 8), true, COST_ITEM, new PotionChemical[] { null, this.molecule(MoleculeEnum.cellulose), null, null, this.molecule(MoleculeEnum.cellulose), null, null, this.molecule(MoleculeEnum.cellulose), null }));
// Compass
ItemStack itemCompass = new ItemStack(Items.compass);
DecomposerRecipe.add(new DecomposerRecipeSelect(itemCompass, 1.0F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe, 64) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe, 64), this.molecule(MoleculeEnum.iron3oxide) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe, 64), this.molecule(MoleculeEnum.iron3oxide), this.element(ElementEnum.Cu) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Fe, 64), this.element(ElementEnum.Cu) }) }));
// Map
ItemStack itemMap = new ItemStack(Items.map);
DecomposerRecipe.add(new DecomposerRecipeSuper(itemMap, new ItemStack[] { itemPaper, itemPaper, itemPaper, itemPaper, itemPaper, itemPaper, itemPaper, itemPaper, itemCompass }));
// Book
ItemStack itemBook = new ItemStack(Items.book);
DecomposerRecipe.add(new DecomposerRecipeSuper(itemBook, new ItemStack[] { itemPaper, itemPaper, itemPaper, itemLeather }));
// Bookshelf
ItemStack blockBook = new ItemStack(Blocks.bookshelf);
DecomposerRecipe.add(new DecomposerRecipeSuper(blockBook, new ItemStack[] { blockBirchWoodPlanks, blockBirchWoodPlanks, blockBirchWoodPlanks, itemBook, itemBook, itemBook, blockBirchWoodPlanks, blockBirchWoodPlanks, blockBirchWoodPlanks }));
// Slimeball
ItemStack itemSlimeBall = new ItemStack(Items.slime_ball);
DecomposerRecipe.add(new DecomposerRecipeSelect(itemSlimeBall, 0.9F, new DecomposerRecipe[] { new DecomposerRecipe(new PotionChemical[] { this.molecule(MoleculeEnum.pmma) }), new DecomposerRecipe(new PotionChemical[] { this.element(ElementEnum.Hg) }), new DecomposerRecipe(new PotionChemical[] { this.molecule(MoleculeEnum.water, 10) }) }));
// Glowstone Dust
ItemStack itemGlowstone = new ItemStack(Items.glowstone_dust);
DecomposerRecipe.add(new DecomposerRecipe(itemGlowstone, new PotionChemical[] { this.element(ElementEnum.P) }));
// Bone
ItemStack itemBone = new ItemStack(Items.bone);
DecomposerRecipe.add(new DecomposerRecipe(itemBone, new PotionChemical[] { this.molecule(MoleculeEnum.hydroxylapatite) }));
SynthesisRecipe.add(new SynthesisRecipe(itemBone, false, COST_ITEM, new PotionChemical[] { this.molecule(MoleculeEnum.hydroxylapatite) }));
// Sugar
ItemStack itemSugar = new ItemStack(Items.sugar);
DecomposerRecipe.add(new DecomposerRecipeChance(itemSugar, 0.75F, new PotionChemical[] { this.molecule(MoleculeEnum.sucrose) }));
SynthesisRecipe.add(new SynthesisRecipe(itemSugar, false, COST_SUGAR, new PotionChemical[] { this.molecule(MoleculeEnum.sucrose) }));
// Melon Slice
ItemStack itemMelon = new ItemStack(Items.melon);
DecomposerRecipe.add(new DecomposerRecipe(itemMelon, new PotionChemical[] { this.molecule(MoleculeEnum.water, 1) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Items.melon), false, COST_FOOD, new PotionChemical[] { this.molecule(MoleculeEnum.cucurbitacin), this.molecule(MoleculeEnum.asparticAcid), this.molecule(MoleculeEnum.water, 1) }));
// Melon
ItemStack blockMelon = new ItemStack(Blocks.melon_block);
DecomposerRecipe.add(new DecomposerRecipe(blockMelon, new PotionChemical[] { this.molecule(MoleculeEnum.cucurbitacin), this.molecule(MoleculeEnum.asparticAcid), this.molecule(MoleculeEnum.water, 16) }));
SynthesisRecipe.add(new SynthesisRecipe(new ItemStack(Blocks.melon_block, 1), false, COST_FOOD, new PotionChemical[] { this.molecule(MoleculeEnum.cucurbitacin), this.molecule(MoleculeEnum.asparticAcid), this.molecule(MoleculeEnum.water, 16) }));
// Cooked Chicken
ItemStack itemChickenCooked = new ItemStack(Items.cooked_chicken);
DecomposerRecipe.add(new DecomposerRecipe(itemChickenCooked, new PotionChemical[] { this.element(ElementEnum.K), this.element(ElementEnum.Na), this.element(ElementEnum.C, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(itemChickenCooked, true, COST_FOOD, new PotionChemical[] { this.element(ElementEnum.K, 16), this.element(ElementEnum.Na, 16), this.element(ElementEnum.C, 16) }));
// Rotten Flesh
ItemStack itemRottenFlesh = new ItemStack(Items.rotten_flesh);
DecomposerRecipe.add(new DecomposerRecipeChance(itemRottenFlesh, 0.05F, new PotionChemical[] { new Molecule(MoleculeEnum.nodularin, 1) }));
// Enderpearl
ItemStack itemEnderPearl = new ItemStack(Items.ender_pearl);
DecomposerRecipe.add(new DecomposerRecipe(itemEnderPearl, new PotionChemical[] { this.element(ElementEnum.Es), this.molecule(MoleculeEnum.calciumCarbonate, 8) }));
SynthesisRecipe.add(new SynthesisRecipe(itemEnderPearl, true, COST_TEAR, new PotionChemical[] { this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.calciumCarbonate), this.element(ElementEnum.Es), this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.calciumCarbonate), this.molecule(MoleculeEnum.calciumCarbonate) }));
// EnderDragon Egg
ItemStack blockEnderDragonEgg = new ItemStack(Blocks.dragon_egg);
DecomposerRecipe.add(new DecomposerRecipe(blockEnderDragonEgg, new PotionChemical[] { this.molecule(MoleculeEnum.calciumCarbonate, 16), this.molecule(MoleculeEnum.hydroxylapatite, 6), this.element(ElementEnum.Pu, 18), this.element(ElementEnum.Fm, 8) }));
SynthesisRecipe.add(new SynthesisRecipe(blockEnderDragonEgg, true, COST_BLOCK * 2, new PotionChemical[] { this.molecule(MoleculeEnum.calciumCarbonate, 18), this.molecule(MoleculeEnum.hydroxylapatite, 8), this.element(ElementEnum.Pu, 22), this.element(ElementEnum.Fm, 12) }));
// Blaze Rod
ItemStack itemBlazeRod = new ItemStack(Items.blaze_rod);
DecomposerRecipe.add(new DecomposerRecipe(itemBlazeRod, new PotionChemical[] { this.element(ElementEnum.Pu, 6) }));
SynthesisRecipe.add(new SynthesisRecipe(itemBlazeRod, true, COST_TEAR, new PotionChemical[] { this.element(ElementEnum.Pu, 2), null, null, this.element(ElementEnum.Pu, 2), null, null, this.element(ElementEnum.Pu, 2), null, null }));
// Blaze Powder
ItemStack itemBlazePowder = new ItemStack(Items.blaze_powder);
DecomposerRecipe.add(new DecomposerRecipe(itemBlazePowder, new PotionChemical[] { this.element(ElementEnum.Pu) }));
// Ghast Tear
ItemStack itemGhastTear = new ItemStack(Items.ghast_tear);
DecomposerRecipe.add(new DecomposerRecipe(itemGhastTear, new PotionChemical[] { this.element(ElementEnum.Yb, 4), this.element(ElementEnum.No, 4) }));
SynthesisRecipe.add(new SynthesisRecipe(itemGhastTear, true, COST_TEAR, new PotionChemical[] { this.element(ElementEnum.Yb), this.element(ElementEnum.Yb), this.element(ElementEnum.No), null, this.element(ElementEnum.Yb, 2), this.element(ElementEnum.No, 2), null, this.element(ElementEnum.No), null }));
if (Settings.recreationalChemicalEffects) {
// Nether Wart
ItemStack itemNetherStalkSeeds = new ItemStack(Items.nether_wart);
DecomposerRecipe.add(new DecomposerRecipeChance(itemNetherStalkSeeds, 0.5F, new PotionChemical[] { this.molecule(MoleculeEnum.cocainehcl) }));
}
// Spider Eye
ItemStack itemSpiderEye = new ItemStack(Items.spider_eye);
DecomposerRecipe.add(new DecomposerRecipeChance(itemSpiderEye, 0.2F, new PotionChemical[] { this.molecule(MoleculeEnum.tetrodotoxin) }));
SynthesisRecipe.add(new SynthesisRecipe(itemSpiderEye, true, COST_ITEM, new PotionChemical[] { this.element(ElementEnum.C), null, null, null, this.molecule(MoleculeEnum.tetrodotoxin), null, null, null, this.element(ElementEnum.C) }));
// Fermented Spider Eye
ItemStack itemFermentedSpiderEye = new ItemStack(Items.fermented_spider_eye);
DecomposerRecipe.add(new DecomposerRecipe(itemFermentedSpiderEye, new PotionChemical[] { this.element(ElementEnum.Po), this.molecule(MoleculeEnum.ethanol) }));
// Magma Cream
ItemStack itemMagmaCream = new ItemStack(Items.magma_cream);
DecomposerRecipe.add(new DecomposerRecipe(itemMagmaCream, new PotionChemical[] { this.element(ElementEnum.Hg), this.element(ElementEnum.Pu), this.molecule(MoleculeEnum.pmma, 3) }));
SynthesisRecipe.add(new SynthesisRecipe(itemMagmaCream, true, COST_TEAR, new PotionChemical[] { null, this.element(ElementEnum.Pu), null, this.molecule(MoleculeEnum.pmma), this.element(ElementEnum.Hg), this.molecule(MoleculeEnum.pmma), null, this.molecule(MoleculeEnum.pmma), null }));
// Glistering Melon
ItemStack itemSpeckledMelon = new ItemStack(Items.speckled_melon);
DecomposerRecipe.add(new DecomposerRecipe(itemSpeckledMelon, new PotionChemical[] { this.molecule(MoleculeEnum.water, 4), this.molecule(MoleculeEnum.whitePigment), this.element(ElementEnum.Au, 1) }));
// Emerald
ItemStack itemEmerald = new ItemStack(Items.emerald);
DecomposerRecipe.add(new DecomposerRecipe(itemEmerald, new PotionChemical[] { this.molecule(MoleculeEnum.beryl, 2), this.element(ElementEnum.Cr, 2), this.element(ElementEnum.V, 2) }));
SynthesisRecipe.add(new SynthesisRecipe(itemEmerald, true, 5000, new PotionChemical[] { null, this.element(ElementEnum.Cr), null, this.element(ElementEnum.V), this.molecule(MoleculeEnum.beryl, 2), this.element(ElementEnum.V), null, this.element(ElementEnum.Cr), null }));
// Wheat
ItemStack itemWheat = new ItemStack(Items.wheat);
DecomposerRecipe.add(new DecomposerRecipeChance(itemWheat, 0.3F, new PotionChemical[] { this.molecule(MoleculeEnum.cellulose, 2) }));
// Carrot
ItemStack itemCarrot = new ItemStack(Items.carrot);
DecomposerRecipe.add(new DecomposerRecipe(itemCarrot, new PotionChemical[] { this.molecule(MoleculeEnum.retinol) }));
// Potato
ItemStack itemPotato = new ItemStack(Items.potato);
DecomposerRecipe.add(new DecomposerRecipeChance(itemPotato, 0.4F, new PotionChemical[] { this.molecule(MoleculeEnum.water, 8), this.element(ElementEnum.K, 2), this.molecule(MoleculeEnum.cellulose) }));
// Golden Carrot
ItemStack itemGoldenCarrot = new ItemStack(Items.golden_carrot);
DecomposerRecipe.add(new DecomposerRecipe(itemGoldenCarrot, new PotionChemical[] { this.molecule(MoleculeEnum.retinol), this.element(ElementEnum.Au, 4) }));
// Nether Star
ItemStack itemNetherStar = new ItemStack(Items.nether_star);
DecomposerRecipe.add(new DecomposerRecipe(itemNetherStar, new PotionChemical[] { elementHelium, elementHelium, elementHelium, elementCarbon, this.element(ElementEnum.Cn, 16), elementHelium, elementHydrogen, elementHydrogen, elementHydrogen }));
SynthesisRecipe.add(new SynthesisRecipe(itemNetherStar, true, COST_STAR, new PotionChemical[] { elementHelium, elementHelium, elementHelium, elementCarbon, this.element(ElementEnum.Cn, 16), elementHelium, elementHydrogen, elementHydrogen, elementHydrogen }));
// Nether Quartz
ItemStack itemNetherQuartz = new ItemStack(Items.quartz);
DecomposerRecipe.add(new DecomposerRecipe(itemNetherQuartz, new PotionChemical[] { this.molecule(MoleculeEnum.siliconDioxide, 4), this.molecule(MoleculeEnum.galliumarsenide, 1) }));
// Music Records
ItemStack itemRecord13 = new ItemStack(Items.record_13);
ItemStack itemRecordCat = new ItemStack(Items.record_cat);
ItemStack itemRecordFar = new ItemStack(Items.record_far);
ItemStack itemRecordMall = new ItemStack(Items.record_mall);
ItemStack itemRecordMellohi = new ItemStack(Items.record_mellohi);
ItemStack itemRecordStal = new ItemStack(Items.record_stal);
ItemStack itemRecordStrad = new ItemStack(Items.record_strad);
ItemStack itemRecordWard = new ItemStack(Items.record_ward);
ItemStack itemRecordChirp = new ItemStack(Items.record_chirp);
ItemStack itemRecord11 = new ItemStack(Items.record_11);
ItemStack itemRecordWait = new ItemStack(Items.record_wait);
ItemStack itemRecordBlocks = new ItemStack(Items.record_blocks);
DecomposerRecipe.add(new DecomposerRecipe(itemRecord13, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordCat, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordFar, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordMall, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordMellohi, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordStal, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordStrad, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordWard, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordChirp, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecord11, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordWait, moleculePolyvinylChloride, moleculePolyvinylChloride));
DecomposerRecipe.add(new DecomposerRecipe(itemRecordBlocks, moleculePolyvinylChloride, moleculePolyvinylChloride));
SynthesisRecipe.add(new SynthesisRecipe(itemRecord13, true, COST_GEM, new PotionChemical[] { moleculePolyvinylChloride, moleculePolyvinylChloride, null, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordCat, true, COST_GEM, new PotionChemical[] { null, moleculePolyvinylChloride, moleculePolyvinylChloride, null, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordFar, true, COST_GEM, new PotionChemical[] { null, null, moleculePolyvinylChloride, moleculePolyvinylChloride, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordMall, true, COST_GEM, new PotionChemical[] { null, null, null, moleculePolyvinylChloride, moleculePolyvinylChloride, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordMellohi, true, COST_GEM, new PotionChemical[] { null, null, null, null, moleculePolyvinylChloride, moleculePolyvinylChloride, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordStal, true, COST_GEM, new PotionChemical[] { null, null, null, null, null, moleculePolyvinylChloride, moleculePolyvinylChloride, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordStrad, true, COST_GEM, new PotionChemical[] { null, null, null, null, null, null, moleculePolyvinylChloride, moleculePolyvinylChloride, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordWard, true, COST_GEM, new PotionChemical[] { null, null, null, null, null, null, null, moleculePolyvinylChloride, moleculePolyvinylChloride }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordChirp, true, COST_GEM, new PotionChemical[] { moleculePolyvinylChloride, null, null, null, null, null, null, null, moleculePolyvinylChloride }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecord11, true, COST_GEM, new PotionChemical[] { moleculePolyvinylChloride, null, null, null, moleculePolyvinylChloride, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordWait, true, COST_GEM, new PotionChemical[] { moleculePolyvinylChloride, null, null, moleculePolyvinylChloride, null, null, null, null, null }));
SynthesisRecipe.add(new SynthesisRecipe(itemRecordBlocks, true, COST_GEM, new PotionChemical[] { moleculePolyvinylChloride, null, null, null, null, moleculePolyvinylChloride, null, null, null }));
// Ironbars
ItemStack bars = new ItemStack(Blocks.iron_bars);
DecomposerRecipe.add(new DecomposerRecipe(bars, new PotionChemical[] { element(ElementEnum.Fe, 3), element(ElementEnum.Fe, 3) }));
SynthesisRecipe.add(new SynthesisRecipe(bars, false, COST_BLOCK, new PotionChemical[] { element(ElementEnum.Fe, 3), element(ElementEnum.Fe, 3) }));
// Uranium Ore
DecomposerRecipe.createAndAddRecipeSafely("oreUranium", new Element(ElementEnum.U, 48));
}
use of minechem.potion.PotionChemical in project Minechem by iopleke.
the class ChemicalTurtlePeripheral method addLuaMethods.
@Optional.Method(modid = "ComputerCraft")
protected void addLuaMethods() {
methods.add(new LuaMethod("getMethods") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
String[] result = new String[methods.size()];
int i = 0;
for (LuaMethod method : methods) {
result[i++] = method.getMethodName() + method.getArgs();
}
return result;
} else {
throw new LuaException("getMethods does not take any arguments");
}
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Returns: List of Method Names and Arguments" };
}
});
methods.add(new LuaMethod("getDetails") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 1) {
String methodName = (String) args[0];
if (methodName != null) {
for (LuaMethod method : methods) {
if (method.getMethodName().equalsIgnoreCase(methodName)) {
return method.getDetails();
}
}
}
throw new LuaException("Invalid Method Name - do not include brackets");
} else {
throw new LuaException("getDetails takes a single argument");
}
}
@Override
public String getArgs() {
return "(Method Name)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Method Name - from getMethods()", "Returns: Details of arguments and results" };
}
});
methods.add(new LuaMethod("getChemicalName") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
String result = getName(turtle.getSelectedSlot());
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
String result = getName(slot);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
private String getName(int slot) {
ItemStack current = turtle.getInventory().getStackInSlot(slot);
if (Compare.isStackAnElement(current)) {
return current.getDisplayName();
} else if (Compare.isStackAMolecule(current)) {
return current.getDisplayName();
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Chemical name of stack in slot, or nil if not a chemical" };
}
});
methods.add(new LuaMethod("getChemicalFormula") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
String result = getChemicalFormula(turtle.getSelectedSlot());
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
String result = getChemicalFormula(slot);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
private String getChemicalFormula(int slot) {
ItemStack current = turtle.getInventory().getStackInSlot(slot);
if (Compare.isStackAnElement(current)) {
return ElementItem.getElement(current).name();
}
if (Compare.isStackAMolecule(current)) {
return MoleculeItem.getMolecule(current).getFormula();
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Chemical formula of stack in slot, or nil if not a chemical" };
}
});
methods.add(new LuaMethod("getChemicalsAsTable") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
HashMap<Number, Object> result = getChemicalsAsTable(turtle.getSelectedSlot());
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
HashMap<Number, Object> result = getChemicalsAsTable(slot);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
private HashMap<Number, Object> getChemicalsAsTable(int slot) {
ItemStack current = turtle.getInventory().getStackInSlot(slot);
HashMap<Number, Object> map = new HashMap<Number, Object>();
if (Compare.isStackAnElement(current)) {
HashMap<String, Object> chemMap = new HashMap<String, Object>();
chemMap.put("chemical", current.getDisplayName());
chemMap.put("quantity", 1);
map.put(1, chemMap);
return map;
}
if (Compare.isStackAMolecule(current)) {
MoleculeEnum molecule = MoleculeItem.getMolecule(current);
ArrayList<PotionChemical> chemicals = molecule.components();
for (int i = 0; i < chemicals.size(); i++) {
PotionChemical chemical = chemicals.get(i);
HashMap<String, Object> chemMap = new HashMap<String, Object>();
chemMap.put("chemical", MinechemUtil.getChemicalName(chemical));
chemMap.put("quantity", chemical.amount);
map.put(i + 1, chemMap);
}
return map;
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Chemical formula of stack in slot as a table, or nil if not a chemical" };
}
});
methods.add(new LuaMethod("getAtomicMass") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
Integer result = getAtomicMass(turtle.getSelectedSlot());
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
Integer result = getAtomicMass(slot);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
private Integer getAtomicMass(Integer slot) {
ItemStack current = turtle.getInventory().getStackInSlot(slot);
if (Compare.isStackAnElement(current)) {
return ElementItem.getElement(current).atomicNumber();
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Atomic Mass of elements" };
}
});
methods.add(new LuaMethod("getRadioactivity") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
String result = getRadioactivity(turtle.getSelectedSlot());
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
String result = getRadioactivity(slot);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
private String getRadioactivity(Integer slot) {
ItemStack current = turtle.getInventory().getStackInSlot(slot);
if (Compare.isStackAnElement(current)) {
return ElementItem.getElement(current).radioactivity().toString();
} else if (Compare.isStackAMolecule(current)) {
return MoleculeItem.getMolecule(current).radioactivity().toString();
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Radioactivity level of chemicals" };
}
});
methods.add(new LuaMethod("getDecayTimeInTicks") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
Object result = getDecayTime(turtle.getSelectedSlot());
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
Object result = getDecayTime(slot);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Time left to Radioactive Decay in Ticks - Infinite for stable chemicals, null for non-chemicals" };
}
});
methods.add(new LuaMethod("getDecayTime") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
Object result = getDecayTime(turtle.getSelectedSlot());
if (result != null) {
if (result instanceof Long) {
return new Object[] { TimeHelper.getTimeFromTicks((Long) result) };
} else if (result instanceof String) {
return new Object[] { result };
}
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
Object result = getDecayTime(slot);
if (result != null) {
if (result instanceof Long) {
return new Object[] { TimeHelper.getTimeFromTicks((Long) result) };
} else if (result instanceof String) {
return new Object[] { result };
}
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Time left to Radioactive Decay - Infinite for stable chemicals, null for non-chemicals" };
}
});
methods.add(new LuaMethod("syncJournal") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
String result = sync(turtle.getSelectedSlot(), computer);
if (result != null) {
return new Object[] { result };
}
} else if (args.length == 1) {
Integer slot = getInt(args[0]);
if (validateInteger(slot, turtle.getInventory().getSizeInventory())) {
String result = sync(slot, computer);
if (result != null) {
return new Object[] { result };
}
} else {
throw new LuaException("Invalid Slot Number.");
}
} else {
throw new LuaException("Maximum 1 argument for slot number.");
}
return null;
}
private String sync(int slot, IComputerAccess computer) throws LuaException {
ItemStack journal = getJournal(slot);
if (journal != null) {
return upload(journal) + " - " + download(journal, computer);
}
ItemStack book = getBook(slot);
if (book != null) {
return download(book, slot, computer);
}
throw new LuaException("Invalid Stack - not a journal or a book");
}
private String upload(ItemStack journal) {
List<MapKey> journalItems = stackListToKeys(MinechemItemsRegistration.journal.getItemList(journal));
if (journalItems == null) {
journalItems = new ArrayList<MapKey>();
}
ArrayList<MapKey> addItems = new ArrayList<MapKey>();
addItems.addAll(journalItems);
addItems.removeAll(known);
known.addAll(addItems);
int added = addItems.size();
return "Loaded " + added + " recipe" + (added != 1 ? "s" : "");
}
private String download(ItemStack journal, IComputerAccess computer) {
return download(journal, -1, computer);
}
private String download(ItemStack journal, int slot, IComputerAccess computer) {
if (journal.getItem() == Items.book) {
journal = new ItemStack(MinechemItemsRegistration.journal);
}
List<MapKey> journalItems = stackListToKeys(MinechemItemsRegistration.journal.getItemList(journal));
if (journalItems == null) {
journalItems = new ArrayList<MapKey>();
}
ArrayList<MapKey> addItems = new ArrayList<MapKey>();
addItems.addAll(known);
addItems.removeAll(journalItems);
for (ItemStack item : keyListToStacks(addItems)) {
MinechemItemsRegistration.journal.addItemStackToJournal(item, journal, turtle.getWorld());
}
int added = addItems.size();
String owner = journal.stackTagCompound.getString("owner");
if (owner.equals("")) {
journal.stackTagCompound.setString("owner", "Chemistry Turtle " + computer.getID());
}
if (!(slot < 0)) {
turtle.getInventory().setInventorySlotContents(slot, journal);
}
return "Saved " + added + " recipe" + (added != 1 ? "s" : "");
}
private ItemStack getBook(int slot) {
ItemStack result = turtle.getInventory().getStackInSlot(slot);
if (result.getItem() == Items.book && result.stackSize == 1) {
return result;
}
return null;
}
@Override
public String getArgs() {
return "(?Slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Slot Number, defaults to current slot", "Returns: Number of Journal Entries loaded and saved" };
}
});
methods.add(new LuaMethod("readRecipe") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
ForgeDirection dir = null;
if (args.length == 0) {
dir = getDirForString("front", turtle);
} else if (args.length == 1) {
dir = getDirForString((String) args[0], turtle);
}
if (dir == null) {
throw new LuaException("Invalid Arguments");
}
TileEntity te = turtle.getWorld().getTileEntity(turtle.getPosition().posX + dir.offsetX, turtle.getPosition().posY + dir.offsetY, turtle.getPosition().posZ + dir.offsetZ);
if (te != null) {
if (te instanceof SynthesisTileEntity) {
SynthesisRecipe thisRecipe = ((SynthesisTileEntity) te).getCurrentRecipe();
if (thisRecipe != null) {
if (addStackToKnown(thisRecipe.getOutput())) {
return new Object[] { "Synthesis Recipe Scanned", stackToMap(thisRecipe.getOutput()) };
} else {
return new Object[] { "Item already known" };
}
}
} else if (te instanceof DecomposerTileEntity) {
DecomposerRecipe thisRecipe = DecomposerRecipe.get(((DecomposerTileEntity) te).inventory[((DecomposerTileEntity) te).kInputSlot]);
if (thisRecipe != null) {
if (addStackToKnown(thisRecipe.getInput())) {
return new Object[] { "Decomposer Recipe Scanned", stackToMap(thisRecipe.getInput()) };
} else {
return new Object[] { "Item already known" };
}
}
} else if (te instanceof MicroscopeTileEntity) {
ItemStack thisStack = ((MicroscopeTileEntity) te).inventory[0];
if (thisStack != null) {
if (addStackToKnown(thisStack)) {
return new Object[] { "Microscope scan complete", stackToMap(thisStack) };
} else {
return new Object[] { "Item already known" };
}
}
}
}
return null;
}
@Override
public String getArgs() {
return "(?Direction)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Direction, defaults to front", "Returns: Confirmtion String, Recipe read" };
}
});
methods.add(new LuaMethod("getSynthesisRecipe") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 1 || args.length == 2) {
String UUID = (String) args[0];
Integer metadata = args.length == 2 ? getInt(args[1]) : 0;
if (metadata == null || metadata < 0) {
metadata = 0;
}
for (ItemStack current : keyListToStacks(known)) {
if (GameRegistry.findUniqueIdentifierFor(current.getItem()).toString().equals(UUID) && current.getItemDamage() == metadata) {
SynthesisRecipe output = SynthesisRecipeHandler.instance.getRecipeFromOutput(current);
if (output != null) {
return new Object[] { synthesisRecipeToMap(output) };
} else {
return new Object[] { "No Synthesiser recipe exists for " + UUID + ":" + metadata };
}
}
}
return new Object[] { UUID + ":" + metadata + " is unknown." };
} else {
throw new LuaException("Invalid arguments");
}
}
@Override
public String getArgs() {
return "(name,?metadata)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Args: Item Name and optional metadata, default 0", "Returns: Synthesiser Recipes in table form" };
}
});
methods.add(new LuaMethod("getSynthesisRecipes") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
if (args.length == 0) {
int i = 1;
HashMap<Number, Object> result = new HashMap<Number, Object>();
for (ItemStack current : keyListToStacks(known)) {
SynthesisRecipe output = SynthesisRecipeHandler.instance.getRecipeFromOutput(current);
if (output != null) {
result.put(i++, synthesisRecipeToMap(output));
}
}
return new Object[] { result };
} else {
throw new LuaException("getSynthesisRecipes does not take any arguments");
}
}
@Override
public String getArgs() {
return "()";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Returns: All Synthesiser Recipes in table form" };
}
});
methods.add(new LuaMethod("setRecipe") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
ForgeDirection dir = null;
if (args.length > 0 && args.length < 4) {
String UUID = null;
dir = getDirForString((String) args[0], turtle);
if (dir == null && args.length < 3) {
UUID = (String) args[0];
dir = getDirForString("front", turtle);
} else if (dir == null) {
throw new LuaException("Invalid Arguments");
}
TileEntity te = turtle.getWorld().getTileEntity(turtle.getPosition().posX + dir.offsetX, turtle.getPosition().posY + dir.offsetY, turtle.getPosition().posZ + dir.offsetZ);
if (te instanceof SynthesisTileEntity) {
Integer metadata = getInt(args[args.length - 1]);
if (metadata == null || metadata < 0) {
metadata = 0;
}
if (UUID == null) {
UUID = (String) args[1];
}
for (ItemStack current : keyListToStacks(known)) {
if (GameRegistry.findUniqueIdentifierFor(current.getItem()).toString().equals(UUID) && current.getItemDamage() == metadata) {
SynthesisRecipe output = SynthesisRecipeHandler.instance.getRecipeFromOutput(current);
if (output != null) {
((SynthesisTileEntity) te).setRecipe(output);
return new Object[] { true };
} else {
return new Object[] { false };
}
}
}
}
}
return new Object[] { false };
}
@Override
public String getArgs() {
return "(?Direction,name,?metadata)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Direction, defaults to front", "Arg: Item name", "Arg: Optional metadata, defaults to 0", "Returns: boolean success" };
}
});
methods.add(new LuaMethod("setMicroscope") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
ForgeDirection dir = null;
Integer slot = null;
switch(args.length) {
case 0:
slot = turtle.getSelectedSlot();
dir = getDirForString("front", turtle);
break;
case 1:
dir = getDirForString((String) args[0], turtle);
if (dir == null && args.length == 1) {
slot = getInt(args[0]);
slot = validateInteger(slot, turtle.getInventory().getSizeInventory()) ? slot : null;
dir = getDirForString("front", turtle);
}
break;
case 2:
dir = getDirForString((String) args[0], turtle);
slot = getInt(args[0]);
slot = validateInteger(slot, turtle.getInventory().getSizeInventory()) ? slot : null;
default:
}
if (dir == null || slot == null) {
throw new LuaException("Invalid Arguments");
}
ItemStack current = turtle.getInventory().getStackInSlot(slot);
TileEntity te = turtle.getWorld().getTileEntity(turtle.getPosition().posX + dir.offsetX, turtle.getPosition().posY + dir.offsetY, turtle.getPosition().posZ + dir.offsetZ);
if (te instanceof MicroscopeTileEntity) {
ItemStack microStack = ((MicroscopeTileEntity) te).getStackInSlot(0);
if (microStack == null && current == null) {
return new Object[] { false };
} else if (microStack == null) {
((MicroscopeTileEntity) te).setInventorySlotContents(0, turtle.getInventory().decrStackSize(slot, 1));
return new Object[] { true };
} else if (current == null) {
turtle.getInventory().setInventorySlotContents(slot, ((MicroscopeTileEntity) te).decrStackSize(0, 1));
return new Object[] { true };
} else if (current.isItemEqual(microStack)) {
if (current.stackSize < current.getMaxStackSize()) {
((MicroscopeTileEntity) te).decrStackSize(0, 1);
current.stackSize++;
}
}
}
return new Object[] { false };
}
@Override
public String getArgs() {
return "(?Direction,?slot)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Direction, defaults to front", "Arg: Optional slot number, defaults to current", "Returns: boolean success" };
}
});
methods.add(new LuaMethod("getState") {
@Override
public Object[] call(IComputerAccess computer, ILuaContext context, Object[] args) throws LuaException, InterruptedException {
ForgeDirection dir = ForgeDirection.getOrientation(turtle.getDirection());
if (args.length < 2) {
if (args.length == 1) {
dir = getDirForString((String) args[0], turtle);
if (dir == null) {
throw new LuaException("Invalid Arguments");
}
}
TileEntity te = turtle.getWorld().getTileEntity(turtle.getPosition().posX + dir.offsetX, turtle.getPosition().posY + dir.offsetY, turtle.getPosition().posZ + dir.offsetZ);
if (te instanceof SynthesisTileEntity) {
return new Object[] { ((SynthesisTileEntity) te).getState() };
} else if (te instanceof DecomposerTileEntity) {
return new Object[] { ((DecomposerTileEntity) te).getStateString() };
}
throw new LuaException("Invalid TileEntity");
}
throw new LuaException("Invalid Arguments");
}
@Override
public String getArgs() {
return "(?Direction)";
}
@Override
public String[] getDetails() {
return new String[] { super.getDetails()[0], "Arg: Optional Direction, defaults to front", "Returns: Machine state" };
}
});
}
use of minechem.potion.PotionChemical in project Minechem by iopleke.
the class ChemicalTurtlePeripheral method synthesisRecipeToMap.
private HashMap<String, Object> synthesisRecipeToMap(SynthesisRecipe recipe) {
HashMap<String, Object> result = new HashMap<String, Object>();
result.put("output", stackToMap(recipe.getOutput()));
result.put("shaped", recipe.isShaped());
result.put("energyCost", recipe.energyCost());
HashMap<Number, Object> inputs = new HashMap<Number, Object>();
PotionChemical[] recipeInputs = recipe.isShaped() ? recipe.getShapedRecipe() : recipe.getShapelessRecipe();
int i = 1;
for (PotionChemical chemical : recipeInputs) {
if (chemical != null) {
HashMap<String, Object> input = new HashMap<String, Object>();
if (chemical instanceof Element) {
input.put("element", ((Element) chemical).element.getLongName());
input.put("quantity", chemical.amount);
} else if (chemical instanceof Molecule) {
input.put("element", ((Molecule) chemical).molecule.name());
input.put("quantity", chemical.amount);
}
inputs.put(i++, input);
}
}
result.put("ingredients", inputs);
return result;
}
use of minechem.potion.PotionChemical in project Minechem by iopleke.
the class MinechemBucketHandler method registerBucketDecomposerRecipe.
private void registerBucketDecomposerRecipe(ItemStack itemStack, MinechemChemicalType type) {
ArrayList<PotionChemical> tubes = new ArrayList<PotionChemical>();
tubes.add(new Element(ElementEnum.Fe, 48));
if (type instanceof ElementEnum) {
tubes.add(new Element((ElementEnum) type, 8));
} else if (type instanceof MoleculeEnum) {
tubes.add(new Molecule((MoleculeEnum) type, 8));
}
DecomposerRecipe.add(new DecomposerRecipe(itemStack, tubes));
}
use of minechem.potion.PotionChemical in project Minechem by iopleke.
the class SynthesisRecipe method getIngredientCount.
public int getIngredientCount() {
int var1 = 0;
PotionChemical var3;
for (Iterator<PotionChemical> var2 = this.unshapedRecipe.iterator(); var2.hasNext(); var1 += var3.amount) {
var3 = var2.next();
}
return var1;
}
Aggregations