61 lines
1.4 KiB
C++
Executable File
61 lines
1.4 KiB
C++
Executable File
//package net.minecraft.world.entity;
|
|
|
|
#include "../../platform/log.h"
|
|
|
|
class Material;
|
|
|
|
class MobCategory
|
|
{
|
|
public:
|
|
static void initMobCategories();
|
|
|
|
//
|
|
static const MobCategory monster;
|
|
static const MobCategory creature;
|
|
static const MobCategory waterCreature;
|
|
//@todo: rewrite to std::vector with [] init
|
|
static const MobCategory* const values[];
|
|
static const int numValues;
|
|
|
|
int getBaseClassId() const {
|
|
return _baseClassId;
|
|
}
|
|
|
|
int getMaxInstancesPerChunk() const {
|
|
return _max;
|
|
}
|
|
|
|
int getMaxInstancesPerLevel() const {
|
|
return _maxPerLevel;
|
|
}
|
|
|
|
const Material* getSpawnPositionMaterial() const {
|
|
return _spawnPositionMaterial;
|
|
}
|
|
|
|
bool isFriendly() const {
|
|
return _isFriendly;
|
|
}
|
|
|
|
private:
|
|
const int _baseClassId;
|
|
const int _max;
|
|
const int _maxPerLevel;
|
|
mutable const Material* _spawnPositionMaterial;
|
|
const bool _isFriendly;
|
|
|
|
MobCategory(int baseClassId, int max, int maxPerLevel, bool isFriendly)
|
|
: _baseClassId(baseClassId),
|
|
_max(max),
|
|
_maxPerLevel(maxPerLevel),
|
|
_spawnPositionMaterial(NULL),
|
|
_isFriendly(isFriendly)
|
|
{
|
|
//LOGI("Creating a Mobcategory: %d, %d, %p, %d ", _baseClassId, _max, _spawnPositionMaterial, _isFriendly);
|
|
}
|
|
|
|
void setMaterial(const Material* material) const {
|
|
_spawnPositionMaterial = material;
|
|
}
|
|
};
|