Class ProgressiveBlockUpdater

java.lang.Object
com.lightning.northstar.world.sealer.ProgressiveBlockUpdater

public class ProgressiveBlockUpdater extends Object
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.

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 Details

    • ProgressiveBlockUpdater

      public ProgressiveBlockUpdater(SealingMode mode)
  • Method Details

    • queueUpdates

      public void queueUpdates(it.unimi.dsi.fastutil.longs.LongCollection positions)
    • processUpdates

      public void processUpdates(net.minecraft.world.level.Level level)
    • getMode

      public SealingMode getMode()
    • getQueue

      public it.unimi.dsi.fastutil.longs.LongArrayFIFOQueue getQueue()