43 using MobSpawnedCallback = ::std::function<void(
::Mob&)>;
47 using SpawnStructureMobCallback =
50 using GetSpawningAreasCallback =
51 ::std::function<::gsl::span<::LevelChunk::SpawningArea const>(
::LevelChunk const&)>;
67 virtual ::SpawnSettings
const& getSpawnSettings()
const = 0;
73 virtual ::ActorSpawnRuleGroup
const* getSpawnRules()
const = 0;
76 virtual ::ActorSpawnRuleGroup* getSpawnRulesMutable()
const = 0;
79 virtual ::SpawnGroupRegistry
const* getSpawnGroupRegistry()
const = 0;
82 virtual ::br::spawn::EntityTypeCache* getEntityTypeCache()
const = 0;
85 virtual ::Mob* spawnMob(
100 virtual ::Actor* spawnProjectile(
115 virtual void tickMobCount() = 0;
118 virtual void incrementSpawnableTickedMob() = 0;
121 virtual uint getSpawnableTickedMobCountPrevious()
const = 0;
124 virtual ::std::unordered_set<::ActorUniqueID>
125 spawnMobGroup(
::BlockSource&, ::std::string
const&,
::Vec3 const&,
bool,
bool, ::std::function<
void(
::Mob&)>&&) = 0;
128 virtual ::br::spawn::SpawnPlacements& getSpawnPlacements() = 0;
131 virtual ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
135 virtual void spawnForChunk(
139 ::gsl::span<::SpawnCategory::Type>,
150 MCAPI
static bool findNextSpawnBlockUnder(
153 ::std::optional<::MaterialType> materialToSpawnIn,
154 ::SpawnBlockRequirements spawnBlockRequirements
157 MCAPI
static bool isSpawnPositionOk(
161 bool validateDistToPlayer
174 MCAPI ::Mob* $spawnMob(
187 MCAPI ::Actor* $spawnProjectile(
195 MCAPI ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
198 MCFOLD
void $spawnForChunk(
202 ::gsl::span<::SpawnCategory::Type>,