|
|
|
|
@ -16,7 +16,7 @@ public class Database {
|
|
|
|
|
// BUILDINGS
|
|
|
|
|
public static final class Buildings {
|
|
|
|
|
public static final Building ASSEMBLER = new ProductionBuilding("Assembler", 15, assembler());
|
|
|
|
|
public static final Building BLENDER = new ProductionBuilding("Blender", -9999, blender()); // FIXME values
|
|
|
|
|
public static final Building BLENDER = new ProductionBuilding("Blender", 75, blender());
|
|
|
|
|
public static final Building CONSTRUCTOR = new ProductionBuilding("Constructor", 4, constructor());
|
|
|
|
|
public static final Building CRAFT_BENCH = new ProductionBuilding("Craft Bench", 0, craftBench());
|
|
|
|
|
public static final Building EQUIPMENT_WORKSHOP = new ProductionBuilding("Equipment Workshop", 0, equipmentWorkshop());
|
|
|
|
|
@ -43,7 +43,10 @@ public class Database {
|
|
|
|
|
|
|
|
|
|
private static Map<Item, Integer> blender() {
|
|
|
|
|
Map<Item, Integer> cost = new HashMap<>();
|
|
|
|
|
cost.put(TODO_ITEM, 1); //FIXME values
|
|
|
|
|
cost.put(Motor, 20);
|
|
|
|
|
cost.put(HeavyModularFrame, 10);
|
|
|
|
|
cost.put(AluminumCasing, 50);
|
|
|
|
|
cost.put(RadioControlUnit, 5);
|
|
|
|
|
return cost;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -343,7 +346,6 @@ public class Database {
|
|
|
|
|
public static final Item ClusterNobelisk = new Part("Cluster Nobelisk");
|
|
|
|
|
public static final Item ObjectScanner = new Tool("Object Scanner");
|
|
|
|
|
public static final Item NobeliskDetonator = new Tool("Nobelisk Detonator");
|
|
|
|
|
private static final Collection<Item> items = new HashSet<>();
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
{
|
|
|
|
|
@ -376,6 +378,7 @@ public class Database {
|
|
|
|
|
// Iron Ingot
|
|
|
|
|
IronIngot.add(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)
|
|
|
|
|
.addInput(Water, 4)
|
|
|
|
|
.addOutput(IronIngot, 13).createRecipe();
|
|
|
|
|
@ -384,6 +387,11 @@ public class Database {
|
|
|
|
|
{
|
|
|
|
|
// Copper Ingot
|
|
|
|
|
CopperIngot.add(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)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Caterium Ingot
|
|
|
|
|
@ -437,6 +445,12 @@ public class Database {
|
|
|
|
|
.addInput(IronPlate, 18)
|
|
|
|
|
.addInput(Screw, 50).createRecipe();
|
|
|
|
|
ReinforcedIronPlate.add(bolted);
|
|
|
|
|
Recipe stiched = new RecipeBuilder().setDuration(32).setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
.setName("Stitched Iron Plate")
|
|
|
|
|
.addInput(IronPlate,10)
|
|
|
|
|
.addInput(Wire,20)
|
|
|
|
|
.addOutput(ReinforcedIronPlate,3)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
|
|
|
|
|
ReinforcedIronPlate.setPreference(recipe);
|
|
|
|
|
}
|
|
|
|
|
@ -561,6 +575,7 @@ public class Database {
|
|
|
|
|
.addInput(Biomass, 5).addOutput(Fabric,1).createRecipe();
|
|
|
|
|
Fabric.add(recipe);
|
|
|
|
|
Recipe alt = new RecipeBuilder().setDuration(2).setBuilding(Buildings.REFINERY)
|
|
|
|
|
.setName("Polyester Fabric")
|
|
|
|
|
.addInput(PolymerResin, 1)
|
|
|
|
|
.addInput(Water, 1)
|
|
|
|
|
.addOutput(Fabric, 1).createRecipe();
|
|
|
|
|
@ -609,6 +624,11 @@ public class Database {
|
|
|
|
|
.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)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Color Catridge
|
|
|
|
|
@ -635,6 +655,11 @@ public class Database {
|
|
|
|
|
.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(CrystalOscillator, 3)
|
|
|
|
|
.addOutput(Computer,3)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
|
|
|
|
|
Computer.setPreference(recipe);
|
|
|
|
|
}
|
|
|
|
|
@ -740,6 +765,11 @@ public class Database {
|
|
|
|
|
.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)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
|
|
|
|
|
Fuel.setPreference(recipe);
|
|
|
|
|
}
|
|
|
|
|
@ -787,6 +817,15 @@ public class Database {
|
|
|
|
|
.addInput(Water, 4).createRecipe();
|
|
|
|
|
Rubber.add(residualRubber);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Heavy Oil Residue
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY)
|
|
|
|
|
.addInput(CrudeOil, 3)
|
|
|
|
|
.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)
|
|
|
|
|
@ -921,108 +960,147 @@ public class Database {
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//Turbofuel
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(3).setBuilding(Buildings.REFINERY)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(16)
|
|
|
|
|
.setBuilding(Buildings.REFINERY)
|
|
|
|
|
.addInput(Fuel, 6)
|
|
|
|
|
.addInput(CompactedCoal, 4)
|
|
|
|
|
.addOutput(Turbofuel, 5).createRecipe();
|
|
|
|
|
.addOutput(Turbofuel, 5)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
//TODO: 60/18,75
|
|
|
|
|
Turbofuel.add(recipe);
|
|
|
|
|
Recipe packaged = new RecipeBuilder().setDuration(3).setBuilding(Buildings.PACKAGER)
|
|
|
|
|
Recipe packaged = new RecipeBuilder()
|
|
|
|
|
.setDuration(3)
|
|
|
|
|
.setBuilding(Buildings.PACKAGER)
|
|
|
|
|
.addInput(PackagedTurboFuel, 2)
|
|
|
|
|
.addOutput(Turbofuel, 2)
|
|
|
|
|
.addOutput(EmptyCanister, 2, true).createRecipe();
|
|
|
|
|
.addOutput(EmptyCanister, 2, true)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
Turbofuel.add(packaged);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Packaged Turbofuel
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(3).setBuilding(Buildings.PACKAGER)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(3)
|
|
|
|
|
.setBuilding(Buildings.PACKAGER)
|
|
|
|
|
.addInput(Turbofuel, 2)
|
|
|
|
|
.addInput(EmptyCanister, 2)
|
|
|
|
|
.addOutput(PackagedTurboFuel, 2).createRecipe();
|
|
|
|
|
.addOutput(PackagedTurboFuel, 2)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
PackagedTurboFuel.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Compacted Coal
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(12)
|
|
|
|
|
.setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
.addInput(Coal, 5)
|
|
|
|
|
.addInput(Sulfur, 5)
|
|
|
|
|
.addOutput(CompactedCoal, 5).createRecipe();
|
|
|
|
|
//TODO: 60/25
|
|
|
|
|
.addOutput(CompactedCoal, 5)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
CompactedCoal.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Iron Rebar
|
|
|
|
|
IronRebar.add(new RecipeBuilder().setDuration(4).addInput(IronRod,1).addOutput(IronRebar,1).setBuilding(Buildings.CONSTRUCTOR).createRecipe());
|
|
|
|
|
IronRebar.add(new RecipeBuilder()
|
|
|
|
|
.setDuration(4)
|
|
|
|
|
.addInput(IronRod,1)
|
|
|
|
|
.addOutput(IronRebar,1)
|
|
|
|
|
.setBuilding(Buildings.CONSTRUCTOR)
|
|
|
|
|
.createRecipe());
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Stun Rebar
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(6)
|
|
|
|
|
.setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
.addInput(IronRebar, 1)
|
|
|
|
|
.addInput(Quickwire, 5)
|
|
|
|
|
.addOutput(StunRebar, 1).createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
.addOutput(StunRebar, 1)
|
|
|
|
|
.createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
StunRebar.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Explosive Rebar
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.MANUFACTURER)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(12)
|
|
|
|
|
.setBuilding(Buildings.MANUFACTURER)
|
|
|
|
|
.addInput(IronRebar, 1)
|
|
|
|
|
.addInput(SmokelessPowder, 2)
|
|
|
|
|
.addInput(SteelPipe, 2)
|
|
|
|
|
.addOutput(ExplosiveRebar, 1).createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
.addOutput(ExplosiveRebar, 1)
|
|
|
|
|
.createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
ExplosiveRebar.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Rebar Gun
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(60).setBuilding(Buildings.EQUIPMENT_WORKSHOP)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(60)
|
|
|
|
|
.setBuilding(Buildings.EQUIPMENT_WORKSHOP)
|
|
|
|
|
.addInput(ReinforcedIronPlate, 6)
|
|
|
|
|
.addInput(IronRod, 16)
|
|
|
|
|
.addInput(Screw, 100)
|
|
|
|
|
.addOutput(RebarGun, 1).createRecipe();
|
|
|
|
|
.addOutput(RebarGun, 1)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
RebarGun.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Rifle Ammo
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(12)
|
|
|
|
|
.setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
.addInput(CopperSheet, 3)
|
|
|
|
|
.addInput(SmokelessPowder, 2)
|
|
|
|
|
.addOutput(RifleAmmo, 15).createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
.addOutput(RifleAmmo, 15)
|
|
|
|
|
.createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
RifleAmmo.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Homing Rifle Ammo
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(12).setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(12)
|
|
|
|
|
.setBuilding(Buildings.ASSEMBLER)
|
|
|
|
|
.addInput(RifleAmmo, 20)
|
|
|
|
|
.addInput(HighSpeedConnector, 1)
|
|
|
|
|
.addOutput(HomingRifleAmmo, 10).createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
.addOutput(HomingRifleAmmo, 10)
|
|
|
|
|
.createRecipe();//TODO , EQUIPMENT_WORKSHOP)
|
|
|
|
|
HomingRifleAmmo.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Rifle
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(120).setBuilding(Buildings.EQUIPMENT_WORKSHOP)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(120)
|
|
|
|
|
.setBuilding(Buildings.EQUIPMENT_WORKSHOP)
|
|
|
|
|
.addInput(Motor, 2)
|
|
|
|
|
.addInput(Rubber, 10)
|
|
|
|
|
.addInput(SteelPipe, 25)
|
|
|
|
|
.addInput(Screw, 250)
|
|
|
|
|
.addOutput(Rifle, 1).createRecipe();
|
|
|
|
|
.addOutput(Rifle, 1)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
Rifle.add(recipe);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
// Smokeless Powder
|
|
|
|
|
Recipe recipe = new RecipeBuilder().setDuration(6).setBuilding(Buildings.REFINERY)
|
|
|
|
|
Recipe recipe = new RecipeBuilder()
|
|
|
|
|
.setDuration(6)
|
|
|
|
|
.setBuilding(Buildings.REFINERY)
|
|
|
|
|
.addInput(BlackPowder, 2)
|
|
|
|
|
.addInput(HeavyOilResidue, 1)
|
|
|
|
|
.addOutput(SmokelessPowder, 2).createRecipe();
|
|
|
|
|
.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)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
Recipe charcoal = new RecipeBuilder().setName("Charcoal").setBuilding(Buildings.CONSTRUCTOR).setDuration(4)
|
|
|
|
|
.addInput(Wood,1)
|
|
|
|
|
.addOutput(Coal, 10)
|
|
|
|
|
.createRecipe();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static Item add(Item i) {
|
|
|
|
|
//items.add(i);
|
|
|
|
|
return i;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static Collection<Item> getItems() {
|
|
|
|
|
return new HashSet<>(items);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|