Config tuning
How Enthalpy's server config works, and the settings to change for the retunes packs ask for most.
How the config works#
Enthalpy has one config file, and it is a server config. That has three consequences for a pack:
- Each world has its own copy. The game writes
enthalpy-server.tomlinto the world'sserverconfigfolder the first time the world loads. Editing it changes that world only. - Ship your values in
defaultconfigs. A file of the same name in the instance'sdefaultconfigsfolder is copied into each new world. It does not touch worlds that already exist, so for those, edit the world's own file. - On a server, the server's values win. Players need no copy of the file, and a client only sees the server's numbers once it has joined.
The file is grouped into sections such as [ecotone] and [upgrades]. Every
setting has a default, a minimum and a maximum; a value outside its range is replaced by the default when
the file loads. The config reference lists every setting with
its range and what it does, and each recipe below links the groups it touches.
Settings that hold one value per tier are lists of five numbers, in the order of the tier kits: base, Tempered, Fortified, Luminous, Harmonic. Write all five. A list that is too short falls back to the defaults for the tiers it leaves out, which is rarely what you meant.
Slower or faster Ecotones#
Three things set how quickly an Ecotone produces: how long a pair takes to breed, how long a crop takes to ripen, and the tier's speed multiplier. Lower the tick values to speed it up; raise them to slow it down. The power draw per tick does not change, so a faster Ecotone also spends less FE per breeding.
| Setting | Default | Range | What it does |
|---|---|---|---|
ecotone.breedTicks | 200 | 1 to no limit | Average ticks for each pair of fish to breed one more, before tier speed (200 = one every 10 seconds) |
ecotone.harvestTicks | 480 | 1 to no limit | Ticks between harvests for each planted crop, before tier speed. 480 matches one and a half fully planted 9x9 fields of wheat |
ecotone.speed | 1 / 1.5 / 2 / 2.5 / 3 | Ecotone speed per tier, which also scales its FE and water use: base, tempered, fortified, luminous, harmonic | |
ecotone.energyPerTick | 60 | 0 to no limit | FE per tick the Ecotone draws by day, before its tier speed. After dark it draws twice this, and needs a Lumen module |
ecotone.waterPerTick | 50 | 0 to no limit | Water the Ecotone uses per tick, in mB, before its tier speed |
Example: twice as slow to breed, crops unchanged, and a flatter climb through the tiers.
[ecotone]
breedTicks = 400
speed = [1.0, 1.25, 1.5, 1.75, 2.0]The tier speed also scales the FE and water the Ecotone uses, so a higher tier costs more per second but not more per breeding. See the Ecotone settings for the rest, including the Fish Meal, Prized and Infusion bonuses.
Cheaper or dearer machines to run#
A processing recipe has a fixed energy cost written in its recipe. A machine spends a fixed number of FE each tick while it works, so a recipe's time is its cost divided by that rate. That gives two different levers:
- Change the rate (
machines.energyPerTick) and every processing machine gets faster or slower, and draws more or less power while it runs. The FE for each item stays the same. - Change the cost in the recipe's
energyfield, by datapack, to make one item cheaper or dearer. The recipe formats list the default for each machine.
| Setting | Default | Range | What it does |
|---|---|---|---|
machines.energyPerTick | 20 | 1 to no limit | FE per tick a processing machine spends while working, before upgrades |
machines.energyCapacity | 20,000 | 1 to no limit | Energy buffer of processing machines before upgrades, in FE |
machines.maxEnergyInput | 1,000 | 1 to no limit | Maximum FE per tick a processing machine accepts before upgrades |
machines.kilnEnergyPerCookingTick | 10 | 1 to no limit | FE the Resistive Kiln spends per tick of a smelting recipe's vanilla cooking time |
brineAccretor.energyPerTick | 100 | 1 to no limit | FE per tick the Brine Accretor spends growing a crystal; it takes no kits, so this sets its speed |
Two machines differ. The Resistive Kiln has no recipe cost of its own; it spends the setting above for each tick of the smelting recipe's normal cooking time, so changing it changes the cost per item. The Brine Accretor takes no tier kits, so its own rate sets its speed.
Keep the input limit (which grows with tier through the capacity multipliers) above the rate times the
tier's rate multiplier, or a machine cannot take the power it asks for. The module bonuses (upgrades.celeritySpeedBonus,
upgrades.celerityCostIncrease and upgrades.economizerEfficiency) are the third
lever, and apply to every machine at once; Upgrades and modules
works the maths through.
[machines]
energyPerTick = 40
kilnEnergyPerCookingTick = 20That doubles the speed and power draw of processing machines, and doubles what the Kiln spends per smelt. See the machine settings and the upgrade settings.
Stronger or weaker engines#
Each engine has an output in FE per tick while it burns, an energy buffer and an output limit. The four engines have separate output settings, so you can favour one fuel family over the others. How much energy a fuel holds is separate again: the Caloric Engine reads its burn-time rate and efficiency from the config, while fluid fuels and a few special items have fixed values in data maps.
| Setting | Default | Range | What it does |
|---|---|---|---|
engines.energyPerTick | 40 | 1 to no limit | FE per tick the Caloric Engine generates while burning, before upgrades |
engines.igneousEnergyPerTick | 80 | 1 to no limit | FE per tick the Igneous Engine generates while burning, before upgrades. Fuel values are in data/enthalpy/data_maps/fluid/igneous_fuels.json |
engines.ignitionEnergyPerTick | 100 | 1 to no limit | FE per tick the Ignition Engine generates while burning, before upgrades. Fuel values are in data/enthalpy/data_maps/fluid/ignition_fuels.json |
engines.kettleEnergyPerTick | 80 | 1 to no limit | FE per tick the Kettle Engine generates while burning, before upgrades. Fuel values are in data/enthalpy/data_maps/fluid/kettle_fuels.json |
engines.energyCapacity | 20,000 | 1 to no limit | Energy buffer of the Caloric Engine before upgrades, in FE |
engines.maxEnergyOutput | 1,000 | 1 to no limit | Maximum FE per tick the Caloric Engine pushes out before upgrades |
engines.fluidTankCapacity | 8,000 | 1,000 to no limit | Fuel tank size of the Igneous, Ignition and Kettle engines, in mB |
engines.caloricEnergyPerBurnTick | 25 | 1 to no limit | Caloric Engine FE per tick of a fuel's furnace burn time, before caloricFuelEfficiency Items in data/enthalpy/data_maps/item/caloric_fuels.json use their fixed value instead |
engines.caloricFuelEfficiency | 1.5 | 0.01 to 100 | Multiplies the FE the Caloric Engine gets from burn time, rounded to the nearest 250 FE (1.5: coal gives 60,000 FE) |
Raising an engine's output makes it burn its fuel faster for the same energy per unit, so it drains
fuel sooner but never makes more of it. To make a fuel itself worth more or less, raise
engines.caloricFuelEfficiency for burnable items, or change the entry in the fuel's data map
(enthalpy:caloric_fuels, enthalpy:ignition_fuels and the others).
[engines]
energyPerTick = 60
caloricFuelEfficiency = 1.0
maxEnergyOutput = 2000A stronger Caloric Engine, with items that burn in a furnace worth less. An engine hands on at most its output limit each tick, so keep the limit at or above the output rate. See the engine settings.
Voltaic Cell capacity#
The Voltaic Cell has two lists, one value per tier: how much energy it holds, and how fast it takes in and gives out FE.
| Setting | Default | Range | What it does |
|---|---|---|---|
voltaicCell.capacity | 1,250,000 / 2,500,000 / 3,750,000 / 5,000,000 / 7,500,000 | Voltaic Cell energy capacity per tier, in FE: base, tempered, fortified, luminous, harmonic | |
voltaicCell.transfer | 1,000 / 2,000 / 3,000 / 4,000 / 6,000 | Voltaic Cell input and output limit per tier, in FE/t: base, tempered, fortified, luminous, harmonic. The Tesla module's wireless output shares the output limit |
[voltaicCell]
capacity = [2000000, 4000000, 8000000, 16000000, 32000000]
transfer = [2000, 4000, 8000, 16000, 32000]The Tesla module's wireless output shares the output limit, so raising the capacity without the transfer makes a big cell that is slow to fill and drain. See the Voltaic Cell settings.
Tier multipliers#
Four groups of settings set what a tier kit is worth. Each is a list of five values, base to Harmonic.
upgrades.rateMultipliers: how much faster (and more power-hungry) processing machines and engines run at each tier.upgrades.capacityMultipliers: the energy buffer and transfer limit at each tier.ecotone.speedandspawningBasin.speed: the same idea for those two machines, which have their own lists.aquifer.waterPerTick: water made at each tier.
| Setting | Default | Range | What it does |
|---|---|---|---|
upgrades.rateMultipliers | 1 / 2 / 3 / 4 / 6 | Energy rate (and therefore speed) multiplier per tier: base, tempered, fortified, luminous, harmonic | |
upgrades.capacityMultipliers | 1 / 2 / 4 / 8 / 16 | Energy buffer and transfer multiplier per tier: base, tempered, fortified, luminous, harmonic | |
ecotone.speed | 1 / 1.5 / 2 / 2.5 / 3 | Ecotone speed per tier, which also scales its FE and water use: base, tempered, fortified, luminous, harmonic | |
spawningBasin.speed | 1 / 1.5 / 2 / 3 / 4 | Spawning Basin speed per tier, which also scales its FE and water use: base, tempered, fortified, luminous, harmonic | |
aquifer.waterPerTick | 250 / 1,000 / 8,000 / 64,000 / 2,147,483,647 | Water the Aquifer makes per tick, in mB, per tier: base, tempered, fortified, luminous, harmonic |
[upgrades]
rateMultipliers = [1.0, 1.5, 2.0, 3.0, 4.0]That flattens the climb, so kits are a smaller jump. The tier kits still open two more module slots each; the slot counts are fixed. See the upgrade settings and the Aquifer settings.
Spawning Basin speed#
The Spawning Basin breeds one pair every set number of ticks, divided by its tier speed. A pair without a catalyst to mutate with works at a fraction of that speed on the same power and water, which is what keeps plain copying slow.
| Setting | Default | Range | What it does |
|---|---|---|---|
spawningBasin.breedTicks | 200 | 1 to no limit | Ticks for the Spawning Basin's pair to breed once, before tier speed (200 = every 10 seconds). Each breeding eats one fish food |
spawningBasin.speed | 1 / 1.5 / 2 / 3 / 4 | Spawning Basin speed per tier, which also scales its FE and water use: base, tempered, fortified, luminous, harmonic | |
spawningBasin.uncatalysedSpeed | 0.25 | 0.01 to 1 | Speed of the Spawning Basin when its pair has no catalyst to mutate with, using the same FE and water per tick |
spawningBasin.energyPerTick | 40 | 0 to no limit | FE per tick the Spawning Basin draws while breeding, before its tier speed |
spawningBasin.waterPerTick | 5 | 0 to no limit | Water the Spawning Basin uses per tick while breeding, in mB, before its tier speed |
[spawningBasin]
breedTicks = 100
uncatalysedSpeed = 0.5Each breeding eats one item of fish food, so a faster Basin eats faster too. See the Spawning Basin settings.
Weapon balance#
The Haddock Howitzer and the Kingfish Katana have the most settings of any part of the mod: damage,
power, ranges, cooldowns, per-element effects and the Rail Scale and katana tiers. Packs rebalance them
more than anything else, and they are all in the same file, in the [haddockHowitzer] and
[kingfishKatana] sections. The per-fish ammo bonuses are a data map instead.
Every weapon key, with its default and range, is in the Haddock Howitzer settings and the Kingfish Katana settings on the config reference. Change the defaults there one at a time and test them in play; the settings interact.
Beyond the config#
- Which mod's item a tag output gives: Preferred outputs.
- What a recipe costs, makes or needs: Recipe and data formats.
- Adding fish: Custom fish.