Commands and config

as of 0.9.8

Every number on the other pages is a config value, and all of them can be changed in place. The commands belong to Expanded Library, not to this mod: the mod id is the section name, so tuning this mod is always /exmod config smex ....

The commands

commandwhat it does
/exmod config smexlists every key and its current value
/exmod config smex <key>reads one key
/exmod config smex <key> <value>sets one key and writes it to disk. Applies live
/exmod recipes smexreads the recipe cost level
/exmod recipes smex <normal or cheap>sets it. Applies on the next world reload
/exmod molds <plate, ingot, rod or all>reports whether those molds are available
/exmod molds <plate, ingot, rod or all> <on or off>switches them. Placed molds stop casting at once; the clay-forming recipe and the in-game handbook entry change on the next world reload
.exmod measure <metric or imperial>a per-player display choice from Pipes and Power Expanded: litres, atm and C, or gallons, psi and F. It changes the panels, never the simulation
.exmod network hi and .exmod network unhiExpanded Library's per-network block highlight, which is the fastest way to see what a pipe or canal run is actually connected to

The server commands need the controlserver privilege. The two that start with a dot are client side and need nothing.

Older in-game text names /exmod steel <level> for the recipe level; that command does not exist. Use /exmod recipes smex <level>.

The files

ModConfig/smex_values.json holds the values below. The machines re-read it every tick, so a /exmod config change reaches a furnace that is already running. A saved value that is not a number, or is negative, resets to its default on load. An older file called smex.json is migrated to this name once.

ModConfig/smex_recipes.json holds the recipe cost catalogue: which grid recipes and which right-click construction the level applies to, with a normal profile filled in from the recipes as shipped and a cheap profile at half cost. Edit the per-recipe numbers there; the command only picks which profile is live, and the change lands on the next world reload.

Upgrading the mod can reset individual keys. Each release that rebalances something lists the keys it pushes out, and only those are reset; the rest of your tuning is kept. 0.9.7 reset most of the furnace and converter numbers at once, because a saved config from before it left a furnace that could not reach its own melting point.

smex_values.json

Blast furnace

keydefaultsets
BurdenRequiredToFire320burden in the hearth before the furnace will fire
BurdenRequiredToRun144burden a lit furnace must keep, or it goes out
BurdenBurnTime300seconds a lit burden pile burns outside a working furnace
BfIgnitionTemperature900hearth temperature the moment the charge catches, in C
BfIronMeltingPoint1482hearth temperature that starts melting, in C
BfNaturalMaxTemp1540hearth ceiling on cold blast, in C
BfBoostedMaxTemp1740hearth ceiling on blast at the reference temperature, in C
BfBlastTempReference1240blast temperature that buys the full boost, in C
BfHeatRateBase4climb on cold blast, in C per second
BfHeatRateHot8climb on fully hot blast, in C per second
BfHeatRateUnblown2climb on natural draught, in C per second
BfMeltSpeedBase0.2melt rate at zero margin over the melting point
BfMeltGainPer100C0.7extra melt rate per 100 C of margin
BfMeltSpeedMin0.5floor on the melt rate once melting
BfMeltSpeedMax2.0ceiling on the melt rate
BfMeltIntervalSec10seconds per melt cycle at rate 1.0
BfIronPerMeltCycle102units of iron per cycle
BfSlagPerMeltCycle17units of slag per cycle
BfBurdenPerMeltCycle16burden per cycle
BfMaxMoltenIron4800units of iron the hearth holds before the melt stalls
BfMaxMoltenSlag1200units of slag it holds before the melt stalls
BfIronTapDrainPerTick40units per second through the lower tap
BfSlagTapDrainPerTick40units per second through the upper tap
BfMeltStallSeconds30seconds under the melting point before melting falls back to firing
BfDisruptionGraceSeconds30seconds one disruption is tolerated
BfDoorOpenGraceSeconds10seconds an open door is tolerated
BfUnblownIgnitionSeconds10seconds a hearth being lit survives with no blast
BfAirDemandIgnition0.25share of a tuyere's rated air a just-lit hearth draws
TuyereIntakeVolume20air one tuyere draws at melt rate 1.0, in L/s
BfBlastPressureThreshold1.5pressure at a tuyere that counts as blast, in atm
BfExhaustOutputPressure2.0pressure the furnace pushes its exhaust to, in atm
BfExhaustPerAirDrawn1.0litres of flue gas per litre of blast drawn
BfExhaustBaseVolume24flue gas on natural draught, in L/s
BfExhaustTempFraction0.8share of the hearth temperature the flue gas carries

Hoppers

keydefaultsets
HopperMaxMagazineCapacity48burden the bell hopper buffers
HopperIronOreRequired12crushed iron ore per batch
HopperNuggetRequired12iron nuggets per batch
HopperRoastedOreBonus2extra ore units a roasted piece is worth
HopperCokeRequired2coke per batch
HopperCharcoalRequired4charcoal per batch
HopperLimeRequired1lime per batch
HopperBurdenProduced16burden per batch
HopperDropAmount4burden dropped per second

Blowers

keydefaultsets
AirBlowerOutputPerSecond300air the steam blower injects per unit of engine power, in L/s
MpBlowerMaxLitres110air the twin-tub blower approaches at unbounded axle speed, in L/s
MpBlowerHalfOutputSpeed1.3axle speed at which it delivers half of that
MpBlowerMaxPressure2.0pressure its bellows seal against, in atm
MpBlowerBaseLoad0.05shaft load against an empty main
MpBlowerLoadPerAtm0.05extra shaft load per atm of back-pressure

Cowper stove and smoke stack

keydefaultsets
CowperMaxTemperature1240ceiling on the stove core, in C
CowperHeatingSpeedAnthracite0.0064share of the gap the core closes per second on anthracite
CowperHeatingSpeedOtherCoal0.0048the same on any other coal
CowperHeatingSpeedDefault0.0012the same with no coal pile
CowperCoolingSpeedExhaust0.3rate the soaked exhaust gives up its heat
CowperCoolingSpeedAir0.0012rate the core loses heat into the air at a full draw
CowperIdleCoolingSpeed0.0006rate a stove bleeds to ambient whatever it is doing
CowperSpentExhaustTempFraction0.4share of its temperature spent exhaust keeps
CowperIntakeVolume24gas a stove draws per intake, in L/s
SmokestackGasIntakeVolume96gas the smoke stack vents, in L/s

Molten system

keydefaultsets
MoltenCooldownSpeed24cooling rate stamped on molten metal the system creates
BarrelCooldownCoefficient1.0multiplier on it for metal in a barrel
TapMoldCooldownCoefficient1.0the same for a mold under a canal tap
MoldPedestalCooldownCoefficient1.0the same for a mold on a pedestal
MoltenFlowRate100units crossing one canal connection per second
MoltenMinFlowAmount1smallest gap between two cells that still moves metal
MoltenUnitsPerBit5units per metal bit, for recovery and for converter scrap
CanalDefaultUnitCapacity100cell capacity when the block names none
CanalDefaultDrainSpeed20canal tap drain, in units per second
MoldDefaultUnits100mold capacity when the mold names none
BarrelDefaultMaxUnits800barrel capacity when the block names none
CanalSealClayCost4fire clay to seal a straight canal
CanalUnsealClayRefund2fire clay returned by breaking the seal
MoldBurnMinTemperature200temperature above which a carried mold burns bare hands, in C

Bessemer converter

keydefaultsets
BlastPressureThreshold2.5pressure that counts as blast for the converter, in atm
BessemerConverterCapacity2400units the vessel holds, metal and scrap together
BessemerBlastPerSecond24air drawn at conversion rate 1.0, in L/s
BessemerProcessDuration300seconds of blast a charge needs at rate 1.0
BessemerSpeedMin0.5conversion rate at the gate pressure
BessemerSpeedMax2.0conversion rate ceiling
BessemerPressureReference3.5atm over the gate that buys the full rate
BessemerBaseTemperature1850bath temperature the blow itself makes, in C
BessemerRadiationLoss50temperature the bath sheds continuously, in C
BessemerRefineTemperature1500temperature the bath must hold to refine, in C
BessemerPressureTempGainMax580ceiling on the bath heat pressure can buy, in C
BessemerPressureTempGainHalf0.7atm over the gate that buys half of it
BessemerColdScrapLossCoefficient0.8bath temperature lost per unit of cold scrap, in C
BessemerScrapCodesgame:metalbit-iron,game:metalbit-steelthe items the converter remelts
BessemerCooldownCoefficient0.5multiplier on the molten cooldown for the bath
BessemerChiselMaxFraction0.2share of capacity below which a frozen heat can be chiselled out
BessemerPowerSpeedThreshold0.1geared axle speed that counts as powered
BessemerTransmissionResistance0.25shaft load the vessel puts on its axle network
BessemerRequiredGears1large gears to raise the vessel
BessemerRequiredRods8rods to raise the vessel
BessemerPourHoldSeconds1seconds the pour lever is held before it commits
RccBrokenDropsRatio1.0share of construction materials returned when the vessel is broken

Molds and recipes

keydefaultsets
EnablePlateMoldtruewhether the plate mold exists
EnableIngotMoldtruewhether the double ingot mold exists
EnableRodMoldtruewhether the quad rod mold exists
RecipeLevelnormalthe live profile in smex_recipes.json

smex_recipes.json

The catalogue names what the level applies to, not what it costs: the right-click construction of the converter vessel, and the grid recipes of the tuyere, the furnace door, the furnace tap, the converter's intake, control and transmission, the cowper stove intake, the heat sink, the air blower, the smoke stack intake, both hoppers, the molten barrel, every molten canal piece, and the three slag paths. Each entry carries a normal profile read from the shipped recipe and a cheap profile at half of it, and both are yours to edit.

Reading a value back

If a change through /exmod config does not seem to show, read the value back with the same command: it prints what the server actually holds. RccBrokenDropsRatio was reset to 1.0 for everyone in 0.9.6, so on a current install breaking the converter returns all of its construction materials whatever the file says.