Class TrialSpawnerData

java.lang.Object
net.minecraft.world.level.block.entity.trialspawner.TrialSpawnerData

public class TrialSpawnerData extends Object
  • Field Details

    • TAG_SPAWN_DATA

      public static final String TAG_SPAWN_DATA
      See Also:
    • TAG_NEXT_MOB_SPAWNS_AT

      private static final String TAG_NEXT_MOB_SPAWNS_AT
      See Also:
    • DELAY_BETWEEN_PLAYER_SCANS

      private static final int DELAY_BETWEEN_PLAYER_SCANS
      See Also:
    • TRIAL_OMEN_PER_BAD_OMEN_LEVEL

      private static final int TRIAL_OMEN_PER_BAD_OMEN_LEVEL
      See Also:
    • MAP_CODEC

      public static com.mojang.serialization.MapCodec<TrialSpawnerData> MAP_CODEC
    • detectedPlayers

      protected final Set<UUID> detectedPlayers
    • currentMobs

      protected final Set<UUID> currentMobs
    • cooldownEndsAt

      protected long cooldownEndsAt
    • nextMobSpawnsAt

      protected long nextMobSpawnsAt
    • totalMobsSpawned

      protected int totalMobsSpawned
    • nextSpawnData

      protected Optional<SpawnData> nextSpawnData
    • ejectingLootTable

      protected Optional<ResourceKey<LootTable>> ejectingLootTable
    • displayEntity

      @Nullable protected Entity displayEntity
    • dispensing

      @Nullable private WeightedList<ItemStack> dispensing
    • spin

      protected double spin
    • oSpin

      protected double oSpin
  • Constructor Details

    • TrialSpawnerData

      public TrialSpawnerData()
    • TrialSpawnerData

      public TrialSpawnerData(Set<UUID> pDetectedPlayers, Set<UUID> pCurrentMobs, long pCooldownEndsAt, long pNextMobSpawnsAt, int pTotalMobsSpawned, Optional<SpawnData> pNextSpawnData, Optional<ResourceKey<LootTable>> pEjectingLootTable)
  • Method Details

    • reset

      public void reset()
    • resetStatistics

      public void resetStatistics()
    • hasMobToSpawn

      public boolean hasMobToSpawn(TrialSpawner pTrialSpawner, RandomSource pRandom)
    • hasFinishedSpawningAllMobs

      public boolean hasFinishedSpawningAllMobs(TrialSpawnerConfig pConfig, int pPlayers)
    • haveAllCurrentMobsDied

      public boolean haveAllCurrentMobsDied()
    • isReadyToSpawnNextMob

      public boolean isReadyToSpawnNextMob(ServerLevel pLevel, TrialSpawnerConfig pConfig, int pPlayers)
    • countAdditionalPlayers

      public int countAdditionalPlayers(BlockPos pPos)
    • tryDetectPlayers

      public void tryDetectPlayers(ServerLevel pLevel, BlockPos pPos, TrialSpawner pSpawner)
    • findPlayerWithOminousEffect

      private static Optional<com.mojang.datafixers.util.Pair<Player,Holder<MobEffect>>> findPlayerWithOminousEffect(ServerLevel pLevel, List<UUID> pPlayers)
    • resetAfterBecomingOminous

      public void resetAfterBecomingOminous(TrialSpawner pSpawner, ServerLevel pLevel)
    • transformBadOmenIntoTrialOmen

      private static void transformBadOmenIntoTrialOmen(Player pPlayer)
    • isReadyToOpenShutter

      public boolean isReadyToOpenShutter(ServerLevel pLevel, float pDelay, int pTargetCooldownLength)
    • isReadyToEjectItems

      public boolean isReadyToEjectItems(ServerLevel pLevel, float pDelay, int pTargetCooldownLength)
    • isCooldownFinished

      public boolean isCooldownFinished(ServerLevel pLevel)
    • getOrCreateNextSpawnData

      protected SpawnData getOrCreateNextSpawnData(TrialSpawner pSpawner, RandomSource pRandom)
    • getOrCreateDisplayEntity

      @Nullable public Entity getOrCreateDisplayEntity(TrialSpawner pSpawner, Level pLevel, TrialSpawnerState pSpawnerState)
    • getUpdateTag

      public CompoundTag getUpdateTag(TrialSpawnerState pSpawnerState)
    • getSpin

      public double getSpin()
    • getOSpin

      public double getOSpin()
    • getDispensingItems

      WeightedList<ItemStack> getDispensingItems(ServerLevel pLevel, TrialSpawnerConfig pConfig, BlockPos pPos)
    • lowResolutionPosition

      private static long lowResolutionPosition(ServerLevel pLevel, BlockPos pPos)