45 using GetSpawningAreasCallback =
46 ::std::function<::gsl::span<::LevelChunk::SpawningArea const>(
::LevelChunk const&)>;
48 using MobSpawnedCallback = ::std::function<void(
::Mob&)>;
52 using SpawnStructureMobCallback =
64 virtual ::SpawnSettings
const& getSpawnSettings()
const = 0;
66 virtual void setSpawnSettings(
::SpawnSettings const& spawnSettings) = 0;
68 virtual ::ActorSpawnRuleGroup
const* getSpawnRules()
const = 0;
70 virtual ::ActorSpawnRuleGroup* getSpawnRulesMutable()
const = 0;
72 virtual ::SpawnGroupRegistry
const* getSpawnGroupRegistry()
const = 0;
74 virtual ::br::spawn::EntityTypeCache* getEntityTypeCache()
const = 0;
76 virtual ::Mob* spawnMob(
89 virtual ::Actor* spawnProjectile(
102 virtual void tickMobCount() = 0;
104 virtual void incrementSpawnableTickedMob() = 0;
106 virtual uint getSpawnableTickedMobCountPrevious()
const = 0;
108 virtual ::std::unordered_set<::ActorUniqueID> spawnMobGroup(
110 ::std::string
const& spawnGroupId,
113 bool validateDistToPlayer,
114 ::std::function<
void(
::Mob&)>&& spawnedCallback
117 virtual ::br::spawn::SpawnPlacements& getSpawnPlacements() = 0;
119 virtual ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
122 virtual void spawnForChunk(
126 ::gsl::span<::SpawnCategory::Type>,
136 MCAPI
static bool findNextSpawnBlockUnder(
139 ::std::optional<::MaterialType> materialToSpawnIn,
140 ::SpawnBlockRequirements spawnBlockRequirements
143 MCAPI
static bool isSpawnPositionOk(
147 bool validateDistToPlayer
160 MCAPI ::Mob* $spawnMob(
173 MCAPI ::Actor* $spawnProjectile(
181 MCAPI ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
184 MCFOLD
void $spawnForChunk(
188 ::gsl::span<::SpawnCategory::Type>,