Class PrefabPopulator
java.lang.Object
com.hypixel.hytale.server.worldgen.chunk.populator.PrefabPopulator
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Biomeprivate static final intprivate final it.unimi.dsi.fastutil.objects.ObjectArrayList<Biome> private final BitSetprivate static final UniquePrefabContainer.UniquePrefabEntry[]private ChunkGeneratorExecutionprivate intprivate final it.unimi.dsi.fastutil.objects.ObjectArrayList<PrefabPopulator.Candidate> private longprivate final FastRandomprivate UniquePrefabContainer.UniquePrefabEntry[]private int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcollectBiome(Biome biome) private voidcollectBiomes(int seed, ChunkGeneratorExecution execution) private voidprivate voidcollectPrefab(double px, double pz) private voidcollectPrefabs(int seed, ChunkGeneratorExecution execution) private static voidgeneratePrefabAt(int seed, int x, int z, int height, ChunkGeneratorExecution execution, WorldGenPrefabSupplier supplier, BlockMaskCondition configuration, PrefabRotation rotation, ICoordinateRndCondition heightCondition, int environmentId, boolean fitHeightmap, boolean submerge) private voidgeneratePrefabs(int seed, ChunkGeneratorExecution execution) private static PrefabRotationgenerateRotation(int x, int z, Random random, PrefabPatternGenerator patternGenerator) private voidgenerateUniquePrefabs(int seed, ChunkGeneratorExecution execution) private static BlockFluidEntrygetCoverInGroundAt(int seed, int x, int z, int y, Random random, Biome biome) private static intgetHeight(int seed, int x, int z, ChunkGeneratorExecution execution, Biome biome, PrefabPatternGenerator prefabPatternGenerator, Random random) private static booleanintersects(int minX1, int minY1, int minZ1, int maxX1, int maxY1, int maxZ1, int minX2, int minY2, int minZ2, int maxX2, int maxY2, int maxZ2) private static booleanisMatchingBiome(Biome biome, ZoneBiomeResult zoneAndBiomeResult) private static booleanisMatchingChunkBounds(int x, int z, ChunkGeneratorExecution execution, PrefabRotation rotation, IChunkBounds bounds) private static booleanisMatchingChunkBounds(ChunkGeneratorExecution execution, int lowBoundX, int lowBoundZ, int highBoundX, int highBoundZ) private static booleanisMatchingCover(int seed, int x, int z, int y, Random random, CoverContainer.CoverContainerEntry coverContainerEntry) private static booleanisMatchingHeight(int seed, int x, int z, int y, Random random, PrefabPatternGenerator prefabPatternGenerator) private static booleanisMatchingNoiseDensity(int seed, int x, int z, PrefabPatternGenerator prefabPatternGenerator) private static booleanisMatchingParentBlock(int seed, int x, int z, int y, Random random, ZoneBiomeResult zoneAndBiomeResult, PrefabContainer.PrefabContainerEntry containerEntry) private static booleanisWithinUniquePrefabExclusionRange(int x, int z, PrefabPatternGenerator generator, UniquePrefabContainer.UniquePrefabEntry[] uniquePrefabs) static voidpopulate(int seed, ChunkGeneratorExecution execution) voidrun(int seed, ChunkGeneratorExecution execution)
-
Field Details
-
EMPTY_UNIQUE_PREFABS
-
BIOME_SAMPLE_STEP_SIZE
private static final int BIOME_SAMPLE_STEP_SIZE- See Also:
-
worldSeed
private int worldSeed -
prefabSeed
private long prefabSeed -
minPriority
private int minPriority -
biome
-
entry
-
execution
-
uniquePrefabs
-
random
-
biomes
-
prefabs
-
conflicts
-
-
Constructor Details
-
PrefabPopulator
public PrefabPopulator()
-
-
Method Details
-
populate
-
run
-
collectBiomes
-
collectPrefabs
-
generatePrefabs
-
generateUniquePrefabs
-
collectBiome
-
collectPrefab
private void collectPrefab(double px, double pz) -
collectConflicts
private void collectConflicts() -
intersects
private static boolean intersects(int minX1, int minY1, int minZ1, int maxX1, int maxY1, int maxZ1, int minX2, int minY2, int minZ2, int maxX2, int maxY2, int maxZ2) -
isWithinUniquePrefabExclusionRange
private static boolean isWithinUniquePrefabExclusionRange(int x, int z, @Nonnull PrefabPatternGenerator generator, @Nonnull UniquePrefabContainer.UniquePrefabEntry[] uniquePrefabs) -
getHeight
private static int getHeight(int seed, int x, int z, @Nonnull ChunkGeneratorExecution execution, @Nonnull Biome biome, @Nonnull PrefabPatternGenerator prefabPatternGenerator, Random random) -
generateRotation
private static PrefabRotation generateRotation(int x, int z, @Nonnull Random random, @Nonnull PrefabPatternGenerator patternGenerator) -
generatePrefabAt
private static void generatePrefabAt(int seed, int x, int z, int height, @Nonnull ChunkGeneratorExecution execution, @Nonnull WorldGenPrefabSupplier supplier, BlockMaskCondition configuration, PrefabRotation rotation, ICoordinateRndCondition heightCondition, int environmentId, boolean fitHeightmap, boolean submerge) -
isMatchingBiome
-
isMatchingChunkBounds
private static boolean isMatchingChunkBounds(int x, int z, @Nonnull ChunkGeneratorExecution execution, @Nonnull PrefabRotation rotation, @Nonnull IChunkBounds bounds) -
isMatchingChunkBounds
private static boolean isMatchingChunkBounds(@Nonnull ChunkGeneratorExecution execution, int lowBoundX, int lowBoundZ, int highBoundX, int highBoundZ) -
isMatchingHeight
private static boolean isMatchingHeight(int seed, int x, int z, int y, Random random, @Nonnull PrefabPatternGenerator prefabPatternGenerator) -
isMatchingNoiseDensity
private static boolean isMatchingNoiseDensity(int seed, int x, int z, @Nonnull PrefabPatternGenerator prefabPatternGenerator) -
isMatchingParentBlock
private static boolean isMatchingParentBlock(int seed, int x, int z, int y, @Nonnull Random random, @Nonnull ZoneBiomeResult zoneAndBiomeResult, @Nonnull PrefabContainer.PrefabContainerEntry containerEntry) -
getCoverInGroundAt
private static BlockFluidEntry getCoverInGroundAt(int seed, int x, int z, int y, @Nonnull Random random, @Nonnull Biome biome) -
isMatchingCover
private static boolean isMatchingCover(int seed, int x, int z, int y, @Nonnull Random random, @Nonnull CoverContainer.CoverContainerEntry coverContainerEntry)
-