Class ProgressiveBlockUpdater
java.lang.Object
com.lightning.northstar.world.sealer.ProgressiveBlockUpdater
General idea is to have blocks only update when the oxygen/temperature is
updated. This would eliminate the following problems:
- blocks that don't randomly tick can still be affected without neighbor updates.
- blocks that randomly tick avoid wasting time to check temperature/oxygen statuses.
- blocks don't get affected while the sealer is doing the initial seal after the chunks have been freshly loaded.
- blocks that don't randomly tick can still be affected without neighbor updates.
- blocks that randomly tick avoid wasting time to check temperature/oxygen statuses.
- blocks don't get affected while the sealer is doing the initial seal after the chunks have been freshly loaded.
This class could probably use another name and could probably be part of
block sealers because right now it makes a bit of spaghetti everywhere
when this is somewhat the sealer's responsibility.
Instead of having a generic SealReactiveBlock it could be for oxygen or
temperature directly to avoid extra lookups from the blocks themselves.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetMode()it.unimi.dsi.fastutil.longs.LongArrayFIFOQueuegetQueue()voidprocessUpdates(net.minecraft.world.level.Level level) voidqueueUpdates(it.unimi.dsi.fastutil.longs.LongCollection positions)
-
Constructor Details
-
ProgressiveBlockUpdater
-
-
Method Details
-
queueUpdates
public void queueUpdates(it.unimi.dsi.fastutil.longs.LongCollection positions) -
processUpdates
public void processUpdates(net.minecraft.world.level.Level level) -
getMode
-
getQueue
public it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue getQueue()
-