40 std::vector<std::unique_ptr<cMonster>> &
getSpawned(
void)
bool CanSpawnAnything(void)
bool CheckPackCenter(BLOCKTYPE a_BlockType)
Check if specified block can be a Pack center for this spawner.
unsigned char BLOCKTYPE
The datatype used by blockdata.
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...
static bool CanSpawnHere(cChunk *a_Chunk, Vector3i a_RelPos, eMonsterType a_MobType, EMCSBiome a_Biome)
Returns true if specified type of mob can spawn on specified block.
void NewPack(void)
Mark the beginning of a new Pack.
EMCSBiome
Biome IDs The first batch corresponds to the clientside biomes, used by MineCraft.
cMonster::eFamily m_MonsterFamily
eMonsterType
Identifies individual monster type, as well as their network type-ID.
std::vector< std::unique_ptr< cMonster > > m_Spawned
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.
This class is used to determine which monster can be spawned in which place it is essentially static ...
std::set< eMonsterType > m_AllowedTypes
std::vector< std::unique_ptr< cMonster > > & getSpawned(void)
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 ...