25#define BLOCK_TIMESTAMP_UNDEFINED 0xffffffff
143 assert(direction <= 5);
149 newflags |= 1 << direction;
151 newflags &= ~(1 << direction);
158 assert(direction <= 5);
202 return core::aabbox3d<s16>(pos_relative,
226 if (!*valid_position)
234 return getNode(
p.X,
p.Y,
p.Z, valid_position);
410 void serialize(std::ostream &result, u8 version,
bool disk,
int compression_level);
413 void deSerialize(std::istream &is, u8 version,
bool disk);
458#if CHECK_CLIENT_BUILD()
570 return p.X < -max_limit_bs ||
571 p.X > max_limit_bs ||
572 p.Y < -max_limit_bs ||
573 p.Y > max_limit_bs ||
574 p.Z < -max_limit_bs ||
581 return p.X < -max_limit_bp ||
582 p.X > max_limit_bp ||
583 p.Y < -max_limit_bp ||
584 p.Y > max_limit_bp ||
585 p.Z < -max_limit_bp ||
Definition exceptions.h:108
Definition mapblock_mesh.h:176
bool is_underground
Definition mapblock.h:555
static void correctBlockNodeIds(const NameIdMapping *nimap, MapNode *nodes, IGameDef *gamedef)
Definition mapblock.cpp:351
bool m_orphan
Definition mapblock.h:467
void step(float dtime, const std::function< bool(v3s16, MapNode, NodeTimer)> &on_timer_cb)
Definition mapblock.cpp:174
u16 getLightingComplete()
Definition mapblock.h:135
bool getIsUnderground()
Definition mapblock.h:116
MapNode getNodeNoCheck(s16 x, s16 y, s16 z)
Definition mapblock.h:262
float m_usage_timer
Definition mapblock.h:496
void incrementUsageTimer(float dtime)
Definition mapblock.h:348
void raiseModified(u32 mod, u32 reason=MOD_REASON_UNKNOWN)
Definition mapblock.h:79
u32 m_disk_timestamp
Definition mapblock.h:532
bool isValidPosition(s16 x, s16 y, s16 z)
Definition mapblock.h:210
void removeNodeTimer(v3s16 p)
Definition mapblock.h:388
void setTimestamp(u32 time)
Definition mapblock.h:317
v3s16 getPos()
Definition mapblock.h:183
static const u32 ystride
Definition mapblock.h:423
short refGet()
Definition mapblock.h:374
void clearNodeTimers()
Definition mapblock.h:398
void setTimestampNoChangedFlag(u32 time)
Definition mapblock.h:323
u32 getModified()
Definition mapblock.h:93
MapNode getNodeNoEx(v3s16 p)
Definition mapblock.h:237
v3s16 m_pos_relative
Definition mapblock.h:478
u32 m_timestamp
Definition mapblock.h:530
v3s16 m_pos
Definition mapblock.h:470
void setGenerated(bool b)
Definition mapblock.h:170
NodeMetadataList m_node_metadata
Definition mapblock.h:558
bool isLightingComplete(LightBank bank, u8 direction)
Definition mapblock.h:156
u32 clearObjects()
Definition mapblock.cpp:677
MapNode getNode(s16 x, s16 y, s16 z, bool *valid_position)
Definition mapblock.h:222
u32 m_modified_reason
Definition mapblock.h:524
bool m_is_air
Definition mapblock.h:515
u16 m_modified
Definition mapblock.h:523
void setNode(s16 x, s16 y, s16 z, MapNode n)
Definition mapblock.h:243
v3s16 getPosRelative()
Definition mapblock.h:189
float getUsageTimer()
Definition mapblock.h:353
bool isGenerated()
Definition mapblock.h:165
bool m_generated
Definition mapblock.h:545
void setNodeNoCheck(v3s16 p, MapNode n)
Definition mapblock.h:279
void tryShrinkNodes()
Definition mapblock.cpp:253
static const u32 nodecount
Definition mapblock.h:426
void resetModified()
Definition mapblock.h:105
void copyTo(VoxelManipulator &dst)
Definition mapblock.cpp:214
void makeOrphan()
Definition mapblock.h:71
static const u32 zstride
Definition mapblock.h:424
MapNode * data
Definition mapblock.h:487
void deSerialize_pre22(std::istream &is, u8 version, bool disk)
Definition mapblock.cpp:690
void refDrop()
Definition mapblock.h:368
bool m_is_air_expired
Definition mapblock.h:516
StaticObjectList m_static_objects
Definition mapblock.h:559
bool saveStaticObject(u16 id, const StaticObject &obj, u32 reason)
Definition mapblock.cpp:157
MapNode getNode(v3s16 p, bool *valid_position)
Definition mapblock.h:232
bool isValidPosition(v3s16 p)
Definition mapblock.h:217
void setNodeNoCheck(s16 x, s16 y, s16 z, MapNode n)
Definition mapblock.h:272
void serialize(std::ostream &result, u8 version, bool disk, int compression_level)
Serialization.
Definition mapblock.cpp:388
bool isAir()
Definition mapblock.h:298
void reallocate(u32 count, MapNode n)
Definition mapblock.cpp:236
u32 getDiskTimestamp()
Definition mapblock.h:334
bool isOrphan() const
Definition mapblock.h:66
std::vector< content_t > contents
Definition mapblock.h:511
u16 m_lighting_complete
Definition mapblock.h:542
u32 getTimestamp()
Definition mapblock.h:328
std::string getModifiedReasonString()
Definition mapblock.cpp:192
void setLightingComplete(u16 newflags)
Definition mapblock.h:127
NodeTimer getNodeTimer(v3s16 p)
Definition mapblock.h:383
void deSerialize(std::istream &is, u8 version, bool disk)
Definition mapblock.cpp:502
void resetUsageTimer()
Definition mapblock.h:343
void setLightingComplete(LightBank bank, u8 direction, bool is_complete)
Definition mapblock.h:140
void copyFrom(const VoxelManipulator &src)
Definition mapblock.cpp:224
void expandNodesIfNeeded()
Definition mapblock.cpp:279
static void getBlockNodeIdMapping(NameIdMapping *nimap, MapNode *nodes, u32 count, const NodeDefManager *nodedef)
Definition mapblock.cpp:321
void setNode(v3s16 p, MapNode n)
Definition mapblock.h:253
bool onObjectsActivation()
Definition mapblock.cpp:133
MapNode getNodeNoCheck(v3s16 p)
Definition mapblock.h:267
bool storeActiveObject(u16 id)
Definition mapblock.cpp:666
void deSerializeNetworkSpecific(std::istream &is)
Definition mapblock.cpp:652
MapBlock(v3s16 pos, IGameDef *gamedef)
Definition mapblock.cpp:101
void refGrab()
Definition mapblock.h:362
void setIsUnderground(bool a_is_underground)
Definition mapblock.h:121
static core::aabbox3d< s16 > getBox(v3s16 pos_relative)
Definition mapblock.h:200
u32 getModifiedReason()
Definition mapblock.h:98
void serializeNetworkSpecific(std::ostream &os)
Definition mapblock.cpp:497
~MapBlock()
Definition mapblock.cpp:113
void expireIsAirCache()
Definition mapblock.cpp:308
bool do_not_cache_contents
Definition mapblock.h:506
void setNodeTimer(const NodeTimer &t)
Definition mapblock.h:393
NodeTimerList m_node_timers
Definition mapblock.h:562
void actuallyUpdateIsAir()
Definition mapblock.cpp:286
bool m_is_mono_block
Definition mapblock.h:502
IGameDef * m_gamedef
Definition mapblock.h:490
short m_refcount
Definition mapblock.h:480
core::aabbox3d< s16 > getBox()
Definition mapblock.h:195
Definition nameidmapping.h:17
This class is for getting the actual properties of nodes from their content ID.
Definition nodedef.h:509
Definition nodetimer.h:43
void remove(v3s16 p)
Definition nodetimer.h:61
void set(const NodeTimer &timer)
Definition nodetimer.h:88
NodeTimer get(const v3s16 &p)
Definition nodetimer.h:52
void clear()
Definition nodetimer.h:93
Definition nodetimer.h:21
Definition staticobject.h:33
Definition test_mapblock.cpp:17
#define BS
Definition constants.h:61
#define MAP_BLOCKSIZE
Definition constants.h:64
#define MAX_MAP_GENERATION_LIMIT
Definition constants.h:54
core::vector3d< s16 > v3s16
Definition irr_v3d.h:13
core::vector3df v3f
Definition irr_v3d.h:11
std::vector< MapBlock * > MapBlockVect
Definition mapblock.h:565
v3s16 getNodeBlockPos(v3s16 p)
Definition mapblock.h:592
bool objectpos_over_limit(v3f p)
Definition mapblock.h:567
std::string analyze_block(MapBlock *block)
Definition mapblock.cpp:897
#define BLOCK_TIMESTAMP_UNDEFINED
Definition mapblock.h:25
void getNodeBlockPosWithOffset(v3s16 p, v3s16 &block, v3s16 &offset)
Definition mapblock.h:597
bool blockpos_over_max_limit(v3s16 p)
Definition mapblock.h:578
ModReason
Definition mapblock.h:31
@ MOD_REASON_SET_TIMESTAMP
Definition mapblock.h:37
@ MOD_REASON_CLEAR_ALL_OBJECTS
Definition mapblock.h:39
@ MOD_REASON_UNKNOWN
Definition mapblock.h:50
@ MOD_REASON_STATIC_DATA_CHANGED
Definition mapblock.h:47
@ MOD_REASON_STATIC_DATA_REMOVED
Definition mapblock.h:46
@ MOD_REASON_SET_IS_UNDERGROUND
Definition mapblock.h:33
@ MOD_REASON_SET_NODE
Definition mapblock.h:36
@ MOD_REASON_TOO_MANY_OBJECTS
Definition mapblock.h:44
@ MOD_REASON_REMOVE_OBJECTS_REMOVE
Definition mapblock.h:42
@ MOD_REASON_REPORT_META_CHANGE
Definition mapblock.h:38
@ MOD_REASON_ADD_ACTIVE_OBJECT_RAW
Definition mapblock.h:41
@ MOD_REASON_EXPIRE_IS_AIR
Definition mapblock.h:48
@ MOD_REASON_BLOCK_EXPIRED
Definition mapblock.h:40
@ MOD_REASON_VMANIP
Definition mapblock.h:49
@ MOD_REASON_SET_GENERATED
Definition mapblock.h:35
@ MOD_REASON_REMOVE_OBJECTS_DEACTIVATE
Definition mapblock.h:43
@ MOD_REASON_STATIC_DATA_ADDED
Definition mapblock.h:45
@ MOD_REASON_SET_LIGHTING_COMPLETE
Definition mapblock.h:34
#define CONTENT_IGNORE
Definition mapnode.h:57
LightBank
Definition mapnode.h:79
@ LIGHTBANK_NIGHT
Definition mapnode.h:81
@ MOD_STATE_WRITE_AT_UNLOAD
Definition modifiedstate.h:15
@ MOD_STATE_CLEAN
Definition modifiedstate.h:12
@ MOD_STATE_WRITE_NEEDED
Definition modifiedstate.h:18
s16 getContainerPos(s16 p, s16 d)
Definition numeric.h:33
void getContainerPosWithOffset(s16 p, s16 d, s16 &container, s16 &offset)
Definition numeric.h:72
Definition staticobject.h:20
static std::string p(std::string path)
Definition test_filesys.cpp:64
constexpr v3f x
Definition test_irr_matrix4.cpp:18
constexpr v3f y
Definition test_irr_matrix4.cpp:19
constexpr v3f z
Definition test_irr_matrix4.cpp:20