Class FluidSystems.SettleGeneratedBoundaries

All Implemented Interfaces:
ISystem<ChunkStore>, QuerySystem<ChunkStore>
Enclosing class:
FluidSystems

public static class FluidSystems.SettleGeneratedBoundaries extends RefSystem<ChunkStore>
Settles the faces a newly generated section shares with its resident vertical neighbours, off the world thread, once the section is in the store. The neighbours are resolved here on the world thread, so only the later section of a vertical pair settles the face they share.

The settle takes the cells it seeds on the shared faces away from the world. The neighbours are usually distant sections that do not tick, so nothing else changes those cells while the settle runs. A ticking neighbour can still re-arm and tick a cell the settle is working on, and so can another settle that reaches the same section. This overlap is accepted. For tickers that derive a cell from its neighbours, such as the default ticker, it acts like an extra tick. A ticker that conserves volume, such as the finite ticker, can gain or lose fluid.