Class NukeMk5ChunkEater

java.lang.Object
com.hbm_m.explosion.NukeMk5ChunkEater
All Implemented Interfaces:
IExplosionRay

public class NukeMk5ChunkEater extends Object implements IExplosionRay
chunk-by-chunk "crater" for Fat Man / MK5. Do not confuse with CraterGenerator (used by other charges).
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    boolean
     
    final List<net.minecraft.world.level.ChunkPos>
     
    final Map<net.minecraft.world.level.ChunkPos,List<NukeMk5ChunkEater.FloatTriplet>>
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    NukeMk5ChunkEater(net.minecraft.world.level.Level level, int x, int y, int z, int strength, int speed, int length)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cacheChunksTick(int processTimeMs)
    Вызывается каждый тик для предвычисления и кеширования затронутых чанков.
    void
    Немедленно отменяет взрыв и очищает внутренние структуры.
    void
    Финальный проход по сфере — убирает воду, просочившуюся между тиками обработки чанков.
    void
    collectTip(int count)
     
    void
    destructionTick(int processTimeMs)
    Вызывается каждый тик для фактического разрушения блоков в уже закешированных чанках.
    protected void
    handleTip(int x, int y, int z)
     
    boolean
     
    static float
    masqueradeResistance(net.minecraft.world.level.Level level, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.BlockPos pos)
     
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • perChunk

      public final Map<net.minecraft.world.level.ChunkPos,List<NukeMk5ChunkEater.FloatTriplet>> perChunk
    • orderedChunks

      public final List<net.minecraft.world.level.ChunkPos> orderedChunks
    • isAusf3Complete

      public boolean isAusf3Complete
  • Constructor Details

    • NukeMk5ChunkEater

      public NukeMk5ChunkEater(net.minecraft.world.level.Level level, int x, int y, int z, int strength, int speed, int length)
  • Method Details

    • collectTip

      public void collectTip(int count)
    • masqueradeResistance

      public static float masqueradeResistance(net.minecraft.world.level.Level level, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.BlockPos pos)
    • processChunk

      public void processChunk()
    • clearRemainingFluidsInCrater

      public void clearRemainingFluidsInCrater(int budgetMs)
      Финальный проход по сфере — убирает воду, просочившуюся между тиками обработки чанков.
    • handleTip

      protected void handleTip(int x, int y, int z)
    • isComplete

      public boolean isComplete()
      Specified by:
      isComplete in interface IExplosionRay
      Returns:
      true, если расчёты и разрушение завершены или взрыв отменён.
    • cacheChunksTick

      public void cacheChunksTick(int processTimeMs)
      Description copied from interface: IExplosionRay
      Вызывается каждый тик для предвычисления и кеширования затронутых чанков. Тяжёлые вычисления рекомендуется выполнять здесь с ограничением по времени.
      Specified by:
      cacheChunksTick in interface IExplosionRay
      Parameters:
      processTimeMs - максимально допустимое время работы в этом тике (мс)
    • destructionTick

      public void destructionTick(int processTimeMs)
      Description copied from interface: IExplosionRay
      Вызывается каждый тик для фактического разрушения блоков в уже закешированных чанках.
      Specified by:
      destructionTick in interface IExplosionRay
      Parameters:
      processTimeMs - максимально допустимое время работы в этом тике (мс)
    • cancel

      public void cancel()
      Description copied from interface: IExplosionRay
      Немедленно отменяет взрыв и очищает внутренние структуры.
      Specified by:
      cancel in interface IExplosionRay