类 NaturalSpawner
java.lang.Object
net.minecraft.world.level.NaturalSpawner
-
嵌套类概要
嵌套类修饰符和类型类说明static interface
static interface
static interface
static class
-
字段概要
字段修饰符和类型字段说明private static final org.slf4j.Logger
(专用程序包) static final int
private static final int
static final int
static final int
private static final MobCategory[]
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static boolean
canSpawnAtBody
(SpawnPlacements.Type pPlaceType, LevelReader pLevel, BlockPos pPos, EntityType<?> pEntityType) private static boolean
canSpawnMobAt
(ServerLevel pLevel, StructureManager pStructureManager, ChunkGenerator pGenerator, MobCategory pCategory, MobSpawnSettings.SpawnerData pData, BlockPos pPos) static NaturalSpawner.SpawnState
createState
(int pSpawnableChunkCount, Iterable<Entity> pEntities, NaturalSpawner.ChunkGetter pChunkGetter, LocalMobCapCalculator pCalculator) private static Mob
getMobForSpawn
(ServerLevel pLevel, EntityType<?> pEntityType) private static BlockPos
getRandomPosWithin
(Level pLevel, LevelChunk pChunk) private static Optional<MobSpawnSettings.SpawnerData>
getRandomSpawnMobAt
(ServerLevel pLevel, StructureManager pStructureManager, ChunkGenerator pGenerator, MobCategory pCategory, RandomSource pRandom, BlockPos pPos) (专用程序包) static Biome
getRoughBiome
(BlockPos pPos, ChunkAccess pChunk) private static BlockPos
getTopNonCollidingPos
(LevelReader pLevel, EntityType<?> pEntityType, int pX, int pZ) static boolean
isInNetherFortressBounds
(BlockPos pPos, ServerLevel pLevel, MobCategory pCategory, StructureManager pStructureManager) private static boolean
isRightDistanceToPlayerAndSpawnPoint
(ServerLevel pLevel, ChunkAccess pChunk, BlockPos.MutableBlockPos pPos, double pDistance) static boolean
isSpawnPositionOk
(SpawnPlacements.Type pPlaceType, LevelReader pLevel, BlockPos pPos, EntityType<?> pEntityType) static boolean
isValidEmptySpawnBlock
(BlockGetter pBlock, BlockPos pPos, BlockState pBlockState, FluidState pFluidState, EntityType<?> pEntityType) private static boolean
isValidPositionForMob
(ServerLevel pLevel, Mob pMob, double pDistance) private static boolean
isValidSpawnPostitionForType
(ServerLevel pLevel, MobCategory pCategory, StructureManager pStructureManager, ChunkGenerator pGenerator, MobSpawnSettings.SpawnerData pData, BlockPos.MutableBlockPos pPos, double pDistance) private static WeightedRandomList<MobSpawnSettings.SpawnerData>
mobsAt
(ServerLevel pLevel, StructureManager pStructureManager, ChunkGenerator pGenerator, MobCategory pCategory, BlockPos pPos, Holder<Biome> pBiome) static void
spawnCategoryForChunk
(MobCategory pCategory, ServerLevel pLevel, LevelChunk pChunk, NaturalSpawner.SpawnPredicate pFilter, NaturalSpawner.AfterSpawnCallback pCallback) static void
spawnCategoryForPosition
(MobCategory pCategory, ServerLevel pLevel, BlockPos pPos) static void
spawnCategoryForPosition
(MobCategory pCategory, ServerLevel pLevel, ChunkAccess pChunk, BlockPos pPos, NaturalSpawner.SpawnPredicate pFilter, NaturalSpawner.AfterSpawnCallback pCallback) static void
spawnForChunk
(ServerLevel pLevel, LevelChunk pChunk, NaturalSpawner.SpawnState pSpawnState, boolean pSpawnFriendlies, boolean pSpawnMonsters, boolean pForcedDespawn) static void
spawnMobsForChunkGeneration
(ServerLevelAccessor pLevelAccessor, Holder<Biome> pBiome, ChunkPos pChunkPos, RandomSource pRandom)
-
字段详细资料
-
LOGGER
private static final org.slf4j.Logger LOGGER -
MIN_SPAWN_DISTANCE
private static final int MIN_SPAWN_DISTANCE- 另请参阅:
-
SPAWN_DISTANCE_CHUNK
public static final int SPAWN_DISTANCE_CHUNK- 另请参阅:
-
SPAWN_DISTANCE_BLOCK
public static final int SPAWN_DISTANCE_BLOCK- 另请参阅:
-
MAGIC_NUMBER
static final int MAGIC_NUMBER -
SPAWNING_CATEGORIES
-
-
构造器详细资料
-
NaturalSpawner
private NaturalSpawner()
-
-
方法详细资料
-
createState
public static NaturalSpawner.SpawnState createState(int pSpawnableChunkCount, Iterable<Entity> pEntities, NaturalSpawner.ChunkGetter pChunkGetter, LocalMobCapCalculator pCalculator) -
getRoughBiome
-
spawnForChunk
public static void spawnForChunk(ServerLevel pLevel, LevelChunk pChunk, NaturalSpawner.SpawnState pSpawnState, boolean pSpawnFriendlies, boolean pSpawnMonsters, boolean pForcedDespawn) -
spawnCategoryForChunk
public static void spawnCategoryForChunk(MobCategory pCategory, ServerLevel pLevel, LevelChunk pChunk, NaturalSpawner.SpawnPredicate pFilter, NaturalSpawner.AfterSpawnCallback pCallback) -
spawnCategoryForPosition
public static void spawnCategoryForPosition(MobCategory pCategory, ServerLevel pLevel, BlockPos pPos) -
spawnCategoryForPosition
public static void spawnCategoryForPosition(MobCategory pCategory, ServerLevel pLevel, ChunkAccess pChunk, BlockPos pPos, NaturalSpawner.SpawnPredicate pFilter, NaturalSpawner.AfterSpawnCallback pCallback) -
isRightDistanceToPlayerAndSpawnPoint
private static boolean isRightDistanceToPlayerAndSpawnPoint(ServerLevel pLevel, ChunkAccess pChunk, BlockPos.MutableBlockPos pPos, double pDistance) -
isValidSpawnPostitionForType
private static boolean isValidSpawnPostitionForType(ServerLevel pLevel, MobCategory pCategory, StructureManager pStructureManager, ChunkGenerator pGenerator, MobSpawnSettings.SpawnerData pData, BlockPos.MutableBlockPos pPos, double pDistance) -
getMobForSpawn
-
isValidPositionForMob
-
getRandomSpawnMobAt
private static Optional<MobSpawnSettings.SpawnerData> getRandomSpawnMobAt(ServerLevel pLevel, StructureManager pStructureManager, ChunkGenerator pGenerator, MobCategory pCategory, RandomSource pRandom, BlockPos pPos) -
canSpawnMobAt
private static boolean canSpawnMobAt(ServerLevel pLevel, StructureManager pStructureManager, ChunkGenerator pGenerator, MobCategory pCategory, MobSpawnSettings.SpawnerData pData, BlockPos pPos) -
mobsAt
private static WeightedRandomList<MobSpawnSettings.SpawnerData> mobsAt(ServerLevel pLevel, StructureManager pStructureManager, ChunkGenerator pGenerator, MobCategory pCategory, BlockPos pPos, @Nullable Holder<Biome> pBiome) -
isInNetherFortressBounds
public static boolean isInNetherFortressBounds(BlockPos pPos, ServerLevel pLevel, MobCategory pCategory, StructureManager pStructureManager) -
getRandomPosWithin
-
isValidEmptySpawnBlock
public static boolean isValidEmptySpawnBlock(BlockGetter pBlock, BlockPos pPos, BlockState pBlockState, FluidState pFluidState, EntityType<?> pEntityType) -
isSpawnPositionOk
public static boolean isSpawnPositionOk(SpawnPlacements.Type pPlaceType, LevelReader pLevel, BlockPos pPos, @Nullable EntityType<?> pEntityType) -
canSpawnAtBody
public static boolean canSpawnAtBody(SpawnPlacements.Type pPlaceType, LevelReader pLevel, BlockPos pPos, @Nullable EntityType<?> pEntityType) -
spawnMobsForChunkGeneration
public static void spawnMobsForChunkGeneration(ServerLevelAccessor pLevelAccessor, Holder<Biome> pBiome, ChunkPos pChunkPos, RandomSource pRandom) -
getTopNonCollidingPos
private static BlockPos getTopNonCollidingPos(LevelReader pLevel, EntityType<?> pEntityType, int pX, int pZ)
-