48 using GetSpawningAreasCallback =
49 ::std::function<::gsl::span<::LevelChunk::SpawningArea const>(
::LevelChunk const&)>;
51 using MobSpawnedCallback = ::std::function<void(
::Mob&)>;
55 using SpawnStructureMobCallback =
67 virtual ::SpawnSettings
const& getSpawnSettings()
const = 0;
69 virtual void setSpawnSettings(
::SpawnSettings const& spawnSettings) = 0;
71 virtual ::ActorSpawnRuleGroup
const* getSpawnRules()
const = 0;
73 virtual ::ActorSpawnRuleGroup* getSpawnRulesMutable()
const = 0;
75 virtual ::SpawnGroupRegistry
const* getSpawnGroupRegistry()
const = 0;
77 virtual ::br::spawn::EntityTypeCache* getEntityTypeCache()
const = 0;
79 virtual ::Mob* spawnMob(
92 virtual ::Actor* spawnProjectile(
105 virtual void tickMobCount() = 0;
107 virtual void incrementSpawnableTickedMob() = 0;
109 virtual uint getSpawnableTickedMobCountPrevious()
const = 0;
111 virtual ::std::unordered_set<::ActorUniqueID> spawnMobGroup(
113 ::std::string
const& spawnGroupId,
116 bool validateDistToPlayer,
117 ::std::function<
void(
::Mob&)>&& spawnedCallback
120 virtual ::br::spawn::SpawnPlacements& getSpawnPlacements() = 0;
122 virtual ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
125 virtual void spawnForChunk(
129 ::gsl::span<::SpawnCategory::Type>,
139 MCAPI
static bool findNextSpawnBlockUnder(
142 ::std::optional<::SharedTypes::v1_26_20::MaterialType> materialToSpawnIn,
143 ::SpawnBlockRequirements spawnBlockRequirements
146 MCAPI static ::std::unique_ptr<::Spawner>
149 MCAPI
static bool isSpawnPositionOk(
153 bool validateDistToPlayer
166 MCAPI ::Mob* $spawnMob(
179 MCAPI ::Actor* $spawnProjectile(
187 MCAPI ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
190 MCFOLD
void $spawnForChunk(
194 ::gsl::span<::SpawnCategory::Type>,