Contents
Class FluidSystems.SettleGeneratedBoundaries
java.lang.Object
com.hypixel.hytale.component.system.System<ChunkStore>
com.hypixel.hytale.component.system.RefSystem<ChunkStore>
com.hypixel.hytale.builtin.fluid.FluidSystems.SettleGeneratedBoundaries
- All Implemented Interfaces:
ISystem<ChunkStore>, QuerySystem<ChunkStore>
- Enclosing class:
FluidSystems
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.
-
Field Summary
Fields inherited from interface ISystem
EMPTY_ARRAY -
Constructor Summary
ConstructorsConstructorDescriptionSettleGeneratedBoundaries(ComponentType<ChunkStore, ChunkSection> chunkSectionComponentType, ComponentType<ChunkStore, FluidSection> fluidSectionComponentType) -
Method Summary
Modifier and TypeMethodDescriptiongetQuery()voidonEntityAdded(Ref<ChunkStore> ref, AddReason reason, Store<ChunkStore> store, CommandBuffer<ChunkStore> commandBuffer) Called after an entity has been added to aStoreand has anArchetypethat fulfills theQueryprovided byQuerySystem.getQuery()}.voidonEntityRemove(Ref<ChunkStore> ref, RemoveReason reason, Store<ChunkStore> store, CommandBuffer<ChunkStore> commandBuffer) Called before an entity has been removed from aStoreand has anArchetypethat fulfills theQueryprovided byQuerySystem.getQuery()}.Methods inherited from class System
getComponentRegistrations, getResourceRegistrations, registerResource, registerResourceMethods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ISystem
getDependencies, getGroup, onSystemRegistered, onSystemUnregisteredMethods inherited from interface QuerySystem
getHierarchyScope, test
-
Constructor Details
-
SettleGeneratedBoundaries
public SettleGeneratedBoundaries(@Nonnull ComponentType<ChunkStore, ChunkSection> chunkSectionComponentType, @Nonnull ComponentType<ChunkStore, FluidSection> fluidSectionComponentType)
-
-
Method Details
-
onEntityAdded
public void onEntityAdded(@Nonnull Ref<ChunkStore> ref, @Nonnull AddReason reason, @Nonnull Store<ChunkStore> store, @Nonnull CommandBuffer<ChunkStore> commandBuffer) Description copied from class:RefSystemCalled after an entity has been added to aStoreand has anArchetypethat fulfills theQueryprovided byQuerySystem.getQuery()}.- Specified by:
onEntityAddedin classRefSystem<ChunkStore>- Parameters:
ref- The entity reference of the added entity.reason- The reason for the entity being added.store- The store the entity was added to.commandBuffer- The command buffer to execute tasks. Note: The command buffer tasks are executed after all systems have processed the entity add.
-
onEntityRemove
public void onEntityRemove(@Nonnull Ref<ChunkStore> ref, @Nonnull RemoveReason reason, @Nonnull Store<ChunkStore> store, @Nonnull CommandBuffer<ChunkStore> commandBuffer) Description copied from class:RefSystemCalled before an entity has been removed from aStoreand has anArchetypethat fulfills theQueryprovided byQuerySystem.getQuery()}.- Specified by:
onEntityRemovein classRefSystem<ChunkStore>- Parameters:
ref- The entity reference of the removed entity.reason- The reason for the entity being removed.store- The store the entity is being removed from.commandBuffer- The command buffer to execute tasks. Note: The command buffer tasks are executed after all systems have processed the entity remove.
-
getQuery
-