42 using MobSpawnedCallback = ::std::function<void(
::Mob&)>;
46 using SpawnStructureMobCallback =
49 using GetSpawningAreasCallback =
50 ::std::function<::gsl::span<::LevelChunk::SpawningArea const>(
::LevelChunk const&)>;
66 virtual ::SpawnSettings
const& getSpawnSettings()
const = 0;
72 virtual ::ActorSpawnRuleGroup
const* getSpawnRules()
const = 0;
75 virtual ::ActorSpawnRuleGroup* getSpawnRulesMutable()
const = 0;
78 virtual ::SpawnGroupRegistry
const* getSpawnGroupRegistry()
const = 0;
81 virtual ::br::spawn::EntityTypeCache* getEntityTypeCache()
const = 0;
84 virtual ::Mob* spawnMob(
99 virtual ::Actor* spawnProjectile(
114 virtual void tickMobCount() = 0;
117 virtual void incrementSpawnableTickedMob() = 0;
120 virtual uint getSpawnableTickedMobCountPrevious()
const = 0;
123 virtual ::std::unordered_set<::ActorUniqueID>
124 spawnMobGroup(
::BlockSource&, ::std::string
const&,
::Vec3 const&,
bool,
bool, ::std::function<
void(
::Mob&)>&&) = 0;
127 virtual ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
142 MCAPI
static bool findNextSpawnBlockUnder(
145 ::std::optional<::MaterialType> materialToSpawnIn,
146 ::SpawnBlockRequirements spawnBlockRequirements
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>
200 MCAPI
static void** $vftable();