Cite as
Thermal Expansion r5.3.9
Original
https://github.com/CoFH/ThermalExpansion-1.12-Legacy
Pinned
CoFH/ThermalExpansion-1.12-Legacy @ 23f88921d482a8c9d98cf933a329509d39c56a77
Accessed
2026-10-26
Licence
"All Rights Reserved" under CoFH's "Don't Be a Jerk" License (README), with art and sound under CC BY-NC-SA 4.0. The README permits forking, copying portions and depending on the code, but not redistributing it whole or shipping 50%+ functionally equivalent code. The atlas quotes only short code lines.
Credit
Team CoFH.
Notes
Thermal Expansion 5 for 1.12.2, tag r5.3.9 (last 1.12 tag). `TileMachineBase.java` imports `cofh.redstoneflux.impl.EnergyStorage` and its config comments call the stored energy RF; `TileTEBase.EnergyConfig` sets each machine's power, storage and ramp from its base power. The 1.10.2 port's first code commit is 7e2889da84affb0726156ddb2d61d6e49c887001 (2016-10-24, "1.10.2 compile compleate."). Ducts are no longer here: the 4.0.0 changelog moved them to Thermal Dynamics (cofh-version-changelog).

Cited on

Claims (3)

In Thermal Expansion r5.3.9 (Minecraft 1.12.2), in the loop its machines share, a machine's recipe costs an amount of Redstone Flux (RF), and the machine works by spending it: each tick a running machine takes some RF from its store and subtracts it from what the recipe still needs, and finishes when that reaches zero, getting back any RF it spent past the cost. So a machine with more power finishes sooner. A machine whose store runs dry mid-recipe stops and clears what the recipe still needed, so the RF spent on it is lost: the furnace, starting again, sets the recipe's full cost. An idle machine checks on a timer whether it can start. The charger and the transposer replace parts of this loop in some modes, and are excluded.src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L188–223src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L270–273src/main/java/cofh/thermalexpansion/block/machine/TileFurnace.java L164–168src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L281–291Code
In Thermal Expansion r5.3.9 a machine's power follows how full its RF store is. With the default settings and no augments, a machine of base power P stores 1,000 × P RF and takes up to 4 × P a tick. It spends P RF a tick while its store is at least 90% full, the store divided by 900 between 10% and 90% (P/9 at 10%, about 0.56 × P at half), and P/10 below 10%, or what's left once less than that remains. Base power is 20 RF a tick for most machines and 50 for the charger and the crucible, multiplied by 1, 1.5, 2, 2.5, or 3 for the machine's level. With the SmallStorage option a machine stores only 10 × P and always spends P. Augments change the draw and are excluded: the power augment, which any machine can take, adds the level's base power to P and makes recipes cost 15% more; the furnace's pyrolysis and the crucible's lava augment change it too.src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L39–42src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L121src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L226–240src/main/java/cofh/thermalexpansion/block/TileTEBase.java L201–226src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L421–425src/main/java/cofh/thermalexpansion/block/machine/TileFurnace.java L38src/main/java/cofh/thermalexpansion/block/machine/TileCharger.java L44src/main/java/cofh/thermalexpansion/block/machine/TileCrucible.java L43Code
Redstone Flux's reference store, in Team CoFH's RedstoneFlux API for Minecraft 1.12, is an amount of energy with a capacity, a most it takes in at once, and a most it gives out at once; changing the amount directly clamps it between 0 and the capacity. Thermal Expansion r5.3.9's machines use this class for their RF store.src/main/java/cofh/thermalexpansion/block/machine/TileMachineBase.java L13Code