Rework of the Power System - Timmeey86/Mindustry GitHub Wiki

New power system explained:

  • Generators now distribute power instantly to the PowerGraph instance they're connected to.
  • Blocks which require a constant power supply now directly consume power and no longer have a buffer. They work after a certain power threshold is reached (60% by default), but produce at a reduced rate when not at full power.
  • Blocks which require power on certain events (e.g. shot being fired) are still buffered and demand power at a fixed rate as long as their power is not full.
  • Generators have an initial production efficiency of 0 (except for solar) and get updated once valid inputs are received
  • Batteries are filled during power excess times and drawn from during power shortage. They have a maximum rate at which power can be supplied to them, but not a minimum demand.
  • All power consumers receive the same percentage of their requested power. I.e. when two consumers ask for 20 and 10 power, but only 6 power is available, the percentage is 6/30 = 0.2. This means the consumers will get 200.2 = 4 and 100.2 = 2 power

Documentation of unchanged, but potentially unclear behavior:

  • Any efficiency of 0.5 reflects 100% (also flammability, radiactivity, etc)
  • powerProduction values are specified for an efficiency of 1.0 in code. This means, a 100% efficient power producer will only produce half of what is specified each tick.
  • The block info will display a base power production based on 100% efficiency
  • The power rework does not intend to change the balance of the power system other than drawing less power when buffers are full