data/claims/power-network.yamlPower network (across games)
Concept: Power network.
Of IndustrialCraft, BuildCraft and Thermal Expansion, IndustrialCraft 1 has the earliest known power network: the IC wiki described its cables carrying a generator's current to machines by 11 April 2011. BuildCraft added its power system, Minecraft Joules, in 2.0.0 at the end of July 2011, by the account of its later developer asie, and Thermal Expansion's first release, in June 2012, needed power from BuildCraft or Forestry. Factorio's earliest date read here is its first demo, released on 31 December 2012; when its electric poles arrived isn't read here. power-network/earliest-known
revision of 11 April 2011If however, some sort of Generator is creating energy, without actually using it, it will start emitting electric current. This can be absorbed and transmitted via Cables.BuildCraft History and Design · on 2.0.0version 2.0.0 came out at the very end of July 2011. It was the first version to depend on Minecraft Forge. The major revolution here was the addition of a power system - Minecraft Joules.Thermal Expansion 1.0.2: King Lemming's Minecraft Forum release post · #1, KingLemmingCoFH, changelog1.0: Initial Release Important: Please note that this mod in its current state requires power generation from either BuildCraft or Forestry.Demo is out · post of 2012-12-31, first paragraphAfter a lot of work we have managed to release the first version of the demo.Checked by claude, 2026-10-26 — read the four passages in the pinned captures"Earliest known" among the three mods only, and only as far as the dated sources read here go: the IC wiki's cable page is a revision of 11 April 2011 (industrialcraft/ic1-cables), and IC1's forum thread opens on 27 February 2011 (industrialcraft-history/ic1-thread) without dating its cables. BuildCraft 1.4.1, April 2011, has no engines (buildcraft/first-pipes). Thermal Expansion's date is its forum thread's first post (thermal-expansion-history/first-release); Factorio's is factorio-history/demo-2012. When Factorio's electric poles were added isn't read here.
Cited by: Power network
In Thermal Dynamics r2.3.9 (Minecraft 1.12.2), connected fluxducts of one tier form a grid that keeps its energy in one store; ducts of different tiers neither connect nor merge. The store holds five times the tier's transfer rate for each duct that touches a block. Energy put into any duct goes into that store, at most the transfer rate per insertion and up to the free space. Once a tick, while the store holds energy, each duct beside a block offers the blocks around it the store divided by the number of such ducts, worked out once for the tick (the remainder when that rounds to 0), and no more than the transfer rate; the round stops at a duct whose chunk is unloading. With the default base of 1,000 RF a tick, the five tiers (energyBasic, which the config's comment calls the Leadstone Fluxduct, energyHardened, energyReinforced, energySignalum, energyResonant) move 1,000, 4,000, 9,000, 16,000 and 25,000 RF a tick. The super-conducting duct has a transfer limit of 0, so it can't join these grids, and is excluded. power-network/fluxduct-grid
About: Thermal Expansion Power network
Value
{
"baseTransfer": 1000,
"transfer": [
1000,
4000,
9000,
16000,
25000
],
"storePerNodeDuct": 5
}src/main/java/cofh/thermaldynamics/duct/energy/GridEnergy.java#L12-L15public static final int XFER_BASE = 1000;
public static int CAPACITY[] = { 1 * 5, 4 * 5, 9 * 5, 16 * 5, 25 * 5, 0 };
public static int XFER[] = { 1, 4, 9, 16, 25, 0 };Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/GridEnergy.java#L27-L34int xfer = XFER_BASE;
String comment = "Adjust this value to change the amount of Energy (in RF/t) that can be received by a Leadstone Fluxduct. This base value will scale with duct level.";
xfer = ThermalDynamics.CONFIG.getConfiguration().getInt("BaseTransfer", category, xfer, xfer / 10, xfer * 10, comment);
for (int i = 0; i < CAPACITY.length; i++) {
CAPACITY[i] *= xfer;
XFER[i] *= xfer;Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/GridEnergy.java#L37-L43public GridEnergy(World world, int transferLimit, int capacity) {
…
myStorage = new EnergyStorage(GridEnergy.this.capacity, GridEnergy.this.transferLimit) {RedstoneFlux API 1.12 (CoFH/RedstoneFlux-1.12-Legacy) · src/main/java/cofh/redstoneflux/impl/EnergyStorage.java#L27-L30public EnergyStorage(int capacity, int maxTransfer) {
this(capacity, maxTransfer, maxTransfer);Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/GridEnergy.java#L69-L73public void balanceGrid() {
myStorage.setCapacity(nodeSet.size() * capacity);Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/GridEnergy.java#L93-L119public void tickGrid() {
…
if (!nodeSet.isEmpty() && myStorage.getEnergyStored() > 0) {
currentEnergy = myStorage.getEnergyStored() / nodeSet.size();
extraEnergy = myStorage.getEnergyStored() % nodeSet.size();
for (IGridTile m : nodeSet) {
if (!m.tickPass(0) || m.getGrid() == null) {
break;
}
…
public boolean canAddBlock(IGridTile aBlock) {
return aBlock instanceof DuctUnitEnergy && ((DuctUnitEnergy) aBlock).getTransferLimit() == transferLimit;
…Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/GridEnergy.java#L154-L162public int getSendableEnergy() {
return Math.min(myStorage.getMaxExtract(), currentEnergy == 0 ? extraEnergy : currentEnergy);
…
public int receiveEnergy(int maxReceive, boolean simulate) {
return myStorage.receiveEnergy(maxReceive, simulate);Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/DuctUnitEnergy.java#L34-L39public DuctUnitEnergy(TileDuctEnergy parent, Duct duct) {
…
transferLimit = GridEnergy.XFER[duct.type];
capacity = GridEnergy.CAPACITY[duct.type];Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/DuctUnitEnergy.java#L204-L217public boolean tickPass(int pass) {
return super.tickPass(pass) && sendEnergy();
…
public boolean sendEnergy() {
int power = this.grid.getSendableEnergy();
int usedPower = transmitEnergy(power, false);
this.grid.useEnergy(usedPower);Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/energy/DuctUnitEnergy.java#L309-L313public int receiveEnergy(int maxReceive, boolean simulate) {
return grid != null ? grid.receiveEnergy(maxReceive, simulate) : 0;Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/duct/TDDucts.java#L180-L185energyBasic = addDuct(OFFSET_ENERGY, false, 1, 0, "energyBasic", Type.ENERGY, …
energyHardened = addDuct(OFFSET_ENERGY + 1, false, 1, 1, "energyHardened", Type.ENERGY, …
energyReinforced = addDuct(OFFSET_ENERGY + 2, false, 1, 2, "energyReinforced", Type.ENERGY, …
energySignalum = addDuct(OFFSET_ENERGY + 3, false, 1, 3, "energySignalum", Type.ENERGY, …
energyResonant = addDuct(OFFSET_ENERGY + 4, false, 1, 4, "energyResonant", Type.ENERGY, …
energySuperCond = addDuct(OFFSET_ENERGY + 5, false, 1, 5, "energySuper", Type.ENERGY, …Thermal Dynamics 1.12.2 (CoFH/ThermalDynamics-1.12-Legacy), tag r2.3.9 · src/main/java/cofh/thermaldynamics/util/WorldGridList.java#L59-L66for (MultiBlockGrid grid : tickingGrids) {
grid.tickGrid();Checked by claude, 2026-10-26 — read GridEnergy (tier tables, config scaling, the store's construction, balanceGrid, tickGrid, canAddBlock/canGridsMerge, getSendableEnergy, receiveEnergy), DuctUnitEnergy (tier from duct.type, tickPass/sendEnergy, receiveEnergy), DuctUnit.tickPass (false only on chunk unload), EnergyStorage's two-argument constructor, TDDucts' energy ducts (types 0-5) and WorldGridList's tick loop at the pinsThe store's size counts only node ducts (nodeSet, those touching a block), where the fluid grid's tank counts every duct (thermal-expansion/fluid-grid-tank). The base rate is the config's BaseTransfer, 100 to 10,000. The in-game names of the other tiers come from language files not read here. Thermal Dynamics r2.3.9 is the 1.12.2 version; how Thermal Expansion 2's Redstone Energy Conduits of 2012–2013 moved energy isn't read here.
Cited by: Power network
The Factorio wiki's Electric system page (captured October 2026) says a building is on an electric network if one of its tiles lies in a pole's coverage area, and that poles placed close enough connect by themselves. When generation falls short, the electricity is spread evenly over the network's machines by their demand, and all of them slow by the same proportion. Generators meet demand in order: solar panels first, then steam engines and turbines, and accumulators last, which charge only from power left over once all demand is met. power-network/factorio-network
About: Factorio Power network
WikiElectric system ·"Connection"If two poles are placed close enough, the poles connect automatically. A building is connected if one tile of the building is in a covered area.Electric system · "Energy consumption"If an electric network does not have enough power generation to supply all the machines in it, the electricity will be evenly spread across all machines in the network (based on each machine's demand), and all machines will slow down proportionally to the power available.Electric system · "Network priorities"Solar panels – Top priority; they always work at maximum performance available, unless they can cover all demand of the network, in which case they match demand.
…
Steam engines, steam turbines, and fusion generators – They match whatever demand solar panels cannot satisfy.
…
Accumulator – Last resort. They are only discharged when demand cannot be met by other means. They are also only charged when all demand is met, and there is yet more power available.Checked by claude, 2026-10-26 — read the Connection, Consumption and Network priorities sections in the pinned captureThe page covers 2.0 and Space Age (lightning collectors, fusion generators), which this claim leaves out. The engine is closed, so the order isn't read in code; the base data's usage_priority fields (solar, secondary output, tertiary) are where it would be checked.
Cited by: Power network