Class WorldSpawnData

java.lang.Object
com.hypixel.hytale.server.spawning.world.component.WorldSpawnData
All Implemented Interfaces:
Resource<EntityStore>, Cloneable

public class WorldSpawnData extends Object implements Resource<EntityStore>
A shared resource which keeps track of various world spawn statistics for the current world and is used in the generation of SpawnJobs by the world spawning systems. Created on 01/06/2020
  • Constructor Details

    • WorldSpawnData

      public WorldSpawnData()
  • Method Details

    • getResourceType

      public static ResourceType<EntityStore, WorldSpawnData> getResourceType()
    • getActualNPCs

      public int getActualNPCs()
    • getExpectedNPCs

      public double getExpectedNPCs()
    • getExpectedNPCsInEmptyEnvironments

      public double getExpectedNPCsInEmptyEnvironments()
    • isUnspawnable

      public boolean isUnspawnable()
    • setUnspawnable

      public void setUnspawnable(boolean unspawnable)
    • getChunkCount

      public int getChunkCount()
    • adjustChunkCount

      public void adjustChunkCount(int amount)
    • adjustSegmentCount

      public void adjustSegmentCount(int amount)
    • getSpiralIterator

      @Nonnull public SpiralIterator getSpiralIterator()
    • averageSegmentCount

      public double averageSegmentCount()
    • getActiveSpawnJobs

      public int getActiveSpawnJobs()
    • adjustActiveSpawnJobs

      public void adjustActiveSpawnJobs(int amount, int trackedCount)
    • getTrackedCountFromJobs

      public int getTrackedCountFromJobs()
    • getTotalSpawnJobBudgetUsed

      public int getTotalSpawnJobBudgetUsed()
    • getTotalSpawnJobsCompleted

      public int getTotalSpawnJobsCompleted()
    • addCompletedSpawnJob

      public void addCompletedSpawnJob(int budgetUsed)
    • getWorldEnvironmentSpawnData

      public WorldEnvironmentSpawnData getWorldEnvironmentSpawnData(int environmentIndex)
    • getOrCreateWorldEnvironmentSpawnData

      @Nonnull public WorldEnvironmentSpawnData getOrCreateWorldEnvironmentSpawnData(int environmentIndex, @Nonnull World world, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • getWorldEnvironmentSpawnDataIndexes

      public int[] getWorldEnvironmentSpawnDataIndexes()
    • updateSpawnability

      public void updateSpawnability()
    • forEachEnvironmentSpawnData

      public void forEachEnvironmentSpawnData(Consumer<WorldEnvironmentSpawnData> consumer)
    • trackNPC

      public boolean trackNPC(int environmentIndex, int roleIndex, int npcCount, @Nonnull World world, @Nonnull ComponentAccessor<EntityStore> componentAccessor)
    • untrackNPC

      public boolean untrackNPC(int environmentIndex, int roleIndex, int npcCount)
    • recalculateWorldCount

      public void recalculateWorldCount()
    • queueUnspawnableChunk

      public void queueUnspawnableChunk(int environmentIndex, long chunkIndex)
    • hasUnprocessedUnspawnableChunks

      public boolean hasUnprocessedUnspawnableChunks()
    • nextUnspawnableChunk

      @Nullable public WorldSpawnData.UnspawnableEntry nextUnspawnableChunk()
    • clone

      public Resource<EntityStore> clone()
      Specified by:
      clone in interface Resource<EntityStore>
      Returns:
      a clone instance of the original resource instance.