916 lines
25 KiB
Python
916 lines
25 KiB
Python
from enum import Enum
|
|
from typing import Dict
|
|
from shared import Machine, Item
|
|
from pydantic import BaseModel, Field, ConfigDict
|
|
|
|
|
|
class Machines(Enum):
|
|
Miner = Machine(name="Miner")
|
|
Smelter = Machine(name="Smelter")
|
|
Constructor = Machine(name="Constructor")
|
|
Assembler = Machine(name="Assembler")
|
|
Sorter = Machine(name="Sorter")
|
|
Crusher = Machine(name="Crusher")
|
|
Foundry = Machine(name="Foundry")
|
|
FlexibleBlastFurnace = Machine(name="Flexible Blast Furnace")
|
|
Reformer = Machine(name="Reformer")
|
|
WetWasher = Machine(name="Wet Washer")
|
|
BoilerMk1 = Machine(name="Boiler Mk1")
|
|
|
|
|
|
class Items(Enum):
|
|
IronIngot = Item(name="Iron Ingot")
|
|
CopperIngot = Item(name="Copper Ingot")
|
|
Limestone = Item(name="Limestone")
|
|
IronOre = Item(name="Iron Ore")
|
|
CopperOre = Item(name="Copper Ore")
|
|
IronPlate = Item(name="Iron Plate")
|
|
IronRod = Item(name="Iron Rod")
|
|
Wire = Item(name="Wire")
|
|
Cable = Item(name="Cable")
|
|
Concrete = Item(name="Concrete")
|
|
ReinforcedIronPlate = Item(name="Reinforced Iron Plate")
|
|
ModularFrame = Item(name="Modular Frame")
|
|
BronzeBeam = Item(name="Bronze Beam")
|
|
TinPlate = Item(name="Tin Plate")
|
|
TinIngot = Item(name="Tin Ingot")
|
|
CrushedTin = Item(name="Crushed Tin")
|
|
CrushedIron = Item(name="Crushed Iron")
|
|
CrushedGangue = Item(name="Crushed Gangue")
|
|
CrushedSiterite = Item(name="Crushed Siterite")
|
|
SiteriteOre = Item(name="Siterite Ore")
|
|
Screws = Item(name="Screws")
|
|
BronzeIngot = Item(name="Bronze Ingot")
|
|
CrushedCopper = Item(name="Crushed Copper")
|
|
CrushedMagnesium = Item(name="Crushed Magnesium")
|
|
CrushedCallanite = Item(name="Crushed Callanite")
|
|
CallaniteOre = Item(name="Callanite Ore")
|
|
CrushedLarrussite = Item(name="Crushed Larrussite")
|
|
CrushedAurovite = Item(name="Crushed Aurovite")
|
|
AuroviteOre = Item(name="Aurovite Ore")
|
|
Sand = Item(name="Sand")
|
|
MagnesiumGranules = Item(name="Magnesium Granules")
|
|
CrushedZinc = Item(name="Crushed Zinc")
|
|
LarrussiteOre = Item(name="Larrussite Ore")
|
|
ZincIngot = Item(name="Zinc Ingot")
|
|
Glass = Item(name="Glass")
|
|
IronSheet = Item(name="Iron Sheet")
|
|
CopperRod = Item(name="Copper Rod")
|
|
CopperSheet = Item(name="Copper Sheet")
|
|
BronzePlates = Item(name="Bronze Plates")
|
|
CateriumRod = Item(name="Caterium Rod")
|
|
CateriumIngot = Item(name="Caterium Ingot")
|
|
CateriumPlate = Item(name="Caterium Plate")
|
|
TinRod = Item(name="Tin Rod")
|
|
ZincPlates = Item(name="Zinc Plates")
|
|
IronWire = Item(name="Iron Wire")
|
|
CopperBusbars = Item(name="Copper Busbars")
|
|
Quickwire = Item(name="Quickwire")
|
|
TinnedWire = Item(name="Tinned Wire")
|
|
SolarCell = Item(name="Solar Cell")
|
|
Silica = Item(name="Silica")
|
|
BronzePipes = Item(name="Bronze Pipes")
|
|
SmoothBeltDrive = Item(name="Smooth Belt Drive")
|
|
TinnedSheet = Item(name="Tinned Sheet")
|
|
Rotor = Item(name="Rotor")
|
|
BronzeFrame = Item(name="Bronze Frame")
|
|
AILimiter = Item(name="AI Limiter")
|
|
Water = Item(name="Water")
|
|
CrushedCaterium = Item(name="Crushed Caterium")
|
|
CateriumHeatsink = Item(name="Caterium Heatsink")
|
|
MoltenIron = Item(name="Molten Iron")
|
|
MoltenCopper = Item(name="Molten Copper")
|
|
MoltenTin = Item(name="Molten Tin")
|
|
Steam = Item(name="Steam")
|
|
MoltenBrass = Item(name="Molten Brass")
|
|
BrassIngot = Item(name="Brass Ingot")
|
|
BrassPlates = Item(name="Brass Plates")
|
|
BrassPipes = Item(name="Brass Pipes")
|
|
ColdSlag = Item(name="Cold Slag")
|
|
FanBlades = Item(name="Fan Blades")
|
|
TailingsSlurry = Item(name="Tailings Slurry")
|
|
CarbonPowder = Item(name="Carbon Powder")
|
|
Coal = Item(name="Coal")
|
|
MoltenSteel = Item(name="Molten Steel")
|
|
FlueGas = Item(name="Flue Gas")
|
|
SteelIngot = Item(name="Steel Ingot")
|
|
Air = Item(name="Air")
|
|
SteelBeam = Item(name="Steel Beam")
|
|
SteelPipe = Item(name="Steel Pipe")
|
|
SteelBolt = Item(name="Steel Bolt")
|
|
SteelRod = Item(name="Steel Rod")
|
|
Stator = Item(name="Stator")
|
|
Kyalite = Item(name="Kyalite")
|
|
Salt = Item(name="Salt")
|
|
Diamonds = Item(name="Diamonds")
|
|
QuartzCrystal = Item(name="Quartz Crystal")
|
|
BrassBeltDrive = Item(name="Brass Belt Drive")
|
|
|
|
class RawResources(Enum):
|
|
Water = Items.Water
|
|
SiteriteOre = Items.SiteriteOre
|
|
LarrussiteOre = Items.LarrussiteOre
|
|
CallaniteOre = Items.CallaniteOre
|
|
AuroviteOre = Items.AuroviteOre
|
|
Kyalite = Items.Kyalite
|
|
Coal = Items.Coal
|
|
Air = Items.Air
|
|
|
|
class RawResources(Enum):
|
|
SiteriteOre = Items.SiteriteOre
|
|
LarrussiteOre = Items.LarrussiteOre
|
|
CallaniteOre = Items.CallaniteOre
|
|
AuroviteOre = Items.AuroviteOre
|
|
|
|
class Recipe(BaseModel):
|
|
model_config = ConfigDict(frozen=True)
|
|
name: str
|
|
building: Machines
|
|
outputs: Dict[Items, float]
|
|
inputs: Dict[Items, float] = Field(default_factory=dict)
|
|
byproducts: Dict[Items, float] = Field(default_factory=dict)
|
|
|
|
class Recipes(Enum):
|
|
# Crusher
|
|
# - Crushing Ores
|
|
CrushedSiterite = Recipe(
|
|
name="Crushed Siterite",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.CrushedSiterite: 60.0,
|
|
Items.CrushedGangue: 25.0,
|
|
},
|
|
inputs={Items.SiteriteOre: 60.0},
|
|
)
|
|
CrushedLarrussite = Recipe(
|
|
name="Crushed Larrussite",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.CrushedLarrussite: 40.0,
|
|
},
|
|
inputs={Items.LarrussiteOre: 60.0},
|
|
byproducts={Items.CrushedGangue: 20.0,}
|
|
)
|
|
CrushedCallanite = Recipe(
|
|
name="Crushed Callanite",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.CrushedCallanite: 60.0,
|
|
Items.CrushedGangue: 25.0,
|
|
},
|
|
inputs={Items.CallaniteOre: 60.0},
|
|
)
|
|
CrushedAurovite = Recipe(
|
|
name="Crushed Aurovite",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.CrushedAurovite: 60.0,
|
|
Items.CrushedGangue: 22.5,
|
|
},
|
|
inputs={Items.AuroviteOre: 60.0},
|
|
)
|
|
CrushedSilica = Recipe(
|
|
name="Crushed Silica",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.Silica: 60.0,
|
|
Items.Sand: 40.0,
|
|
},
|
|
inputs={Items.Kyalite: 60.0},
|
|
)
|
|
# - Crushing Powders
|
|
CoarseSand = Recipe(
|
|
name="Coarse Sand",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.Sand: 30.0
|
|
},
|
|
inputs={Items.CrushedGangue: 60.0},
|
|
)
|
|
MagnesiumGranules = Recipe(
|
|
name="Magnesium Granules",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.MagnesiumGranules: 72.0
|
|
},
|
|
inputs={Items.CrushedMagnesium: 80.0},
|
|
)
|
|
CarbonPowder = Recipe(
|
|
name="Carbon Powder",
|
|
building=Machines.Crusher,
|
|
outputs={
|
|
Items.CarbonPowder: 40.0
|
|
},
|
|
inputs={Items.Coal: 80.0},
|
|
)
|
|
# Sorter
|
|
# - Simple Sorting
|
|
CrushedIron = Recipe(
|
|
name="Crushed Iron",
|
|
building=Machines.Sorter,
|
|
outputs={
|
|
Items.CrushedIron: 90.0,
|
|
Items.CrushedTin: 60.0,
|
|
Items.CrushedGangue: 40.0,
|
|
},
|
|
inputs={Items.CrushedSiterite: 120.0},
|
|
)
|
|
CrushedCopper = Recipe(
|
|
name="Crushed Copper",
|
|
building=Machines.Sorter,
|
|
outputs={
|
|
Items.CrushedCopper: 96.0,
|
|
Items.CrushedMagnesium: 80.0,
|
|
Items.CrushedGangue: 40.0,
|
|
},
|
|
inputs={Items.CrushedCallanite: 120.0},
|
|
)
|
|
CrushedZinc = Recipe(
|
|
name="Crushed Zinc",
|
|
building=Machines.Sorter,
|
|
outputs={
|
|
Items.CrushedZinc: 96.0,
|
|
Items.Sand: 48.0,
|
|
},
|
|
inputs={Items.CrushedLarrussite: 120.0},
|
|
byproducts={
|
|
Items.CrushedGangue: 60.0,
|
|
}
|
|
)
|
|
CrushedCaterium = Recipe(
|
|
name="Crushed Caterium",
|
|
building=Machines.Sorter,
|
|
outputs={
|
|
Items.CrushedCaterium: 80.0,
|
|
Items.CrushedCopper: 40.0,
|
|
Items.CrushedGangue: 30.0,
|
|
},
|
|
inputs={Items.CrushedAurovite: 120.0},
|
|
)
|
|
QuartzCrystal = Recipe(
|
|
name="Quartz Crystal",
|
|
building=Machines.Sorter,
|
|
outputs={
|
|
Items.QuartzCrystal: 100.0,
|
|
Items.Salt: 40.0,
|
|
Items.Sand: 40.0,
|
|
},
|
|
inputs={Items.Kyalite: 120.0},
|
|
)
|
|
# - Advanced Sorting
|
|
SaltKyalite = Recipe(
|
|
name="Salt (Kyalite)",
|
|
building=Machines.Sorter,
|
|
outputs={
|
|
Items.Salt: 90.0,
|
|
Items.Silica: 45.0,
|
|
Items.Sand: 30.0,
|
|
},
|
|
inputs={
|
|
Items.Kyalite: 120.0,
|
|
Items.Water: 45.0,
|
|
},
|
|
)
|
|
# Smelter
|
|
# - smelting
|
|
IronIngot = Recipe(
|
|
name="Iron Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.IronIngot: 30.0},
|
|
inputs={Items.CrushedIron: 30.0},
|
|
)
|
|
CopperIngot = Recipe(
|
|
name="Copper Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.CopperIngot: 48.0},
|
|
inputs={Items.CrushedCopper: 48.0},
|
|
)
|
|
TinIngot = Recipe(
|
|
name="Tin Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.TinIngot: 15.0},
|
|
inputs={Items.CrushedTin: 15.0},
|
|
)
|
|
CateriumIngot = Recipe(
|
|
name="Caterium Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.CateriumIngot: 40.0},
|
|
inputs={Items.CrushedCaterium: 40.0},
|
|
)
|
|
# - Ingots
|
|
ImpureIronIngot = Recipe(
|
|
name="Impure Iron Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.IronIngot: 30.0},
|
|
inputs={Items.CrushedSiterite: 30.0},
|
|
)
|
|
ImpureCopperIngot = Recipe(
|
|
name="Impure Copper Ingot",
|
|
building=Machines.Smelter,
|
|
inputs={Items.CrushedCallanite: 24.0},
|
|
outputs={Items.CopperIngot: 24.0},
|
|
)
|
|
ImpureTinIngot = Recipe(
|
|
name="Impure Tin Ingot",
|
|
building=Machines.Smelter,
|
|
inputs={Items.CrushedSiterite: 30.0},
|
|
outputs={Items.TinIngot: 15.0},
|
|
)
|
|
ImpureCateriumIngot = Recipe(
|
|
name="Impure Caterium Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.CateriumIngot: 24.0},
|
|
inputs={Items.CrushedAurovite: 40.0},
|
|
)
|
|
ZincIngot = Recipe(
|
|
name="Zinc Ingot",
|
|
building=Machines.Smelter,
|
|
outputs={Items.ZincIngot: 15.0},
|
|
inputs={Items.CrushedZinc: 24.0},
|
|
)
|
|
# - Standard Parts
|
|
SloppyGlass = Recipe(
|
|
name="Sloppy Glass",
|
|
building=Machines.Smelter,
|
|
outputs={Items.Glass: 20.0},
|
|
inputs={Items.Sand: 30.0},
|
|
)
|
|
CastIronScrew = Recipe(
|
|
name="Cast Iron Screw",
|
|
building=Machines.Smelter,
|
|
outputs={Items.Screws: 40.0},
|
|
inputs={Items.IronIngot: 20.0},
|
|
)
|
|
# Constructor
|
|
# - Standard Parts
|
|
IronPlate = Recipe(
|
|
name="Iron Plate",
|
|
building=Machines.Constructor,
|
|
outputs={Items.IronPlate: 20.0},
|
|
inputs={Items.IronIngot: 30.0},
|
|
)
|
|
Screws = Recipe(
|
|
name="Screws",
|
|
building=Machines.Constructor,
|
|
outputs={Items.Screws: 50.0},
|
|
inputs={Items.IronRod: 20.0},
|
|
)
|
|
IronRod = Recipe(
|
|
name="Iron Rod",
|
|
building=Machines.Constructor,
|
|
outputs={Items.IronRod: 15.0},
|
|
inputs={Items.IronIngot: 15.0},
|
|
)
|
|
IronSheet = Recipe(
|
|
name="Iron Sheet",
|
|
building=Machines.Constructor,
|
|
outputs={Items.IronSheet: 50.0},
|
|
inputs={Items.IronPlate: 40.0},
|
|
)
|
|
CopperRod = Recipe(
|
|
name="Copper Rod",
|
|
building=Machines.Constructor,
|
|
outputs={Items.CopperRod: 18.0},
|
|
inputs={Items.CopperIngot: 12.0},
|
|
)
|
|
CopperSheet = Recipe(
|
|
name="Copper Sheet",
|
|
building=Machines.Constructor,
|
|
outputs={Items.CopperSheet: 30.0},
|
|
inputs={Items.CopperIngot: 24.0},
|
|
)
|
|
BronzeBeam = Recipe(
|
|
name="Bronze Beam",
|
|
building=Machines.Constructor,
|
|
outputs={Items.BronzeBeam: 7.5},
|
|
inputs={Items.BronzeIngot: 22.5},
|
|
)
|
|
BronzePlates = Recipe(
|
|
name="Bronze Plates",
|
|
building=Machines.Constructor,
|
|
outputs={Items.BronzePlates: 24.0},
|
|
inputs={Items.BronzeIngot: 30.0},
|
|
)
|
|
CateriumRod = Recipe(
|
|
name="Caterium Rod",
|
|
building=Machines.Constructor,
|
|
outputs={Items.CateriumRod: 32.0},
|
|
inputs={Items.CateriumIngot: 16.0},
|
|
)
|
|
CateriumPlate = Recipe(
|
|
name="Caterium Plate",
|
|
building=Machines.Constructor,
|
|
outputs={Items.CateriumPlate: 36.0},
|
|
inputs={Items.CateriumIngot: 60.0},
|
|
)
|
|
TinRod = Recipe(
|
|
name="Tin Rod",
|
|
building=Machines.Constructor,
|
|
outputs={Items.TinRod: 15.0},
|
|
inputs={Items.TinIngot: 30.0},
|
|
)
|
|
ZincPlates = Recipe(
|
|
name="Zinc Plates",
|
|
building=Machines.Constructor,
|
|
outputs={Items.ZincPlates: 15.0},
|
|
inputs={Items.ZincIngot: 12.5},
|
|
)
|
|
RolledBronzePlate = Recipe(
|
|
name="Rolled Bronze Plate",
|
|
building=Machines.Constructor,
|
|
outputs={Items.BronzePipes: 16.0},
|
|
inputs={Items.BronzePlates: 8.0},
|
|
)
|
|
CompactedIronPlate = Recipe(
|
|
name="Compacted Iron Plate",
|
|
building=Machines.Constructor,
|
|
outputs={Items.ReinforcedIronPlate: 3.0},
|
|
inputs={Items.IronPlate: 20.0},
|
|
)
|
|
# - Electronics
|
|
IronWire = Recipe(
|
|
name="Iron Wire",
|
|
building=Machines.Constructor,
|
|
outputs={Items.IronWire: 30.0},
|
|
inputs={Items.IronRod: 20.0},
|
|
)
|
|
Wire = Recipe(
|
|
name="Wire",
|
|
building=Machines.Constructor,
|
|
outputs={Items.Wire: 30.0},
|
|
inputs={Items.CopperRod: 18.0},
|
|
)
|
|
CopperBusbars = Recipe(
|
|
name="Copper Busbars",
|
|
building=Machines.Constructor,
|
|
outputs={Items.CopperBusbars: 15.0},
|
|
inputs={Items.CopperRod: 24.0},
|
|
)
|
|
Cable = Recipe(
|
|
name="Cable",
|
|
building=Machines.Constructor,
|
|
outputs={Items.Cable: 30.0},
|
|
inputs={Items.Wire: 60.0},
|
|
)
|
|
Quickwire = Recipe(
|
|
name="Quickwire",
|
|
building=Machines.Constructor,
|
|
outputs={Items.Quickwire: 80.0},
|
|
inputs={Items.CateriumRod: 24.0},
|
|
)
|
|
PureTinWire = Recipe(
|
|
name="Pure Tin Wire",
|
|
building=Machines.Constructor,
|
|
outputs={Items.TinnedWire: 11.25},
|
|
inputs={Items.TinRod: 15.0},
|
|
)
|
|
# - Compounds
|
|
Concrete = Recipe(
|
|
name="Concrete",
|
|
building=Machines.Constructor,
|
|
outputs={Items.Concrete: 15.0},
|
|
inputs={Items.CrushedGangue: 45.0},
|
|
)
|
|
# - Industrial Parts
|
|
BrassPlates = Recipe(
|
|
name="Brass Plates",
|
|
building=Machines.Constructor,
|
|
outputs={Items.BrassPlates: 18.0},
|
|
inputs={Items.BrassIngot: 25.0},
|
|
)
|
|
SteelBolt = Recipe(
|
|
name="Steel Bolt",
|
|
building=Machines.Constructor,
|
|
outputs={Items.SteelBolt: 37.5},
|
|
inputs={Items.SteelRod: 12.5},
|
|
)
|
|
HighPressureDiamond = Recipe(
|
|
name="High Pressure Diamond",
|
|
building=Machines.Constructor,
|
|
outputs={Items.Diamonds: 1.0},
|
|
inputs={Items.CarbonPowder: 20.0},
|
|
)
|
|
# Foundry
|
|
# - Building Parts
|
|
SolarCell = Recipe(
|
|
name="Solar Cell",
|
|
building=Machines.Foundry,
|
|
outputs={Items.SolarCell: 11.25},
|
|
inputs={
|
|
Items.ZincPlates: 22.5,
|
|
Items.Silica: 67.5,
|
|
},
|
|
)
|
|
# - Alloys
|
|
BronzePipes = Recipe(
|
|
name="Bronze Pipes",
|
|
building=Machines.Foundry,
|
|
outputs={Items.BronzePipes: 36.0},
|
|
inputs={
|
|
Items.CopperIngot: 24.0,
|
|
Items.TinIngot: 15.0,
|
|
},
|
|
)
|
|
# - ingots
|
|
BronzeIngot = Recipe(
|
|
name="Bronze Ingot",
|
|
building=Machines.Foundry,
|
|
outputs={Items.BronzeIngot: 45.0},
|
|
inputs={
|
|
Items.CopperIngot: 36.0,
|
|
Items.TinIngot: 15.0,
|
|
},
|
|
)
|
|
# - Standard Parts
|
|
TemperedSteelRod = Recipe(
|
|
name="Tempered Steel Rod",
|
|
building=Machines.Foundry,
|
|
outputs={Items.SteelRod: 12.5},
|
|
inputs={
|
|
Items.IronRod: 30.0,
|
|
Items.CarbonPowder: 12.5
|
|
}
|
|
)
|
|
# - Industrial Parts
|
|
SteelBeam = Recipe(
|
|
name="Steel Beam",
|
|
building=Machines.Foundry,
|
|
outputs={Items.SteelBeam: 22.5},
|
|
inputs={
|
|
Items.SteelIngot: 60.0,
|
|
Items.ZincIngot: 20.0
|
|
},
|
|
)
|
|
CastSteelPipe = Recipe(
|
|
name="Cast Steel Pipe",
|
|
building=Machines.Foundry,
|
|
outputs={Items.SteelPipe: 45.0},
|
|
inputs={
|
|
Items.SteelIngot: 30.0,
|
|
Items.Sand: 24.0,
|
|
},
|
|
)
|
|
# - Other
|
|
ThermalSilica = Recipe(
|
|
name="Thermal Silica",
|
|
building=Machines.Foundry,
|
|
outputs={Items.Silica: 45.0},
|
|
inputs={
|
|
Items.Sand: 30.0,
|
|
Items.MagnesiumGranules: 27.0,
|
|
},
|
|
)
|
|
SaltySlag = Recipe(
|
|
name="Salty Slag",
|
|
building=Machines.Foundry,
|
|
outputs={Items.ColdSlag: 15.0},
|
|
inputs={
|
|
Items.Salt: 22.5,
|
|
Items.MagnesiumGranules: 30.0,
|
|
},
|
|
)
|
|
# Assembler
|
|
# - Building Parts
|
|
SmoothBeltDrive = Recipe(
|
|
name="Smooth Belt Drive",
|
|
building=Machines.Assembler,
|
|
outputs={Items.SmoothBeltDrive: 18.75},
|
|
inputs={
|
|
Items.TinnedSheet: 15.0,
|
|
Items.Rotor: 3.75,
|
|
},
|
|
)
|
|
SlagConcrete = Recipe(
|
|
name="Slag Concrete",
|
|
building=Machines.Assembler,
|
|
outputs={Items.Concrete: 22.5},
|
|
inputs={
|
|
Items.ColdSlag: 33.75,
|
|
Items.CrushedGangue: 11.25,
|
|
},
|
|
)
|
|
FanBlades = Recipe(
|
|
name="Fan Blades",
|
|
building=Machines.Assembler,
|
|
outputs={Items.FanBlades: 7.5},
|
|
inputs={
|
|
Items.BrassPlates: 8.0,
|
|
Items.IronRod: 22.5,
|
|
},
|
|
)
|
|
# - Standard Parts
|
|
TinPlate = Recipe(
|
|
name="Tin Plate",
|
|
building=Machines.Assembler,
|
|
outputs={Items.TinPlate: 40.0},
|
|
inputs={
|
|
Items.TinIngot: 30.0,
|
|
Items.IronPlate: 20.0,
|
|
},
|
|
)
|
|
TinnedWire = Recipe(
|
|
name="Tinned Wire",
|
|
building=Machines.Assembler,
|
|
outputs={Items.TinnedWire: 90},
|
|
inputs={
|
|
Items.Wire: 60.0,
|
|
Items.TinRod: 45.0,
|
|
},
|
|
)
|
|
TinnedSheet = Recipe(
|
|
name="Tinned Sheet",
|
|
building=Machines.Assembler,
|
|
outputs={Items.TinnedSheet: 40.0},
|
|
inputs={
|
|
Items.TinIngot: 20.0,
|
|
Items.CopperSheet: 20.0,
|
|
},
|
|
)
|
|
Rotor = Recipe(
|
|
name="Rotor",
|
|
building=Machines.Assembler,
|
|
outputs={Items.Rotor: 7.5},
|
|
inputs={
|
|
Items.CopperBusbars: 22.5,
|
|
Items.IronWire: 60.0,
|
|
},
|
|
)
|
|
ReinforcedIronPlate = Recipe(
|
|
name="Reinforced Iron Plate",
|
|
building=Machines.Assembler,
|
|
outputs={Items.ReinforcedIronPlate: 5.0},
|
|
inputs={
|
|
Items.TinPlate: 20.0,
|
|
Items.Screws: 37.5,
|
|
},
|
|
)
|
|
BronzeFrame = Recipe(
|
|
name="Bronze Frame",
|
|
building=Machines.Assembler,
|
|
outputs={Items.BronzeFrame: 5.0},
|
|
inputs={
|
|
Items.BronzeBeam: 10.0,
|
|
Items.BronzePipes: 24.0,
|
|
},
|
|
)
|
|
ModularFrame = Recipe(
|
|
name="Modular Frame",
|
|
building=Machines.Assembler,
|
|
outputs={Items.ModularFrame: 6.0},
|
|
inputs={
|
|
Items.ReinforcedIronPlate: 7.5,
|
|
Items.BronzeBeam: 7.5,
|
|
},
|
|
)
|
|
FastenedFrame = Recipe(
|
|
name="Fastened Frame",
|
|
building=Machines.Assembler,
|
|
outputs={Items.ModularFrame: 20.0},
|
|
inputs={
|
|
Items.ReinforcedIronPlate: 15,
|
|
Items.Screws: 150,
|
|
},
|
|
)
|
|
BrassPipes = Recipe(
|
|
name="Brass Pipes",
|
|
building=Machines.Assembler,
|
|
outputs={Items.BrassPipes: 12.5},
|
|
inputs={
|
|
Items.BrassPlates: 15.0,
|
|
Items.CopperRod: 7.5
|
|
},
|
|
)
|
|
# - Electronics
|
|
AILimiter = Recipe(
|
|
name="AI Limiter",
|
|
building=Machines.Assembler,
|
|
outputs={Items.AILimiter: 6.0},
|
|
inputs={
|
|
Items.CateriumPlate: 24.0,
|
|
Items.TinnedWire: 18.0,
|
|
},
|
|
)
|
|
# - Industrial
|
|
CateriumHeatsink = Recipe(
|
|
name="Caterium Heatsink",
|
|
building=Machines.Assembler,
|
|
outputs={Items.CateriumHeatsink: 10.0},
|
|
inputs={
|
|
Items.CateriumPlate: 28.0,
|
|
Items.CopperBusbars: 10.0,
|
|
},
|
|
)
|
|
Stator = Recipe(
|
|
name="Stator",
|
|
building=Machines.Assembler,
|
|
outputs={Items.Stator: 6.0},
|
|
inputs={
|
|
Items.SteelPipe: 18.0,
|
|
Items.TinnedWire: 36.0,
|
|
},
|
|
)
|
|
# Flexible Blast Furnace
|
|
# - Molten Metals
|
|
MoltenIron = Recipe(
|
|
name="Molten Iron",
|
|
building=Machines.FlexibleBlastFurnace,
|
|
outputs={Items.MoltenIron: 60.0},
|
|
inputs={
|
|
Items.CrushedIron: 120.0,
|
|
},
|
|
)
|
|
MoltenCopper = Recipe(
|
|
name="Molten Copper",
|
|
building=Machines.FlexibleBlastFurnace,
|
|
outputs={Items.MoltenCopper: 60.0},
|
|
inputs={
|
|
Items.CrushedCopper: 120.0,
|
|
},
|
|
)
|
|
MoltenTin = Recipe(
|
|
name="Molten Tin",
|
|
building=Machines.FlexibleBlastFurnace,
|
|
outputs={Items.MoltenTin: 60.0},
|
|
inputs={
|
|
Items.CrushedTin: 120.0,
|
|
},
|
|
)
|
|
# - Alloys
|
|
MoltenBrass = Recipe(
|
|
name="Molten Brass",
|
|
building=Machines.FlexibleBlastFurnace,
|
|
outputs={Items.MoltenBrass: 60.0},
|
|
inputs={
|
|
Items.CrushedZinc: 32.0,
|
|
Items.MoltenCopper: 20.0,
|
|
},
|
|
)
|
|
MoltenSteel = Recipe(
|
|
name="Molten Steel",
|
|
building=Machines.FlexibleBlastFurnace,
|
|
outputs={
|
|
Items.MoltenSteel: 40.0,
|
|
Items.FlueGas: 30.0
|
|
},
|
|
inputs={
|
|
Items.MoltenIron: 40.0,
|
|
Items.CarbonPowder: 40.0,
|
|
Items.Steam: 60.0
|
|
},
|
|
)
|
|
DirectSteel = Recipe(
|
|
name="Direct Steel",
|
|
building=Machines.FlexibleBlastFurnace,
|
|
outputs={
|
|
Items.MoltenSteel: 60.0,
|
|
Items.FlueGas: 10.0
|
|
},
|
|
inputs={
|
|
Items.IronIngot: 120.0,
|
|
Items.Steam: 40.0,
|
|
Items.Air: 75.0
|
|
}
|
|
)
|
|
# Reformer
|
|
# - Cooling
|
|
CastSteelRod = Recipe(
|
|
name="Cast Steel Rod",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.SteelRod: 37.5,
|
|
},
|
|
inputs={
|
|
Items.MoltenSteel: 20.0,
|
|
Items.Water: 40.0,
|
|
},
|
|
byproducts={
|
|
Items.Steam: 40.0,
|
|
Items.ColdSlag: 15.0,
|
|
}
|
|
)
|
|
# - Ingots
|
|
CastIronIngot = Recipe(
|
|
name="Cast Iron Ingot",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.IronIngot: 180.0,
|
|
Items.Steam: 60.0
|
|
},
|
|
inputs={
|
|
Items.MoltenIron: 60.0,
|
|
Items.Water: 60.0,
|
|
},
|
|
)
|
|
CastCopperIngot = Recipe(
|
|
name="Cast Copper Ingot",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.CopperIngot: 144.0,
|
|
Items.Steam: 24.0
|
|
},
|
|
inputs={
|
|
Items.MoltenCopper: 48.0,
|
|
Items.Water: 24.0,
|
|
}
|
|
)
|
|
CastTinIngot = Recipe(
|
|
name="Cast Tin Ingot",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.TinIngot: 180.0,
|
|
Items.Steam: 20.0
|
|
},
|
|
inputs={
|
|
Items.MoltenTin: 60.0,
|
|
Items.Water: 20.0,
|
|
}
|
|
)
|
|
CastBrassIngot = Recipe(
|
|
name="Cast Brass Ingot",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.BrassIngot: 50.0,
|
|
Items.Steam: 15.0
|
|
},
|
|
inputs={
|
|
Items.MoltenBrass: 40.0,
|
|
Items.Water: 15.0,
|
|
}
|
|
)
|
|
CastSteelIngot = Recipe(
|
|
name="Cast Steel Ingot",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.SteelIngot: 90.0,
|
|
Items.FlueGas: 30.0,
|
|
Items.ColdSlag: 37.5,
|
|
},
|
|
inputs={
|
|
Items.CrushedGangue: 37.5,
|
|
Items.MoltenSteel: 30.0,
|
|
Items.Air: 30.0
|
|
}
|
|
)
|
|
# - Other
|
|
BrassBeltDrive = Recipe(
|
|
name="Brass Belt Drive",
|
|
building=Machines.Reformer,
|
|
outputs={
|
|
Items.BrassBeltDrive: 20.0,
|
|
},
|
|
inputs={
|
|
Items.Stator: 8.0,
|
|
Items.MoltenBrass: 20.0,
|
|
Items.Air: 36.0,
|
|
}
|
|
)
|
|
# Wet Washer
|
|
# - Washing
|
|
WashedIron = Recipe(
|
|
name="Washed Iron",
|
|
building=Machines.WetWasher,
|
|
outputs={
|
|
Items.CrushedIron: 60.0,
|
|
Items.TailingsSlurry: 40.0
|
|
},
|
|
inputs={
|
|
Items.SiteriteOre: 40.0,
|
|
Items.Water: 40.0,
|
|
}
|
|
)
|
|
WashedCopper = Recipe(
|
|
name="Washed Copper",
|
|
building=Machines.WetWasher,
|
|
outputs={
|
|
Items.CrushedCopper: 36.0,
|
|
Items.TailingsSlurry: 24.0
|
|
},
|
|
inputs={
|
|
Items.CallaniteOre: 24.0,
|
|
Items.Water: 24.0,
|
|
}
|
|
)
|
|
WashedTin = Recipe(
|
|
name="Washed Tin",
|
|
building=Machines.WetWasher,
|
|
outputs={
|
|
Items.CrushedTin: 45.0,
|
|
Items.TailingsSlurry: 60.0
|
|
},
|
|
inputs={
|
|
Items.SiteriteOre: 60.0,
|
|
Items.Water: 30.0,
|
|
}
|
|
)
|
|
SteamMk1 = Recipe(
|
|
name="Steam Mk1",
|
|
building=Machines.BoilerMk1,
|
|
outputs={
|
|
Items.Steam: 30.0,
|
|
},
|
|
inputs={
|
|
Items.Water: 15.0,
|
|
}
|
|
)
|
|
|
|
Recipe.model_rebuild() |