QcBlockSimulation Class
The per-tick block simulation of the server: queued neighbour updates (connections, lost support, starting falls through QcServerFallingBlocks, fire that lost its place going out) and liquid flow. More...
| Header: | #include <server/blocks/QcBlockSimulation.h> |
Public Functions
| void | processBlockUpdates() |
| void | processLiquids() |
| void | setIgnition(QcFireIgnition *ignition) |
Static Public Members
| const int | maxBlockUpdatesPerTick |
Detailed Description
Member Function Documentation
void QcBlockSimulation::processBlockUpdates()
Re-derives connections and breaks blocks that lost their support, within the tick budget. Positions in unloaded chunks wait until the chunk loads again.
void QcBlockSimulation::processLiquids()
Runs the due flow steps of liquids within their budget (decision E-054).
void QcBlockSimulation::setIgnition(QcFireIgnition *ignition)
Sets ignition, with which lava that gets a block update may light fire next to it (decision E-393).
Member Variable Documentation
const int QcBlockSimulation::maxBlockUpdatesPerTick
Neighbour updates (connections, lost support) processed per tick at most by default (QcServerLimits::blockUpdatesPerTick); the rest waits for the next tick, so a long chain of falling torches never stalls the server. Updates caused by players go first; those of commands (/fill) and their cascades use what is left.