diff --git a/src/main/java/satisfactory/Database.java b/src/main/java/satisfactory/Database.java index eb6a1f8..ca02203 100644 --- a/src/main/java/satisfactory/Database.java +++ b/src/main/java/satisfactory/Database.java @@ -483,6 +483,14 @@ public class Database { public static final Item TurboMotor = new Part("Turbo Motor", -1); public static final Item CopperPowder = new Part("Copper Powder", -1); public static final Item PressureConversionCube = new Part("Pressure Conversion Cube", -1); + public static final Item NitricAcid = new ProcessedFluid("Nitric Acid"); + public static final Item PackagedNitricAcid = new ProcessedFluid("Packaged Nitric Acid"); + public static final Item EmptyFluidTank = new Part("Empty Fluid Tank", -1); + public static final Item PlutoniumFuelRod = new Part("Plutonium Fuel Rod", -1); + public static final Item EncasedPlutoniumCell = new Part("Encased Plutonium Cell", -1); + public static final Item PlutoniumPellet = new Part("Plutonium Pellet", -1); + public static final Item NonfissileUranium = new Part("Non-fissile Uranium", -1); + public static final Item UraniumWaste = new Part("Uranium Waste", -1); static { { @@ -492,28 +500,25 @@ public class Database { ores.addAll(Arrays.asList(Bauxite, RawQuartz));// TODO: rly? for (Item ore : ores) { Recipe mk1 = new RecipeBuilder().setDuration(1).setName("Miner Mk1").setIsHandCraftable(false).setBuilding(Buildings.MINER_MK1).addOutput(ore, 1).createRecipe(); - ore.add(mk1); Recipe mk2 = new RecipeBuilder().setDuration(1).setName("Miner Mk2").setIsHandCraftable(false).setBuilding(Buildings.MINER_MK2).addOutput(ore, 2).createRecipe(); - ore.add(mk2); - //Recipe mk3 = new Recipe(1, "Miner Mk3", false, MINER_MK2); - //ore.add(mk3, 3); + Recipe mk3 = new RecipeBuilder().setDuration(1).setName("Miner Mk3").setIsHandCraftable(false).setBuilding(Buildings.MINER_MK3).addOutput(ore, 4).createRecipe(); ore.setPreference(mk2); } // fluids Set rawFluids = new HashSet<>(Arrays.asList(CrudeOil, Water)); // no common well yet - CrudeOil.add(new RecipeBuilder().setDuration(1).setName("Oil extracting thingy").setIsHandCraftable(false).setBuilding(Buildings.OIL_EXTRACTOR).addOutput(CrudeOil, 2).createRecipe()); + new RecipeBuilder().setDuration(1).setName("Oil extracting thingy").setIsHandCraftable(false).setBuilding(Buildings.OIL_EXTRACTOR).addOutput(CrudeOil, 2).createRecipe(); //CrudeOil.setPreference(); Recipe water = new RecipeBuilder().setDuration(1).setName("water pump thingy").setIsHandCraftable(false).setBuilding(Buildings.WATER_EXTRACTOR).addOutput(Water, 2).createRecipe(); Water.setPreference(water); // gases - NitrogenGas.add(new RecipeBuilder().setDuration(1).setName("pressure thingy").setIsHandCraftable(false).setBuilding(Buildings.RESOURCE_WELL_EXTRACTOR).addOutput(NitrogenGas, 1).createRecipe()); + new RecipeBuilder().setDuration(1).setName("pressure thingy").setIsHandCraftable(false).setBuilding(Buildings.RESOURCE_WELL_EXTRACTOR).addOutput(NitrogenGas, 1).createRecipe(); } { // Iron Ingot - IronIngot.add(new RecipeBuilder().setDuration(2).addInput(IronOre, 1).addOutput(IronIngot, 1).setBuilding(Buildings.SMELTER).createRecipe()); + new RecipeBuilder().setDuration(2).addInput(IronOre, 1).addOutput(IronIngot, 1).setBuilding(Buildings.SMELTER).createRecipe(); Recipe alt = new RecipeBuilder().setDuration(12).setBuilding(Buildings.REFINERY) .setName("Pure Iron Ingot") .addInput(IronOre, 7) @@ -523,29 +528,35 @@ public class Database { } { // Copper Ingot - CopperIngot.add(new RecipeBuilder().setDuration(2).addInput(CopperOre, 1).addOutput(CopperIngot, 1).setBuilding(Buildings.SMELTER).createRecipe()); + new RecipeBuilder().setDuration(2).addInput(CopperOre, 1).addOutput(CopperIngot, 1).setBuilding(Buildings.SMELTER).createRecipe(); Recipe alloyIngot = new RecipeBuilder().setName("Coper Alloy Ingot").setDuration(12).setBuilding(Buildings.FOUNDRY) - .addInput(CopperOre,10) - .addInput(IronOre,5) - .addOutput(CopperIngot,20) + .addInput(CopperOre, 10) + .addInput(IronOre, 5) + .addOutput(CopperIngot, 20) .createRecipe(); } { // Caterium Ingot - CateriumIngot.add(new RecipeBuilder().setDuration(4).addInput(CateriumOre, 3).addOutput(CateriumIngot, 1).setBuilding(Buildings.SMELTER).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(CateriumOre, 3).addOutput(CateriumIngot, 1).setBuilding(Buildings.SMELTER).createRecipe(); } { // Steel Ingot - Recipe recipe = new RecipeBuilder().setDuration(4).setBuilding(Buildings.FOUNDRY) + new RecipeBuilder().setDuration(4).setBuilding(Buildings.FOUNDRY) .addInput(IronOre, 3) .addInput(Coal, 3) .addOutput(SteelIngot, 3) .createRecipe(); - SteelIngot.add(recipe); + new RecipeBuilder().setName("Coke Steel Ingot") + .setBuilding(Buildings.FOUNDRY) + .addInput(IronOre, 15) + .addInput(PetroleumCoke, 15) + .addOutput(SteelIngot, 20) + .setDuration(12) + .createRecipe(); } { // Concrete - Concrete.add(new RecipeBuilder().setDuration(4).addInput(Limestone, 3).addOutput(Concrete, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(Limestone, 3).addOutput(Concrete, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); new RecipeBuilder().setName("Wet Concrete") .setBuilding(Buildings.REFINERY) .setDuration(3) @@ -553,70 +564,68 @@ public class Database { .addInput(Water, 5) .addOutput(Concrete, 4) .createRecipe(); + new RecipeBuilder().setName("Fine Concrete") + .setBuilding(Buildings.ASSEMBLER) + .addInput(Silica, 3) + .addInput(Limestone, 12) + .addOutput(Concrete, 10) + .setDuration(24) + .createRecipe(); } { // Iron Plate - Recipe recipe = new RecipeBuilder().setDuration(6).addInput(IronIngot, 3).addOutput(IronPlate, 2).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); - IronPlate.add(recipe); - Recipe steelCoated = new RecipeBuilder().setDuration(24).setName("Steel Coated Plate").setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(6).addInput(IronIngot, 3).addOutput(IronPlate, 2).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); + new RecipeBuilder().setDuration(24).setName("Steel Coated Plate").setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) .addInput(SteelIngot, 3) .addInput(Plastic, 2) .addOutput(IronPlate, 18) - .createRecipe(); - IronPlate.add(steelCoated); } { // Iron Rod - IronRod.add(new RecipeBuilder().setDuration(4).addInput(IronIngot,1).addOutput(IronRod,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(IronIngot, 1).addOutput(IronRod, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Screw - Screw.add(new RecipeBuilder().setDuration(6).addInput(IronRod,1).addOutput(Screw,4).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(6).addInput(IronRod, 1).addOutput(Screw, 4).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Steel Beam - SteelBeam.add(new RecipeBuilder().setDuration(4).addInput(SteelIngot,4).addOutput(SteelBeam,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(SteelIngot, 4).addOutput(SteelBeam, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Reinforced Iron Plate Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) .addInput(IronPlate, 6) - .addInput(Screw, 12).addOutput(ReinforcedIronPlate,1) - .createRecipe(); - ReinforcedIronPlate.add(recipe); - Recipe bolted = new RecipeBuilder().setDuration(4).setName("Bolted Iron Plate").setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER).addOutput(ReinforcedIronPlate,3) + .addInput(Screw, 12).addOutput(ReinforcedIronPlate, 1) + .createRecipe(); + new RecipeBuilder().setDuration(4).setName("Bolted Iron Plate").setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER).addOutput(ReinforcedIronPlate, 3) .addInput(IronPlate, 18) .addInput(Screw, 50).createRecipe(); - ReinforcedIronPlate.add(bolted); - Recipe stiched = new RecipeBuilder().setDuration(32).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(32).setBuilding(Buildings.ASSEMBLER) .setName("Stitched Iron Plate") - .addInput(IronPlate,10) - .addInput(Wire,20) - .addOutput(ReinforcedIronPlate,3) + .addInput(IronPlate, 10) + .addInput(Wire, 20) + .addOutput(ReinforcedIronPlate, 3) .createRecipe(); - ReinforcedIronPlate.setPreference(recipe); } { // Modular Frame - Recipe recipe = new RecipeBuilder().setDuration(60).setBuilding(Buildings.ASSEMBLER).addOutput(ModularFrame,2) + new RecipeBuilder().setDuration(60).setBuilding(Buildings.ASSEMBLER).addOutput(ModularFrame, 2) .addInput(ReinforcedIronPlate, 3) .addInput(IronRod, 12).createRecipe(); - ModularFrame.add(recipe); } { // Steel Pipe - Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.CONSTRUCTOR).addOutput(SteelPipe,2) + new RecipeBuilder().setDuration(6).setBuilding(Buildings.CONSTRUCTOR).addOutput(SteelPipe, 2) .addInput(SteelIngot, 3).createRecipe(); - SteelPipe.add(recipe); } { // Encased Industrial Beam - Recipe recipe = new RecipeBuilder().setDuration(10).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(10).setBuilding(Buildings.ASSEMBLER) .addInput(SteelBeam, 4) - .addInput(Concrete, 5).addOutput(EncasedIndustrialBeam,1).createRecipe(); - EncasedIndustrialBeam.add(recipe); + .addInput(Concrete, 5).addOutput(EncasedIndustrialBeam, 1).createRecipe(); } { // Heavy Modular Frame @@ -624,108 +633,104 @@ public class Database { .addInput(ModularFrame, 5) .addInput(SteelPipe, 15) .addInput(EncasedIndustrialBeam, 5) - .addInput(Screw, 100).addOutput(HeavyModularFrame,1).createRecipe(); - HeavyModularFrame.add(recipe); + .addInput(Screw, 100).addOutput(HeavyModularFrame, 1).createRecipe(); HeavyModularFrame.setPreference(recipe); - Recipe heavyEncasedFrame = new RecipeBuilder().setDuration(64).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(64).setBuilding(Buildings.MANUFACTURER) .addInput(ModularFrame, 8) .addInput(EncasedIndustrialBeam, 10) .addInput(SteelPipe, 36) .addInput(Concrete, 22) .addOutput(HeavyModularFrame, 3).createRecipe(); // TODO: duration = 60/2.812 - HeavyModularFrame.add(heavyEncasedFrame); } { // Wire - Wire.add(new RecipeBuilder().setDuration(4).addInput(CopperIngot,1).addOutput(Wire,2).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(CopperIngot, 1).addOutput(Wire, 2).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); new RecipeBuilder().setName("Fused Wire") .setBuilding(Buildings.ASSEMBLER) .setDuration(20) - .addInput(CopperIngot,4) - .addInput(CateriumIngot,1) - .addOutput(Wire,30) + .addInput(CopperIngot, 4) + .addInput(CateriumIngot, 1) + .addOutput(Wire, 30) .createRecipe(); } { // Cable - Cable.add(new RecipeBuilder().setDuration(2).addInput(Wire,2).addOutput(Cable,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); - Recipe quickWireCable = new RecipeBuilder().setDuration(2).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(2).addInput(Wire, 2).addOutput(Cable, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); + new RecipeBuilder().setDuration(2).setBuilding(Buildings.ASSEMBLER) .addInput(Quickwire, 3) .addInput(Rubber, 2) .addOutput(Cable, 11).createRecipe(); // TODO 60/27,5 - Cable.add(quickWireCable); + new RecipeBuilder().setName("Coated Cable") + .addInput(Wire, 5) + .addInput(HeavyOilResidue, 2) + .addOutput(Cable, 9) + .setBuilding(Buildings.REFINERY) + .setDuration(8) + .createRecipe(); } { // Copper Sheet - CopperSheet.add(new RecipeBuilder().setDuration(6).addInput(CopperIngot,2).addOutput(CopperSheet,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); - Recipe steamedCopperSheet = new RecipeBuilder().setDuration(2).setBuilding(Buildings.REFINERY) + new RecipeBuilder().setDuration(6).addInput(CopperIngot, 2).addOutput(CopperSheet, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); + new RecipeBuilder().setDuration(2).setBuilding(Buildings.REFINERY) .addInput(CopperIngot, 3) .addInput(Water, 3) .addOutput(CopperSheet, 3).createRecipe(); // TODO: duration = 60/22.5 - - CopperSheet.add(steamedCopperSheet); } { // Quickwire - Quickwire.add(new RecipeBuilder().setDuration(5).addInput(CateriumIngot,1).addOutput(Quickwire,5).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(5).addInput(CateriumIngot, 1).addOutput(Quickwire, 5).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Circuit Board - Recipe recipe = new RecipeBuilder().setDuration(8).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(8).setBuilding(Buildings.ASSEMBLER) .addInput(CopperSheet, 2) - .addInput(Plastic, 4).addOutput(CircuitBoard,1).createRecipe(); - CircuitBoard.add(recipe); + .addInput(Plastic, 4).addOutput(CircuitBoard, 1).createRecipe(); // TODO: alternative - Recipe electrodeCircuitBoard = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) .addInput(Rubber, 6) .addInput(PetroleumCoke, 9) .addOutput(CircuitBoard, 1).createRecipe(); - CircuitBoard.add(electrodeCircuitBoard); - Recipe cateriumCircuitBoard = new RecipeBuilder().setDuration(48).setName("Caterium Circuit Board").setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(48).setName("Caterium Circuit Board").setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) .addInput(Plastic, 10) .addInput(Quickwire, 30) .addOutput(CircuitBoard, 7).createRecipe(); - CircuitBoard.add(cateriumCircuitBoard); } { // A.I. Limiter - Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) .addInput(CopperSheet, 5) - .addInput(Quickwire, 20).addOutput(AILimiter,1).createRecipe(); - AILimiter.add(recipe); + .addInput(Quickwire, 20).addOutput(AILimiter, 1).createRecipe(); } { // High Speed Connector - Recipe recipe = new RecipeBuilder().setDuration(16).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(16).setBuilding(Buildings.MANUFACTURER) .addInput(Quickwire, 56) .addInput(Cable, 10) - .addInput(CircuitBoard, 1).addOutput(HighSpeedConnector,1).createRecipe(); - HighSpeedConnector.add(recipe); + .addInput(CircuitBoard, 1).addOutput(HighSpeedConnector, 1).createRecipe(); } { // Biomass - Biomass.add(new RecipeBuilder().setDuration(5).addInput(Leaves,10).addOutput(Biomass,5).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench - Biomass.add(new RecipeBuilder().setDuration(4).addInput(Wood,4).addOutput(Biomass,20).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench - Biomass.add(new RecipeBuilder().setDuration(4).addInput(Mycelia,1).addOutput(Biomass,10).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench - Biomass.add(new RecipeBuilder().setDuration(4).addInput(AlienProtein,1).addOutput(Biomass,100).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench + new RecipeBuilder().setDuration(5).addInput(Leaves, 10).addOutput(Biomass, 5).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench + new RecipeBuilder().setDuration(4).addInput(Wood, 4).addOutput(Biomass, 20).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench + new RecipeBuilder().setDuration(4).addInput(Mycelia, 1).addOutput(Biomass, 10).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench + new RecipeBuilder().setDuration(4).addInput(AlienProtein, 1).addOutput(Biomass, 100).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench } { // Alien Protein - AlienProtein.add(new RecipeBuilder().setDuration(3).addInput(HogRemains,1).addOutput(AlienProtein,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench - AlienProtein.add(new RecipeBuilder().setDuration(3).addInput(PlasmaSpitterRemains,1).addOutput(AlienProtein,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench - AlienProtein.add(new RecipeBuilder().setDuration(3).addInput(StingerRemains,1).addOutput(AlienProtein,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench - AlienProtein.add(new RecipeBuilder().setDuration(3).addInput(HatcherRemains,1).addOutput(AlienProtein,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); // TODO CraftBench + new RecipeBuilder().setDuration(3).addInput(HogRemains, 1).addOutput(AlienProtein, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench + new RecipeBuilder().setDuration(3).addInput(PlasmaSpitterRemains, 1).addOutput(AlienProtein, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench + new RecipeBuilder().setDuration(3).addInput(StingerRemains, 1).addOutput(AlienProtein, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench + new RecipeBuilder().setDuration(3).addInput(HatcherRemains, 1).addOutput(AlienProtein, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); // TODO CraftBench } { // Fabric - Recipe recipe = new RecipeBuilder().setDuration(4).setBuilding(Buildings.ASSEMBLER) - .addInput(Mycelia,1) - .addInput(Biomass, 5).addOutput(Fabric,1).createRecipe(); - Fabric.add(recipe); - Recipe alt = new RecipeBuilder().setDuration(2).setBuilding(Buildings.REFINERY) + new RecipeBuilder().setDuration(4).setBuilding(Buildings.ASSEMBLER) + .addInput(Mycelia, 1) + .addInput(Biomass, 5).addOutput(Fabric, 1).createRecipe(); + new RecipeBuilder().setDuration(2).setBuilding(Buildings.REFINERY) .setName("Polyester Fabric") .addInput(PolymerResin, 1) .addInput(Water, 1) @@ -733,65 +738,59 @@ public class Database { } { // Solid Biofuel - SolidBiofuel.add(new RecipeBuilder().setDuration(4).addInput(Biomass,8).addOutput(SolidBiofuel,4).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(Biomass, 8).addOutput(SolidBiofuel, 4).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Rotor - Recipe recipe = new RecipeBuilder().setDuration(15).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(15).setBuilding(Buildings.ASSEMBLER) .addInput(IronRod, 5) - .addInput(Screw, 25).addOutput(Rotor,1).createRecipe(); - Rotor.add(recipe); + .addInput(Screw, 25).addOutput(Rotor, 1).createRecipe(); } { // Stator Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) .addInput(SteelPipe, 3) .addInput(Wire, 8).addOutput(Stator, 1).createRecipe(); - Stator.add(recipe); Stator.setPreference(recipe); - Recipe quickwireStator = new RecipeBuilder().setDuration(15).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(15).setBuilding(Buildings.ASSEMBLER) .addInput(SteelPipe, 4) .addInput(Quickwire, 15) .addOutput(Stator, 2).createRecipe(); //TODO 60/8 - Stator.add(quickwireStator); } { // Motor - Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) .addInput(Rotor, 2) - .addInput(Stator, 2).addOutput(Motor,1).createRecipe(); - Motor.add(recipe); + .addInput(Stator, 2).addOutput(Motor, 1).createRecipe(); } { // Power Shard - PowerShard.add(new RecipeBuilder().setDuration(8).addInput(GreenPowerSlug,1).addOutput(PowerShard,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); - PowerShard.add(new RecipeBuilder().setDuration(12).addInput(YellowPowerSlug,1).addOutput(PowerShard,2).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); - PowerShard.add(new RecipeBuilder().setDuration(24).addInput(PurplePowerSlug,1).addOutput(PowerShard,5).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(8).addInput(GreenPowerSlug, 1).addOutput(PowerShard, 1).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); + new RecipeBuilder().setDuration(12).addInput(YellowPowerSlug, 1).addOutput(PowerShard, 2).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); + new RecipeBuilder().setDuration(24).addInput(PurplePowerSlug, 1).addOutput(PowerShard, 5).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Black Powder - Recipe recipe = new RecipeBuilder().setDuration(8).setBuilding(Buildings.ASSEMBLER) - .addInput(Coal,1) - .addInput(Sulfur, 2).addOutput(BlackPowder,1).createRecipe(); - BlackPowder.add(recipe); - Recipe alt = new RecipeBuilder().setName("Fine Black Powder").setDuration(16).setBuilding(Buildings.ASSEMBLER) - .addInput(Sulfur,2) - .addInput(CompactedCoal,1) - .addOutput(BlackPowder,4) + new RecipeBuilder().setDuration(8).setBuilding(Buildings.ASSEMBLER) + .addInput(Coal, 1) + .addInput(Sulfur, 2).addOutput(BlackPowder, 1).createRecipe(); + new RecipeBuilder().setName("Fine Black Powder").setDuration(16).setBuilding(Buildings.ASSEMBLER) + .addInput(Sulfur, 2) + .addInput(CompactedCoal, 1) + .addOutput(BlackPowder, 4) .createRecipe(); } { // Color Catridge - ColorCatridge.add(new RecipeBuilder().setDuration(6).addInput(FlowerPetals,5).addOutput(ColorCatridge,10).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(6).addInput(FlowerPetals, 5).addOutput(ColorCatridge, 10).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Gas Filter - Recipe recipe = new RecipeBuilder().setDuration(8).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(8).setBuilding(Buildings.MANUFACTURER) .addInput(Coal, 5) .addInput(Rubber, 2) - .addInput(Fabric, 2).addOutput(GasFilter,1).createRecipe(); - GasFilter.add(recipe); + .addInput(Fabric, 2).addOutput(GasFilter, 1).createRecipe(); } { // Computer @@ -799,136 +798,120 @@ public class Database { .addInput(CircuitBoard, 10) .addInput(Cable, 9) .addInput(Plastic, 18) - .addInput(Screw, 52).addOutput(Computer,1).createRecipe(); - Computer.add(recipe); - Recipe alternative = new RecipeBuilder().setDuration(16).setName("Caterium Computer").setIsHandCraftable(false).setBuilding(Buildings.MANUFACTURER) + .addInput(Screw, 52).addOutput(Computer, 1).createRecipe(); + new RecipeBuilder().setDuration(16).setName("Caterium Computer").setIsHandCraftable(false).setBuilding(Buildings.MANUFACTURER) .addInput(CircuitBoard, 7) .addInput(Quickwire, 28) - .addInput(Rubber, 12).addOutput(Computer,1).createRecipe(); - Computer.add(alternative); - Recipe crystal = new RecipeBuilder().setName("Crystal Computer").setDuration(64).setBuilding(Buildings.ASSEMBLER) - .addInput(CircuitBoard,8) + .addInput(Rubber, 12).addOutput(Computer, 1).createRecipe(); + new RecipeBuilder().setName("Crystal Computer").setDuration(64).setBuilding(Buildings.ASSEMBLER) + .addInput(CircuitBoard, 8) .addInput(CrystalOscillator, 3) - .addOutput(Computer,3) + .addOutput(Computer, 3) .createRecipe(); Computer.setPreference(recipe); } { // Super Computer - Recipe recipe = new RecipeBuilder().setDuration(32).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(32).setBuilding(Buildings.MANUFACTURER) .addInput(Computer, 2) .addInput(AILimiter, 2) .addInput(HighSpeedConnector, 3) - .addInput(Plastic, 28).addOutput(SuperComputer,1).createRecipe(); - SuperComputer.add(recipe); + .addInput(Plastic, 28).addOutput(SuperComputer, 1).createRecipe(); } { // Empty Canister - EmptyCanister.add(new RecipeBuilder().setDuration(4).addInput(Plastic,2).addOutput(EmptyCanister,4).setBuilding(Buildings.CONSTRUCTOR).createRecipe()); + new RecipeBuilder().setDuration(4).addInput(Plastic, 2).addOutput(EmptyCanister, 4).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { // Beacon - Recipe recipe = new RecipeBuilder().setDuration(8).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(8).setBuilding(Buildings.MANUFACTURER) .addInput(IronPlate, 3) - .addInput(IronRod,1) + .addInput(IronRod, 1) .addInput(Wire, 15) - .addInput(Cable, 2).addOutput(Beacon,1).createRecipe(); - Beacon.add(recipe); + .addInput(Cable, 2).addOutput(Beacon, 1).createRecipe(); } { // Modular Engine - Recipe recipe = new RecipeBuilder().setDuration(60).setIsHandCraftable(false).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(60).setIsHandCraftable(false).setBuilding(Buildings.MANUFACTURER) .addInput(Motor, 2) .addInput(Rubber, 15) - .addInput(SmartPlating, 2).addOutput(ModularEngine,1).createRecipe(); - ModularEngine.add(recipe); + .addInput(SmartPlating, 2).addOutput(ModularEngine, 1).createRecipe(); } { // Adaptive Control Unit - Recipe recipe = new RecipeBuilder().setDuration(120).setIsHandCraftable(false).setBuilding(Buildings.MANUFACTURER).addOutput(AdaptiveControlUnit,2) + new RecipeBuilder().setDuration(120).setIsHandCraftable(false).setBuilding(Buildings.MANUFACTURER).addOutput(AdaptiveControlUnit, 2) .addInput(AutomatedWiring, 15) .addInput(CircuitBoard, 10) .addInput(HeavyModularFrame, 2) - .addInput(Computer, 2).addOutput(AdaptiveControlUnit,2).createRecipe(); - AdaptiveControlUnit.add(recipe); + .addInput(Computer, 2).addOutput(AdaptiveControlUnit, 2).createRecipe(); } { // Nobelisk - Recipe recipe = new RecipeBuilder().setDuration(20).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(20).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) .addInput(BlackPowder, 5) - .addInput(SteelPipe, 10).addOutput(Nobelisk,1).createRecipe(); - Nobelisk.add(recipe); + .addInput(SteelPipe, 10).addOutput(Nobelisk, 1).createRecipe(); } { // Gas Nobelisk - Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER) .addInput(Nobelisk, 1) .addInput(Biomass, 10) .addOutput(GasNobelisk, 1).createRecipe(); //TODO EquipmentWorkshop - GasNobelisk.add(recipe); } { // Cluster Nobelisk - Recipe recipe = new RecipeBuilder().setDuration(24).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(24).setBuilding(Buildings.ASSEMBLER) .addInput(Nobelisk, 3) .addInput(SmokelessPowder, 4) .addOutput(ClusterNobelisk, 1).createRecipe(); //TODO EquipmentWorkshop - ClusterNobelisk.add(recipe); } { // NobeliskDetonator - Recipe recipe = new RecipeBuilder().setDuration(80).setBuilding(Buildings.EQUIPMENT_WORKSHOP) + new RecipeBuilder().setDuration(80).setBuilding(Buildings.EQUIPMENT_WORKSHOP) .addInput(ObjectScanner, 1) .addInput(SteelBeam, 10) .addInput(Cable, 50) .addOutput(NobeliskDetonator, 1).createRecipe(); - NobeliskDetonator.add(recipe); } { // Smart Plating - Recipe recipe = new RecipeBuilder().setDuration(30).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) - .addInput(ReinforcedIronPlate,1) - .addInput(Rotor,1).addOutput(SmartPlating,1).createRecipe(); - SmartPlating.add(recipe); + new RecipeBuilder().setDuration(30).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) + .addInput(ReinforcedIronPlate, 1) + .addInput(Rotor, 1).addOutput(SmartPlating, 1).createRecipe(); } { // Automated Wiring - Recipe recipe = new RecipeBuilder().setDuration(24).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) - .addInput(Stator,1) - .addInput(Cable, 20).addOutput(AutomatedWiring,1).createRecipe(); - AutomatedWiring.add(recipe); + new RecipeBuilder().setDuration(24).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER) + .addInput(Stator, 1) + .addInput(Cable, 20).addOutput(AutomatedWiring, 1).createRecipe(); } { // Versatile Framework - Recipe recipe = new RecipeBuilder().setDuration(24).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER).addOutput(VersatileFrameWork,2) - .addInput(ModularFrame,1) - .addInput(SteelBeam, 12).addOutput(VersatileFrameWork,2).createRecipe(); - VersatileFrameWork.add(recipe); + new RecipeBuilder().setDuration(24).setIsHandCraftable(false).setBuilding(Buildings.ASSEMBLER).addOutput(VersatileFrameWork, 2) + .addInput(ModularFrame, 1) + .addInput(SteelBeam, 12).addOutput(VersatileFrameWork, 2).createRecipe(); new RecipeBuilder().setName("Flexible Framework") .setDuration(16) - .addInput(ModularFrame,1) + .addInput(ModularFrame, 1) .addInput(SteelBeam, 6) - .addInput(Rubber,8) - .addOutput(VersatileFrameWork,2) + .addInput(Rubber, 8) + .addOutput(VersatileFrameWork, 2) .createRecipe(); } { // Fuel - Recipe residualFuel = new RecipeBuilder().setDuration(6).setName("Residual Fuel").setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Fuel,4) - .addInput(HeavyOilResidue, 6).addOutput(Fuel,1).createRecipe(); - Fuel.add(residualFuel); - Recipe recipe = new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Fuel,4) + Recipe recipe = new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Fuel, 4) .addInput(CrudeOil, 6) .addOutput(PolymerResin, 3, true).createRecipe(); - Fuel.add(recipe); - Recipe diluted = new RecipeBuilder().setName("Diluted Fuel").setDuration(6).setBuilding(Buildings.BLENDER) - .addInput(HeavyOilResidue,5) - .addInput(Water,10) - .addOutput(Fuel,10) + new RecipeBuilder().setDuration(6).setName("Residual Fuel").setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Fuel, 4) + .addInput(HeavyOilResidue, 6).addOutput(Fuel, 1).createRecipe(); + new RecipeBuilder().setName("Diluted Fuel").setDuration(6).setBuilding(Buildings.BLENDER) + .addInput(HeavyOilResidue, 5) + .addInput(Water, 10) + .addOutput(Fuel, 10) .createRecipe(); - Fuel.setPreference(recipe); } { @@ -946,126 +929,117 @@ public class Database { } { // Liquid Biofuel - Recipe recipe = new RecipeBuilder().setDuration(4).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(LiquidBiofuel,4) + new RecipeBuilder().setDuration(4).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(LiquidBiofuel, 4) .addInput(SolidBiofuel, 6) - .addInput(Water, 3).addOutput(LiquidBiofuel,1).createRecipe(); - LiquidBiofuel.add(recipe); + .addInput(Water, 3).addOutput(LiquidBiofuel, 1).createRecipe(); - Recipe unpack = new RecipeBuilder().setDuration(2).setBuilding(Buildings.PACKAGER) + new RecipeBuilder().setDuration(2).setBuilding(Buildings.PACKAGER) .addInput(PackagedLiquidBiofuel, 2) .addOutput(LiquidBiofuel, 2) .addOutput(EmptyCanister, 2, true).createRecipe(); - LiquidBiofuel.add(unpack); } { // Plastic - Recipe recipe = new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Plastic,2) + new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Plastic, 2) .addInput(CrudeOil, 3) .addOutput(HeavyOilResidue, 1, true).createRecipe(); - Plastic.add(recipe); - Recipe residualPlastic = new RecipeBuilder().setDuration(6).setName("Residual Plastic").setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Plastic,2) + new RecipeBuilder().setDuration(6).setName("Residual Plastic").setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Plastic, 2) .addInput(PolymerResin, 6) .addInput(Water, 2).createRecipe(); - Plastic.add(residualPlastic); } { // Rubber - Recipe recipe = new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Rubber,2) + new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Rubber, 2) .addInput(CrudeOil, 3) .addOutput(HeavyOilResidue, 2, true).createRecipe(); - Rubber.add(recipe); - Recipe residualRubber = new RecipeBuilder().setDuration(6).setName("Residual Rubber").setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Rubber,2) + new RecipeBuilder().setDuration(6).setName("Residual Rubber").setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(Rubber, 2) .addInput(PolymerResin, 6) .addInput(Water, 4).createRecipe(); - Rubber.add(residualRubber); } { // Heavy Oil Residue - Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY) + new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY) .addInput(CrudeOil, 3) - .addOutput(HeavyOilResidue,4) - .addOutput(PolymerResin,2,true) + .addOutput(HeavyOilResidue, 4) + .addOutput(PolymerResin, 2, true) .createRecipe(); - HeavyOilResidue.add(recipe); } { // Petroleum Coke - Recipe recipe = new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(PetroleumCoke,12) + new RecipeBuilder().setDuration(6).setIsHandCraftable(false).setBuilding(Buildings.REFINERY).addOutput(PetroleumCoke, 12) .addInput(HeavyOilResidue, 4).createRecipe(); - PetroleumCoke.add(recipe); } - // TODO: verify below! { - Recipe recipe = new RecipeBuilder().setDuration(6).addInput(AluminumIngot,3).addOutput(AlcladAluminumSheet,3).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(6).addInput(AluminumIngot, 3).addOutput(AlcladAluminumSheet, 3).setBuilding(Buildings.ASSEMBLER) .addInput(CopperIngot, 1).createRecipe(); - AlcladAluminumSheet.add(recipe); } { - Recipe recipe = new RecipeBuilder().setDuration(120).addInput(QuartzCristal,36).addOutput(CrystalOscillator,2).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(120).addInput(QuartzCristal, 36).addOutput(CrystalOscillator, 2).setBuilding(Buildings.MANUFACTURER) .addInput(Cable, 28) .addInput(ReinforcedIronPlate, 5).createRecipe(); - - CrystalOscillator.add(recipe); } { - Recipe recipe = new RecipeBuilder().setDuration(48).addInput(AluminumCasing,32).addOutput(RadioControlUnit,2).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(48).addInput(AluminumCasing, 32).addOutput(RadioControlUnit, 2).setBuilding(Buildings.MANUFACTURER) .addInput(CrystalOscillator, 1) .addInput(Computer, 1).createRecipe(); - - RadioControlUnit.add(recipe); } { - Recipe recipe = new RecipeBuilder().setDuration(2).addInput(AluminumIngot,3).addOutput(AluminumCasing,2).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); - AluminumCasing.add(recipe); + new RecipeBuilder().setDuration(2).addInput(AluminumIngot, 3).addOutput(AluminumCasing, 2).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(8).addInput(RawQuartz,5).addOutput(QuartzCristal,3).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); - QuartzCristal.add(recipe); + new RecipeBuilder().setDuration(8).addInput(RawQuartz, 5).addOutput(QuartzCristal, 3).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(8).addInput(RawQuartz,3).addOutput(Silica,5).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); - Silica.add(recipe); + new RecipeBuilder().setDuration(8).addInput(RawQuartz, 3).addOutput(Silica, 5).setBuilding(Buildings.CONSTRUCTOR).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(4).addInput(AluminumScrap,6).setBuilding(Buildings.FOUNDRY) + new RecipeBuilder().setDuration(4).addInput(AluminumScrap, 6).setBuilding(Buildings.FOUNDRY) .addInput(Silica, 5) .addOutput(AluminumIngot, 4).createRecipe(); new RecipeBuilder().setName("Pure Aluminum Ingot") .setBuilding(Buildings.SMELTER) .setDuration(2) .addInput(AluminumScrap, 2) - .addOutput(AluminumIngot,1) + .addOutput(AluminumIngot, 1) .createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY) + new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY) .addInput(Bauxite, 12) .addInput(Water, 18) .addOutput(Silica, 5) .addOutput(AluminaSolution, 12, true).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(1).setBuilding(Buildings.REFINERY) + new RecipeBuilder().setDuration(1).setBuilding(Buildings.REFINERY) .addInput(AluminaSolution, 4) .addInput(Coal, 2) .addOutput(AluminumScrap, 6) .addOutput(Water, 2, true).createRecipe(); + new RecipeBuilder().setName("Electrode Aluminum Scrap") + .setBuilding(Buildings.REFINERY) + .addInput(AluminaSolution, 12) + .addInput(PetroleumCoke, 4) + .addOutput(AluminumScrap, 20) + .addOutput(Water, 7, true) + .setDuration(4) + .createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY) + new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY) .addInput(Sulfur, 5) .addInput(Water, 5) .addOutput(SulfuricAcid, 5).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(150).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(150).setBuilding(Buildings.MANUFACTURER) .addInput(EncasedUraniumCell, 50) .addInput(EncasedIndustrialBeam, 3) .addInput(ElectromagneticControlRod, 5) .addOutput(UraniumFuelRod, 1).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.BLENDER) + new RecipeBuilder().setDuration(12).setBuilding(Buildings.BLENDER) .addInput(Uranium, 10) .addInput(Concrete, 3) .addInput(SulfuricAcid, 8) @@ -1075,21 +1049,21 @@ public class Database { .setDuration(12) .setBuilding(Buildings.MANUFACTURER) .addInput(Uranium, 5) - .addInput(Silica,3) + .addInput(Silica, 3) .addInput(Sulfur, 5) .addInput(Quickwire, 15) .addOutput(EncasedUraniumCell, 4) .createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(120).setBuilding(Buildings.MANUFACTURER) + new RecipeBuilder().setDuration(120).setBuilding(Buildings.MANUFACTURER) .addInput(VersatileFrameWork, 5) .addInput(ElectromagneticControlRod, 5) .addInput(Battery, 10) .addOutput(MagneticFieldGenerator, 2).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(3).setBuilding(Buildings.BLENDER) + new RecipeBuilder().setDuration(3).setBuilding(Buildings.BLENDER) .addInput(SulfuricAcid, 2.5) .addInput(AluminaSolution, 2) .addInput(AluminumCasing, 1) @@ -1098,40 +1072,40 @@ public class Database { new RecipeBuilder().setName("Classic Battery") .setBuilding(Buildings.MANUFACTURER) .setDuration(8) - .addInput(Sulfur,6) - .addInput(AlcladAluminumSheet,7) + .addInput(Sulfur, 6) + .addInput(AlcladAluminumSheet, 7) .addInput(Plastic, 8) .addInput(Wire, 12) .addOutput(Battery, 4) .createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(8).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(8).setBuilding(Buildings.ASSEMBLER) .addInput(AlcladAluminumSheet, 5) .addInput(CopperSheet, 3) .addOutput(HeatSink, 1).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(80).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(80).setBuilding(Buildings.ASSEMBLER) .addInput(AdaptiveControlUnit, 2) .addInput(SuperComputer, 1) .addOutput(AssemblyDirectorSystem, 1).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(30).setBuilding(Buildings.ASSEMBLER) + new RecipeBuilder().setDuration(30).setBuilding(Buildings.ASSEMBLER) .addInput(Stator, 3) .addInput(AILimiter, 2) .addOutput(ElectromagneticControlRod, 2).createRecipe(); new RecipeBuilder().setName("Electromagnetic Connection Rod") .setBuilding(Buildings.ASSEMBLER) .setDuration(15) - .addInput(Stator,2) - .addInput(HighSpeedConnector,1) - .addOutput(ElectromagneticControlRod,2) + .addInput(Stator, 2) + .addInput(HighSpeedConnector, 1) + .addOutput(ElectromagneticControlRod, 2) .createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(10).setBuilding(Buildings.BLENDER) + new RecipeBuilder().setDuration(10).setBuilding(Buildings.BLENDER) .addInput(HeatSink, 2) .addInput(Rubber, 2) .addInput(Water, 5) @@ -1139,21 +1113,21 @@ public class Database { .addOutput(CoolingSystem, 1).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(40).setBuilding(Buildings.BLENDER) + new RecipeBuilder().setDuration(40).setBuilding(Buildings.BLENDER) .addInput(HeavyModularFrame, 1) .addInput(AluminumCasing, 50) .addInput(NitrogenGas, 25) .addOutput(FusedModularFrame, 1).createRecipe(); } { - Recipe recipe = new RecipeBuilder().setDuration(40).setIsHandCraftable(true).setBuilding(Buildings.EQUIPMENT_WORKSHOP) + new RecipeBuilder().setDuration(40).setIsHandCraftable(true).setBuilding(Buildings.EQUIPMENT_WORKSHOP) .addInput(IronPlate, 2) .addInput(IronRod, 2) .addOutput(PortableMiner, 1).createRecipe(); } { //Turbofuel - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(16) .setBuilding(Buildings.REFINERY) .addInput(Fuel, 6) @@ -1161,7 +1135,6 @@ public class Database { .addOutput(Turbofuel, 5) .createRecipe(); //TODO: 60/18,75 - Turbofuel.add(recipe); Recipe packaged = new RecipeBuilder() .setDuration(3) .setBuilding(Buildings.PACKAGER) @@ -1176,53 +1149,59 @@ public class Database { .addInput(CompactedCoal, 4) .addOutput(Turbofuel, 4) .createRecipe(); + new RecipeBuilder().setName("Turbo Blend Fuel") + .setBuilding(Buildings.BLENDER) + .addInput(Fuel, 2) + .addInput(HeavyOilResidue, 4) + .addInput(Sulfur, 3) + .addInput(PetroleumCoke, 3) + .addOutput(Turbofuel, 6) + .setDuration(8) + .createRecipe(); } { // Packaged Turbofuel - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(3) .setBuilding(Buildings.PACKAGER) .addInput(Turbofuel, 2) .addInput(EmptyCanister, 2) .addOutput(PackagedTurboFuel, 2) .createRecipe(); - PackagedTurboFuel.add(recipe); } { // Compacted Coal - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(12) .setBuilding(Buildings.ASSEMBLER) .addInput(Coal, 5) .addInput(Sulfur, 5) .addOutput(CompactedCoal, 5) .createRecipe(); - CompactedCoal.add(recipe); } { // Iron Rebar - IronRebar.add(new RecipeBuilder() + new RecipeBuilder() .setDuration(4) - .addInput(IronRod,1) - .addOutput(IronRebar,1) + .addInput(IronRod, 1) + .addOutput(IronRebar, 1) .setBuilding(Buildings.CONSTRUCTOR) - .createRecipe()); + .createRecipe(); } { // Stun Rebar - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(6) .setBuilding(Buildings.ASSEMBLER) .addInput(IronRebar, 1) .addInput(Quickwire, 5) .addOutput(StunRebar, 1) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) - StunRebar.add(recipe); } { // Explosive Rebar - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(12) .setBuilding(Buildings.MANUFACTURER) .addInput(IronRebar, 1) @@ -1230,11 +1209,10 @@ public class Database { .addInput(SteelPipe, 2) .addOutput(ExplosiveRebar, 1) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) - ExplosiveRebar.add(recipe); } { // Rebar Gun - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(60) .setBuilding(Buildings.EQUIPMENT_WORKSHOP) .addInput(ReinforcedIronPlate, 6) @@ -1242,33 +1220,30 @@ public class Database { .addInput(Screw, 100) .addOutput(RebarGun, 1) .createRecipe(); - RebarGun.add(recipe); } { // Rifle Ammo - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(12) .setBuilding(Buildings.ASSEMBLER) .addInput(CopperSheet, 3) .addInput(SmokelessPowder, 2) .addOutput(RifleAmmo, 15) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) - RifleAmmo.add(recipe); } { // Homing Rifle Ammo - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(12) .setBuilding(Buildings.ASSEMBLER) .addInput(RifleAmmo, 20) .addInput(HighSpeedConnector, 1) .addOutput(HomingRifleAmmo, 10) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) - HomingRifleAmmo.add(recipe); } { // Rifle - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(120) .setBuilding(Buildings.EQUIPMENT_WORKSHOP) .addInput(Motor, 2) @@ -1277,34 +1252,32 @@ public class Database { .addInput(Screw, 250) .addOutput(Rifle, 1) .createRecipe(); - Rifle.add(recipe); } { // Smokeless Powder - Recipe recipe = new RecipeBuilder() + new RecipeBuilder() .setDuration(6) .setBuilding(Buildings.REFINERY) .addInput(BlackPowder, 2) .addInput(HeavyOilResidue, 1) .addOutput(SmokelessPowder, 2) .createRecipe(); - SmokelessPowder.add(recipe); } { // Coal Recipe biocoal = new RecipeBuilder().setName("Biocoal").setBuilding(Buildings.CONSTRUCTOR).setDuration(8) .addInput(Biomass, 5) - .addOutput(Coal,6) + .addOutput(Coal, 6) .createRecipe(); Recipe charcoal = new RecipeBuilder().setName("Charcoal").setBuilding(Buildings.CONSTRUCTOR).setDuration(4) - .addInput(Wood,1) + .addInput(Wood, 1) .addOutput(Coal, 10) .createRecipe(); } { // FICSMAS Gift new RecipeBuilder().setName("gift_tree").setBuilding(Buildings.FICSMAS_GIFT_TREE) - .addOutput(FICSMASGift,15).setDuration(4).createRecipe(); + .addOutput(FICSMASGift, 15).setDuration(4).createRecipe(); } { // FICSMAS Tree Branch @@ -1368,7 +1341,7 @@ public class Database { // Snowball new RecipeBuilder().setBuilding(Buildings.CONSTRUCTOR) .addInput(FICSMASActualSnow, 3) - .addOutput(FICSMASSnowBall,1) + .addOutput(FICSMASSnowBall, 1) .setDuration(12) .createRecipe(); } @@ -1402,45 +1375,45 @@ public class Database { { // FICSMAS Decoration new RecipeBuilder().setName(FICSMASDecoration.getName()).setBuilding(Buildings.ASSEMBLER) - .addInput(FICSMASTreeBranch,15) - .addInput(FICSMASOrnamentBundle,6) - .addOutput(FICSMASDecoration,2) + .addInput(FICSMASTreeBranch, 15) + .addInput(FICSMASOrnamentBundle, 6) + .addOutput(FICSMASDecoration, 2) .setDuration(60) .createRecipe(); } { // Sweet Fireworks new RecipeBuilder().setBuilding(Buildings.ASSEMBLER) - .addInput(FICSMASTreeBranch,6) - .addInput(FICSMASCandyCane,3) - .addOutput(FICSMASSweetFireworks,1) + .addInput(FICSMASTreeBranch, 6) + .addInput(FICSMASCandyCane, 3) + .addOutput(FICSMASSweetFireworks, 1) .setDuration(24) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) } { // Fancy Fireworks new RecipeBuilder().setBuilding(Buildings.ASSEMBLER) - .addInput(FICSMASTreeBranch,4) - .addInput(FICSMASBow,3) - .addOutput(FICSMASFancyFireworks,1) + .addInput(FICSMASTreeBranch, 4) + .addInput(FICSMASBow, 3) + .addOutput(FICSMASFancyFireworks, 1) .setDuration(24) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) } { // Sparkly Fireworks new RecipeBuilder().setBuilding(Buildings.ASSEMBLER) - .addInput(FICSMASTreeBranch,3) - .addInput(FICSMASActualSnow,3) - .addOutput(FICSMASSparklyFireworks,2) + .addInput(FICSMASTreeBranch, 3) + .addInput(FICSMASActualSnow, 3) + .addOutput(FICSMASSparklyFireworks, 2) .setDuration(24) .createRecipe();//TODO , EQUIPMENT_WORKSHOP) } { // FICSMAS Wonder Star new RecipeBuilder().setBuilding(Buildings.ASSEMBLER) - .addInput(FICSMASDecoration,5) - .addInput(FICSMASCandyCane,20) - .addOutput(FICSMASWonderStar,1) + .addInput(FICSMASDecoration, 5) + .addInput(FICSMASCandyCane, 20) + .addOutput(FICSMASWonderStar, 1) .setDuration(24) .createRecipe(); } @@ -1458,11 +1431,11 @@ public class Database { { // Thermal Propulsion Rocket new RecipeBuilder().setBuilding(Buildings.MANUFACTURER) - .addInput(ModularEngine,5) + .addInput(ModularEngine, 5) .addInput(TurboMotor, 2) .addInput(CoolingSystem, 6) - .addInput(FusedModularFrame,2) - .addOutput(ThermalPropulsionRocket,2) + .addInput(FusedModularFrame, 2) + .addOutput(ThermalPropulsionRocket, 2) .setDuration(48) .createRecipe(); } @@ -1470,8 +1443,8 @@ public class Database { // Nuclear Pasta new RecipeBuilder().setBuilding(Buildings.PARTICLE_ACCELERATOR) .addInput(CopperPowder, 200) - .addInput(PressureConversionCube,1) - .addOutput(NuclearPasta,1) + .addInput(PressureConversionCube, 1) + .addOutput(NuclearPasta, 1) .setDuration(120) .createRecipe(); } @@ -1506,110 +1479,100 @@ public class Database { .setDuration(60) .createRecipe(); } - + { + // Nitric Acid + new RecipeBuilder().setBuilding(Buildings.BLENDER) + .addInput(NitrogenGas, 12) + .addInput(Water, 3) + .addInput(IronPlate, 1) + .addOutput(NitricAcid, 3) + .setDuration(6) + .createRecipe(); + new RecipeBuilder().setBuilding(Buildings.PACKAGER) + .addInput(PackagedNitricAcid, 1) + .addOutput(NitricAcid, 1) + .addOutput(EmptyFluidTank, 1, true) + .setDuration(3) + .createRecipe(); + new RecipeBuilder().setBuilding(Buildings.PACKAGER) + .addInput(NitricAcid, 1) + .addInput(EmptyFluidTank, 1) + .addOutput(PackagedNitricAcid, 1) + .setDuration(2) + .createRecipe(); + } + { + //Empty Fluid Tank + new RecipeBuilder().setBuilding(Buildings.CONSTRUCTOR) + // TODO: craftbench + .addInput(AluminumIngot, 1) + .addOutput(EmptyFluidTank, 1) + .setDuration(1) + .createRecipe(); + } + { + // Packaged Nitrogen Gas + new RecipeBuilder().setBuilding(Buildings.PACKAGER) + .addInput(NitrogenGas, 4) + .addInput(EmptyFluidTank, 1) + .addOutput(PackagedNitrogenGas, 1) + .setDuration(1) + .createRecipe(); + new RecipeBuilder().setBuilding(Buildings.PACKAGER) + .addInput(PackagedNitrogenGas, 1) + .addOutput(NitrogenGas, 4) + .addOutput(EmptyFluidTank, 1, true) + .setDuration(1) // TODO 240/min + .createRecipe(); + } + { + // Plutonium Fuel Rod + new RecipeBuilder().setBuilding(Buildings.MANUFACTURER) + .addInput(EncasedPlutoniumCell, 30) + .addInput(SteelBeam, 18) + .addInput(ElectromagneticControlRod, 6) + .addInput(HeatSink, 10) + .addOutput(PlutoniumFuelRod, 1) + .setDuration(240) + .createRecipe(); + } + { + // Encased Plutonium Cell + new RecipeBuilder().setBuilding(Buildings.ASSEMBLER) + // TODO: craft bench + .addInput(PlutoniumPellet, 2) + .addInput(Concrete, 4) + .addOutput(EncasedPlutoniumCell, 1) + .setDuration(12) + .createRecipe(); + } + { + // Plutonium Pellet + new RecipeBuilder().setBuilding(Buildings.PARTICLE_ACCELERATOR) + .addInput(NonfissileUranium, 100) + .addInput(UraniumWaste, 25) + .addOutput(PlutoniumPellet, 30) + .setDuration(12) + .createRecipe(); + } + { + // Uranium Waste + new RecipeBuilder().setBuilding(Buildings.NUCLEAR_POWER_PLANT) + .addOutput(UraniumWaste, 1) + .setDuration(60) + .createRecipe(); + } + { + // Non-fissile Uranium + new RecipeBuilder().setBuilding(Buildings.BLENDER) + .addInput(UraniumWaste, 15) + .addInput(Silica, 10) + .addInput(NitricAcid, 6) + .addInput(SulfuricAcid, 6) + .addOutput(NonfissileUranium, 20) + .addOutput(Water, 6, true) + .setDuration(12) //TODO: 50/min + .createRecipe(); + } } - public static final Item NitricAcid = new ProcessedFluid("Nitric Acid"); - public static final Item PackagedNitricAcid = new ProcessedFluid("Packaged Nitric Acid"); - public static final Item EmptyFluidTank = new Part("Empty Fluid Tank", -1); - { - // Nitric Acid - new RecipeBuilder().setBuilding(Buildings.BLENDER) - .addInput(NitrogenGas, 12) - .addInput(Water, 3) - .addInput(IronPlate, 1) - .addOutput(NitricAcid, 3) - .setDuration(6) - .createRecipe(); - new RecipeBuilder().setBuilding(Buildings.PACKAGER) - .addInput(PackagedNitricAcid, 1) - .addOutput(NitricAcid, 1) - .addOutput(EmptyFluidTank, 1, true) - .setDuration(3) - .createRecipe(); - new RecipeBuilder().setBuilding(Buildings.PACKAGER) - .addInput(NitricAcid, 1) - .addInput(EmptyFluidTank, 1) - .addOutput(PackagedNitricAcid, 1) - .setDuration(2) - .createRecipe(); - } - { - //Empty Fluid Tank - new RecipeBuilder().setBuilding(Buildings.CONSTRUCTOR) - // TODO: craftbench - .addInput(AluminumIngot, 1) - .addOutput(EmptyFluidTank, 1) - .setDuration(1) - .createRecipe(); - } - { - // Packaged Nitrogen Gas - new RecipeBuilder().setBuilding(Buildings.PACKAGER) - .addInput(NitrogenGas, 4) - .addInput(EmptyFluidTank, 1) - .addOutput(PackagedNitrogenGas, 1) - .setDuration(1) - .createRecipe(); - new RecipeBuilder().setBuilding(Buildings.PACKAGER) - .addInput(PackagedNitrogenGas, 1) - .addOutput(NitrogenGas, 4) - .addOutput(EmptyFluidTank, 1, true) - .setDuration(1) // TODO 240/min - .createRecipe(); - } - public static final Item PlutoniumFuelRod = new Part("Plutonium Fuel Rod", -1); - public static final Item EncasedPlutoniumCell = new Part("Encased Plutonium Cell", -1); - public static final Item PlutoniumPellet = new Part("Plutonium Pellet", -1); - public static final Item NonfissileUranium = new Part("Non-fissile Uranium", -1); - public static final Item UraniumWaste = new Part("Uranium Waste", -1); - { - // Plutonium Fuel Rod - new RecipeBuilder().setBuilding(Buildings.MANUFACTURER) - .addInput(EncasedPlutoniumCell, 30) - .addInput(SteelBeam, 18) - .addInput(ElectromagneticControlRod, 6) - .addInput(HeatSink, 10) - .addOutput(PlutoniumFuelRod, 1) - .setDuration(240) - .createRecipe(); - } - { - // Encased Plutonium Cell - new RecipeBuilder().setBuilding(Buildings.ASSEMBLER) - // TODO: craft bench - .addInput(PlutoniumPellet, 2) - .addInput(Concrete, 4) - .addOutput(EncasedPlutoniumCell, 1) - .setDuration(12) - .createRecipe(); - } - { - // Plutonium Pellet - new RecipeBuilder().setBuilding(Buildings.PARTICLE_ACCELERATOR) - .addInput(NonfissileUranium, 100) - .addInput(UraniumWaste, 25) - .addOutput(PlutoniumPellet, 30) - .setDuration(12) - .createRecipe(); - } - { - // Uranium Waste - new RecipeBuilder().setBuilding(Buildings.NUCLEAR_POWER_PLANT) - .addOutput(UraniumWaste, 1) - .setDuration(60) - .createRecipe(); - } - { - // Non-fissile Uranium - new RecipeBuilder().setBuilding(Buildings.BLENDER) - .addInput(UraniumWaste, 15) - .addInput(Silica, 10) - .addInput(NitricAcid, 6) - .addInput(SulfuricAcid, 6) - .addOutput(NonfissileUranium, 20) - .addOutput(Water, 6, true) - .setDuration(12) //TODO: 50/min - .createRecipe(); - } - } diff --git a/src/main/java/satisfactory/items/RecipeBuilder.java b/src/main/java/satisfactory/items/RecipeBuilder.java index 23b399b..fdec0af 100644 --- a/src/main/java/satisfactory/items/RecipeBuilder.java +++ b/src/main/java/satisfactory/items/RecipeBuilder.java @@ -82,7 +82,7 @@ public class RecipeBuilder { if (outputs.isEmpty()){ throw new IllegalStateException("no outputs set"); } - Recipe recipe = new Recipe(duration, inputs,outputs, byProducts,building,name,isHandCraftable ); + Recipe recipe = new Recipe(duration, inputs,outputs, byProducts, building, name, isHandCraftable); outputs.keySet().forEach(item -> item.add(recipe)); return recipe; }