40 std::vector<std::unique_ptr<cMonster>> &
getSpawned(
void)
EMCSBiome
Biome IDs The first batch corresponds to the clientside biomes, used by MineCraft.
unsigned char BLOCKTYPE
The datatype used by blockdata.
eMonsterType
Identifies individual monster type.
This class is used to determine which monster can be spawned in which place it is essentially static ...
std::vector< std::unique_ptr< cMonster > > & getSpawned(void)
bool CheckPackCenter(BLOCKTYPE a_BlockType)
Check if specified block can be a Pack center for this spawner.
cMobSpawner(cMonster::eFamily MobFamily, const std::set< eMonsterType > &a_AllowedTypes)
Constructor a_MobFamily is the Family of mobs that this spawner will spawn a_AllowedTypes is the set ...
static std::set< eMonsterType > GetAllowedMobTypes(EMCSBiome a_Biome)
Returns all mob types that can spawn that biome.
eMonsterType ChooseMobType(EMCSBiome a_Biome)
Returns a random type that can spawn in the specified biome.
std::vector< std::unique_ptr< cMonster > > m_Spawned
bool CanSpawnAnything(void)
void NewPack(void)
Mark the beginning of a new Pack.
std::set< eMonsterType > m_AllowedTypes
cMonster * TryToSpawnHere(cChunk *a_Chunk, Vector3i a_RelPos, EMCSBiome a_Biome, int &a_MaxPackSize)
Try to create a monster here If this is the first of a Pack, determine the type of monster a_Biome,...
cMonster::eFamily m_MonsterFamily
static bool CanSpawnHere(cChunk *a_Chunk, Vector3i a_RelPos, eMonsterType a_MobType, EMCSBiome a_Biome, bool a_DisableSolidBelowCheck=false)
Returns true if specified type of mob can spawn on specified block.