43 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
44 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
45 ::ll::TypedStorage<8, 48, ::SpawnSettings> mSpawnSettings;
46 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ActorSpawnRuleGroup>> mActorSpawnRules;
47 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SpawnGroupRegistry>> mSpawnGroupRegistry;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::br::spawn::EntityTypeCache>> mEntityTypeCache;
49 ::ll::TypedStorage<8, 272, ::br::spawn::SpawnPlacements> mSpawnPlacements;
50 ::ll::TypedStorage<4, 56, int[2][7]> mBaseTypeCount;
51 ::ll::TypedStorage<8, 128, ::std::unordered_map<::HashedString, int>[2]> mEntityTypeCount;
52 ::ll::TypedStorage<4, 4, int> mTotalEntityCount;
53 ::ll::TypedStorage<4, 4, uint> mSpawnableMobTickCount;
54 ::ll::TypedStorage<4, 4, uint> mSpawnableMobTickCountPrevious;
59 BedrockSpawner& operator=(BedrockSpawner
const&);
60 BedrockSpawner(BedrockSpawner
const&);
66 virtual ~BedrockSpawner() =
default;
70 virtual ::SpawnSettings
const& getSpawnSettings()
const ;
74 virtual ::ActorSpawnRuleGroup
const* getSpawnRules()
const ;
76 virtual ::ActorSpawnRuleGroup* getSpawnRulesMutable()
const ;
78 virtual ::SpawnGroupRegistry
const* getSpawnGroupRegistry()
const ;
80 virtual ::br::spawn::EntityTypeCache* getEntityTypeCache()
const ;
82 virtual ::ItemActor* spawnItem(
98 virtual void tickMobCount() ;
100 virtual void incrementSpawnableTickedMob() ;
102 virtual uint getSpawnableTickedMobCountPrevious()
const ;
104 virtual ::std::unordered_set<::ActorUniqueID> spawnMobGroup(
106 ::std::string
const& spawnGroupId,
109 bool validateDistToPlayer,
110 ::std::function<
void(
::Mob&)>&& spawnedCallback
113 virtual ::br::spawn::SpawnPlacements& getSpawnPlacements() ;
122 MCAPI
void _postProcessSpawnMobs(
132 MCAPI
void _sendHerdEvents(
::MobSpawnHerdInfo const& herdInfo, ::std::vector<::Mob*>& spawnGroup)
const;
136 MCAPI
void _spawnMobInCluster(
141 ::std::vector<::Mob*>& spawnGroup
146 MCAPI
void _updateGroupPersistence(
::MobSpawnRules const& spawnRules, ::std::vector<::Mob*>
const& spawnGroup);
158 MCAPI static ::std::unordered_set<::ChunkPos>
const& SPAWN_RING_OFFSETS();
166 MCFOLD ::SpawnSettings
const& $getSpawnSettings()
const;
170 MCFOLD ::ActorSpawnRuleGroup
const* $getSpawnRules()
const;
172 MCFOLD ::ActorSpawnRuleGroup* $getSpawnRulesMutable()
const;
174 MCFOLD ::SpawnGroupRegistry
const* $getSpawnGroupRegistry()
const;
176 MCFOLD ::br::spawn::EntityTypeCache* $getEntityTypeCache()
const;
186 MCAPI
void $tickMobCount();
188 MCAPI
void $incrementSpawnableTickedMob();
190 MCAPI uint $getSpawnableTickedMobCountPrevious()
const;
192 MCAPI ::std::unordered_set<::ActorUniqueID> $spawnMobGroup(
194 ::std::string
const& spawnGroupId,
197 bool validateDistToPlayer,
198 ::std::function<
void(
::Mob&)>&& spawnedCallback
201 MCFOLD ::br::spawn::SpawnPlacements& $getSpawnPlacements();