net.minecraft.world

public final class SpawnHelper

net.minecraft.world.level.NaturalSpawner
net.minecraft.class_1948
net.minecraft.world.SpawnHelper

Field summary

Modifier and TypeField
private static final org.slf4j.Logger
LOGGER
field_9292
LOGGER
private static final int
MIN_SPAWN_DISTANCE
field_30974
MIN_SPAWN_DISTANCE
public static final int
SPAWN_DISTANCE_CHUNK
field_30972
TICK_WITH_PLAYERS_CHUNK_DISTANCE_THRESHOLD
public static final int
SPAWN_DISTANCE_BLOCK
field_30973
field_30973
public static final int
INSCRIBED_SQUARE_SPAWN_DISTANCE_CHUNK
field_56560
ALWAYS_TICK_CHUNK_DISTANCE_THRESHOLD
private static final int
MAGIC_NUMBER
field_24392
CHUNK_AREA
private static final SpawnGroup[]
SPAWNING_CATEGORIES
field_24393
SPAWNABLE_GROUPS

Constructor summary

ModifierConstructor
private ()

Method summary

Modifier and TypeMethod
public static SpawnHelper$Info
createState(int spawnableChunkCount, Iterable<Entity> entities, NaturalSpawner$ChunkGetter chunkGetter, LocalMobCapCalculator localMobCapCalculator)
method_27815(int arg0, Iterable<class_1297> arg1, class_1948$class_5260 arg2, class_6540 arg3)
setupSpawn(int spawningChunkCount, Iterable<Entity> entities, SpawnHelper$ChunkSource chunkSource, SpawnDensityCapper densityCapper)
private static Biome
getRoughBiome(BlockPos pos, ChunkAccess chunk)
method_27822(class_2338 arg0, class_2791 arg1)
getBiomeDirectly(BlockPos pos, Chunk chunk)
public static List<SpawnGroup>
getFilteredSpawningCategories(NaturalSpawner$SpawnState state, boolean spawnEnemies, boolean spawnPersistent)
method_61729(class_1948$class_5262 arg0, boolean arg1, boolean arg2)
collectSpawnableGroups(SpawnHelper$Info info, boolean spawnMonsters, boolean rareTick)
public static void
spawnForChunk(ServerLevel level, LevelChunk chunk, NaturalSpawner$SpawnState state, List<MobCategory> spawningCategories)
method_27821(class_3218 arg0, class_2818 arg1, class_1948$class_5262 arg2, List<class_1311> arg3)
spawn(ServerWorld world, WorldChunk chunk, SpawnHelper$Info info, List<SpawnGroup> spawnableGroups)
public static void
spawnCategoryForChunk(MobCategory mobCategory, ServerLevel level, LevelChunk chunk, NaturalSpawner$SpawnPredicate extraTest, NaturalSpawner$AfterSpawnCallback spawnCallback)
method_8663(class_1311 arg0, class_3218 arg1, class_2818 arg2, class_1948$class_5261 arg3, class_1948$class_5259 arg4)
spawnEntitiesInChunk(SpawnGroup group, ServerWorld world, WorldChunk chunk, SpawnHelper$Checker checker, SpawnHelper$Runner runner)
public static void
spawnCategoryForPosition(MobCategory mobCategory, ServerLevel level, BlockPos start)
method_35240(class_1311 arg0, class_3218 arg1, class_2338 arg2)
spawnEntitiesInChunk(SpawnGroup group, ServerWorld world, BlockPos pos)
public static void
spawnCategoryForPosition(MobCategory mobCategory, ServerLevel level, ChunkAccess chunk, BlockPos start, NaturalSpawner$SpawnPredicate extraTest, NaturalSpawner$AfterSpawnCallback spawnCallback)
method_24930(class_1311 arg0, class_3218 arg1, class_2791 arg2, class_2338 arg3, class_1948$class_5261 arg4, class_1948$class_5259 arg5)
spawnEntitiesInChunk(SpawnGroup group, ServerWorld world, Chunk chunk, BlockPos pos, SpawnHelper$Checker checker, SpawnHelper$Runner runner)
private static boolean
isRightDistanceToPlayerAndSpawnPoint(ServerLevel level, ChunkAccess chunk, BlockPos$MutableBlockPos pos, double nearestPlayerDistanceSqr)
method_24933(class_3218 arg0, class_2791 arg1, class_2338$class_2339 arg2, double arg3)
isAcceptableSpawnPosition(ServerWorld world, Chunk chunk, BlockPos$Mutable pos, double squaredDistance)
private static boolean
isValidSpawnPostitionForType(ServerLevel level, MobCategory mobCategory, StructureManager structureManager, ChunkGenerator generator, MobSpawnSettings$SpawnerData currentSpawnData, BlockPos$MutableBlockPos pos, double nearestPlayerDistanceSqr)
method_24934(class_3218 arg0, class_1311 arg1, class_5138 arg2, class_2794 arg3, class_5483$class_1964 arg4, class_2338$class_2339 arg5, double arg6)
canSpawn(ServerWorld world, SpawnGroup group, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, SpawnSettings$SpawnEntry spawnEntry, BlockPos$Mutable pos, double squaredDistance)
private static MobEntity
getMobForSpawn(ServerLevel level, EntityType<?> type)
method_24931(class_3218 arg0, class_1299<?> arg1)
createMob(ServerWorld world, EntityType<?> type)
private static boolean
isValidPositionForMob(ServerLevel level, Mob mob, double nearestPlayerDistanceSqr)
method_24932(class_3218 arg0, class_1308 arg1, double arg2)
isValidSpawn(ServerWorld world, MobEntity entity, double squaredDistance)
private static Optional<SpawnSettings$SpawnEntry>
getRandomSpawnMobAt(ServerLevel level, StructureManager structureManager, ChunkGenerator generator, MobCategory mobCategory, RandomSource random, BlockPos pos)
method_8664(class_3218 arg0, class_5138 arg1, class_2794 arg2, class_1311 arg3, class_5819 arg4, class_2338 arg5)
pickRandomSpawnEntry(ServerWorld world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, SpawnGroup spawnGroup, Random random, BlockPos pos)
private static boolean
canSpawnMobAt(ServerLevel level, StructureManager structureManager, ChunkGenerator generator, MobCategory mobCategory, MobSpawnSettings$SpawnerData spawnerData, BlockPos pos)
method_8659(class_3218 arg0, class_5138 arg1, class_2794 arg2, class_1311 arg3, class_5483$class_1964 arg4, class_2338 arg5)
containsSpawnEntry(ServerWorld world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, SpawnGroup spawnGroup, SpawnSettings$SpawnEntry spawnEntry, BlockPos pos)
private static WeightedPool<SpawnSettings$SpawnEntry>
mobsAt(ServerLevel level, StructureManager structureManager, ChunkGenerator generator, MobCategory mobCategory, BlockPos pos, Holder<Biome> biome)
method_29950(class_3218 arg0, class_5138 arg1, class_2794 arg2, class_1311 arg3, class_2338 arg4, class_6880<class_1959> arg5)
getSpawnEntries(ServerWorld world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, SpawnGroup spawnGroup, BlockPos pos, RegistryEntry<Biome> biomeEntry)
public static boolean
isInNetherFortressBounds(BlockPos pos, ServerLevel level, MobCategory category, StructureManager structureManager)
method_38091(class_2338 arg0, class_3218 arg1, class_1311 arg2, class_5138 arg3)
shouldUseNetherFortressSpawns(BlockPos pos, ServerWorld world, SpawnGroup spawnGroup, StructureAccessor structureAccessor)
private static BlockPos
getRandomPosWithin(Level level, LevelChunk chunk)
method_8657(class_1937 arg0, class_2818 arg1)
getRandomPosInChunkSection(World world, WorldChunk chunk)
public static boolean
isValidEmptySpawnBlock(BlockGetter level, BlockPos pos, BlockState blockState, FluidState fluidState, EntityType<?> type)
method_8662(class_1922 arg0, class_2338 arg1, class_2680 arg2, class_3610 arg3, class_1299<?> arg4)
isClearForSpawn(BlockView blockView, BlockPos pos, BlockState state, FluidState fluidState, EntityType<?> entityType)
public static void
spawnMobsForChunkGeneration(ServerLevelAccessor level, Holder<Biome> biome, ChunkPos chunkPos, RandomSource random)
method_8661(class_5425 arg0, class_6880<class_1959> arg1, class_1923 arg2, class_5819 arg3)
populateEntities(ServerWorldAccess world, RegistryEntry<Biome> biomeEntry, ChunkPos chunkPos, Random random)
private static BlockPos
getTopNonCollidingPos(LevelReader level, EntityType<?> type, int x, int z)
method_8658(class_4538 arg0, class_1299<?> arg1, int arg2, int arg3)
getEntitySpawnPos(WorldView world, EntityType<?> entityType, int x, int z)
private static void
lambda$spawnCategoryForPosition$1(Mob arg0, ChunkAccess arg1)
method_35239(class_1308 arg0, class_2791 arg1)
method_35239(MobEntity entity, Chunk chunk)
private static boolean
lambda$spawnCategoryForPosition$0(EntityType arg0, BlockPos arg1, ChunkAccess arg2)
method_35238(class_1299 arg0, class_2338 arg1, class_2791 arg2)
method_35238(EntityType type, BlockPos posx, Chunk chunk)
private static void
lambda$createState$0(BlockPos arg0, Entity arg1, PotentialCalculator arg2, LocalMobCapCalculator arg3, MobCategory arg4, it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap arg5, LevelChunk arg6)
method_27819(class_2338 arg0, class_1297 arg1, class_5263 arg2, class_6540 arg3, class_1311 arg4, it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap arg5, class_2818 arg6)
method_27819(BlockPos arg0, Entity arg1, GravityField arg2, SpawnDensityCapper arg3, SpawnGroup arg4, it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap arg5, WorldChunk chunk)
private static SpawnGroup[]
lambda$SPAWNING_CATEGORIES$0(int arg0)
method_27814(int arg0)
method_27814(int arg0)
private static boolean
lambda$static$0(MobCategory arg0)
method_27816(class_1311 arg0)
method_27816(SpawnGroup spawnGroup)