15#define OBJDEF_INVALID_INDEX ((u32)(-1))
16#define OBJDEF_INVALID_HANDLE 0
17#define OBJDEF_HANDLE_SALT 0x00585e6fu
18#define OBJDEF_MAX_ITEMS (1 << 18)
19#define OBJDEF_UID_MASK ((1 << 7) - 1)
This class is for getting the actual properties of nodes from their content ID.
Definition nodedef.h:530
void cloneTo(ObjDefManager *mgr) const
Definition objdef.cpp:184
const NodeDefManager * getNodeDef() const
Definition objdef.h:85
virtual ObjDefHandle add(ObjDef *obj)
Definition objdef.cpp:27
virtual ~ObjDefManager()
Definition objdef.cpp:20
static bool decodeHandle(ObjDefHandle handle, u32 *index, ObjDefType *type, u32 *uid)
Definition objdef.cpp:158
ObjDefManager()
Definition objdef.h:93
u32 validateHandle(ObjDefHandle handle) const
Definition objdef.cpp:127
virtual const char * getObjectTitle() const
Definition objdef.h:65
size_t getNumObjects() const
Definition objdef.h:83
static ObjDefHandle createHandle(u32 index, ObjDefType type, u32 uid)
Definition objdef.cpp:144
virtual ObjDef * getRaw(u32 index) const
Definition objdef.cpp:92
virtual void clear()
Definition objdef.cpp:118
virtual ObjDef * get(ObjDefHandle handle) const
Definition objdef.cpp:43
const NodeDefManager * m_ndef
Definition objdef.h:97
DISABLE_CLASS_COPY(ObjDefManager)
ObjDefType m_objtype
Definition objdef.h:99
virtual ObjDef * set(ObjDefHandle handle, ObjDef *obj)
Definition objdef.cpp:50
std::vector< ObjDef * > m_objects
Definition objdef.h:98
ObjDefType getType() const
Definition objdef.h:84
virtual u32 addRaw(ObjDef *obj)
Definition objdef.cpp:66
virtual ObjDef * setRaw(u32 index, ObjDef *obj)
Definition objdef.cpp:98
virtual ObjDef * getByName(const std::string &name) const
Definition objdef.cpp:106
u32 uid
Definition objdef.h:41
void cloneTo(ObjDef *def) const
Definition objdef.cpp:176
virtual ~ObjDef()=default
virtual ObjDef * clone() const =0
u32 index
Definition objdef.h:40
ObjDefHandle handle
Definition objdef.h:42
std::string name
Definition objdef.h:43
u32 ObjDefHandle
Definition objdef.h:21
ObjDefType
Definition objdef.h:23
@ OBJDEF_SCHEMATIC
Definition objdef.h:28
@ OBJDEF_BIOME
Definition objdef.h:25
@ OBJDEF_DECORATION
Definition objdef.h:27
@ OBJDEF_GENERIC
Definition objdef.h:24
@ OBJDEF_ORE
Definition objdef.h:26