44 #define MAX_REGISTERED_CONTENT 0x7fffU
53 #define CONTENT_UNKNOWN 125
59 #define CONTENT_AIR 126
71 #define CONTENT_IGNORE 127
93 #define LIQUID_LEVEL_MASK 0x07
94 #define LIQUID_FLOW_DOWN_MASK 0x08
100 #define LIQUID_LEVEL_MAX LIQUID_LEVEL_MASK
101 #define LIQUID_LEVEL_SOURCE (LIQUID_LEVEL_MAX+1)
103 #define LIQUID_INFINITY_MASK 0x80
106 #define LEVELED_MASK 0x7F
107 #define LEVELED_MAX LEVELED_MASK
150 return (
param0 == other.param0
152 &&
param2 == other.param2);
236 return blend_light(daylight_factor, lightday, lightnight);
256 u8 neighbors = 0)
const;
262 std::vector<aabb3f> *boxes, u8 neighbors = 0)
const;
268 std::vector<aabb3f> *boxes, u8 neighbors = 0)
const;
283 void serialize(u8 *dest, u8 version)
const;
294 const MapNode *nodes, u32 nodecount,
295 u8 content_width, u8 params_width,
int compression_level);
298 u8 content_width, u8 params_width);
This class is for getting the actual properties of nodes from their content ID.
Definition: nodedef.h:510
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
u8 blend_light(u32 daylight_factor, u8 lightday, u8 lightnight)
Definition: light.h:75
Rotation
Definition: mapnode.h:82
@ ROTATE_180
Definition: mapnode.h:85
@ ROTATE_270
Definition: mapnode.h:86
@ ROTATE_RAND
Definition: mapnode.h:87
@ ROTATE_90
Definition: mapnode.h:84
@ ROTATE_0
Definition: mapnode.h:83
u16 content_t
Definition: mapnode.h:28
LightBank
Definition: mapnode.h:74
@ LIGHTBANK_NIGHT
Definition: mapnode.h:76
@ LIGHTBANK_DAY
Definition: mapnode.h:75
Definition: nodedef.h:279
Definition: mapnode.h:118
u8 getParam2() const noexcept
Definition: mapnode.h:172
content_t getContent() const noexcept
Definition: mapnode.h:156
bool operator==(const MapNode &other) const noexcept
Definition: mapnode.h:148
static u32 serializedLength(u8 version)
Definition: mapnode.cpp:651
void setLight(LightBank bank, u8 a_light, const ContentFeatures &f) noexcept
Definition: mapnode.cpp:56
u8 param1
Definition: mapnode.h:132
u8 param2
Definition: mapnode.h:138
u8 getParam1() const noexcept
Definition: mapnode.h:164
u8 getLightBlend(u32 daylight_factor, const NodeDefManager *nodemgr) const
Definition: mapnode.h:231
void setContent(content_t c) noexcept
Definition: mapnode.h:160
void rotateAlongYAxis(const NodeDefManager *nodemgr, Rotation rot)
Definition: mapnode.cpp:180
void getColor(const ContentFeatures &f, video::SColor *color) const
Definition: mapnode.cpp:47
void getCollisionBoxes(const NodeDefManager *nodemgr, std::vector< aabb3f > *boxes, u8 neighbors=0) const
Definition: mapnode.cpp:563
bool getLightBanks(u8 &lightday, u8 &lightnight, const NodeDefManager *nodemgr) const
Definition: mapnode.cpp:123
void deSerialize_pre22(const u8 *source, u8 version)
Definition: mapnode.cpp:808
u8 getFaceDir(const NodeDefManager *nodemgr, bool allow_wallmounted=false) const
Definition: mapnode.cpp:145
u8 getLightNoChecks(LightBank bank, const ContentFeatures *f) const noexcept
This function differs from getLight(LightBank bank, NodeDefManager *nodemgr) in that the ContentFeatu...
Definition: mapnode.cpp:117
static void serializeBulk(std::ostream &os, int version, const MapNode *nodes, u32 nodecount, u8 content_width, u8 params_width, int compression_level)
Definition: mapnode.cpp:707
MapNode(content_t content, u8 a_param1=0, u8 a_param2=0) noexcept
Definition: mapnode.h:142
void getNodeBoxes(const NodeDefManager *nodemgr, std::vector< aabb3f > *boxes, u8 neighbors=0) const
Definition: mapnode.cpp:556
s8 setLevel(const NodeDefManager *nodemgr, s16 level=1)
Definition: mapnode.cpp:612
u8 getWallMounted(const NodeDefManager *nodemgr) const
Definition: mapnode.cpp:158
v3s16 getWallMountedDir(const NodeDefManager *nodemgr) const
Definition: mapnode.cpp:167
u8 getMaxLevel(const NodeDefManager *nodemgr) const
Definition: mapnode.cpp:580
void getSelectionBoxes(const NodeDefManager *nodemg, std::vector< aabb3f > *boxes, u8 neighbors=0) const
Definition: mapnode.cpp:573
void deSerialize(u8 *source, u8 version)
Definition: mapnode.cpp:682
u16 param0
Definition: mapnode.h:122
static void deSerializeBulk(std::istream &is, int version, MapNode *nodes, u32 nodecount, u8 content_width, u8 params_width)
Definition: mapnode.cpp:746
u8 getLightRaw(LightBank bank, const ContentFeatures &f) const noexcept
Definition: mapnode.cpp:110
u8 getLight(LightBank bank, const NodeDefManager *nodemgr) const
Definition: mapnode.cpp:96
u8 getLevel(const NodeDefManager *nodemgr) const
Definition: mapnode.cpp:591
void setParam2(u8 p) noexcept
Definition: mapnode.h:176
u8 getNeighbors(v3s16 p, Map *map) const
Definition: mapnode.cpp:520
bool isLightDayNightEq(const NodeDefManager *nodemgr) const
Check if the light value for night differs from the light value for day.
Definition: mapnode.cpp:80
void setParam1(u8 p) noexcept
Definition: mapnode.h:168
s8 addLevel(const NodeDefManager *nodemgr, s16 add=1)
Definition: mapnode.cpp:644
void serialize(u8 *dest, u8 version) const
Definition: mapnode.cpp:667
std::string p(std::string path)
Definition: test_filepath.cpp:59