43 class ServerMapSector;
57 #define MAPTYPE_BASE 0
58 #define MAPTYPE_SERVER 1
59 #define MAPTYPE_CLIENT 2
187 std::map<v3s16, MapBlock*> &modified_blocks,
188 bool remove_metadata =
true);
190 std::map<v3s16, MapBlock*> &modified_blocks);
215 void timerUpdate(
float dtime,
float unload_timeout, u32 max_loaded_blocks,
216 std::vector<v3s16> *unloaded_blocks=NULL);
230 virtual void PrintInfo(std::ostream &out);
296 const core::aabbox3d<s16> &block_bounds,
v3s16 &check);
298 float step,
float stepfac,
float start_offset,
float end_offset,
342 std::map<v3s16, MapBlock*> *changed_blocks);
394 virtual void PrintInfo(std::ostream &out);
408 std::map<v3s16, MapBlock *> *modified_blocks);
435 #define VMANIP_BLOCK_DATA_INEXIST 1
436 #define VMANIP_BLOCK_CONTAINS_CIGNORE 2
451 bool load_if_inexistent =
true);
454 void blitBackAll(std::map<v3s16, MapBlock*> * modified_blocks,
455 bool overwrite_generated =
true);
Definition: clientmap.h:67
Definition: rollback_interface.h:112
Definition: l_vmanip.h:34
Map * m_map
Definition: map.h:460
virtual ~MMVManip()=default
std::map< v3s16, u8 > m_loaded_blocks
Definition: map.h:465
virtual void clear()
Definition: map.h:444
void initialEmerge(v3s16 blockpos_min, v3s16 blockpos_max, bool load_if_inexistent=true)
Definition: map.cpp:1878
MMVManip(Map *map)
Definition: map.cpp:1872
void blitBackAll(std::map< v3s16, MapBlock * > *modified_blocks, bool overwrite_generated=true)
Definition: map.cpp:1961
bool m_is_dirty
Definition: map.h:457
Definition: mapblock.h:74
Definition: database.h:38
virtual void onMapEditEvent(const MapEditEvent &event)=0
Definition: mapsector.h:40
Definition: map_settings_manager.h:45
void removeNodeTimer(v3s16 p)
Definition: map.cpp:1016
std::set< MapEventReceiver * > m_event_receivers
Definition: map.h:281
f32 m_transforming_liquid_loop_count_multiplier
Definition: map.h:302
void unloadUnreferencedBlocks(std::vector< v3s16 > *unloaded_blocks=NULL)
Definition: map.cpp:455
bool addNodeWithEvent(v3s16 p, MapNode n, bool remove_metadata=true)
Definition: map.cpp:255
bool m_queue_size_timer_started
Definition: map.h:305
void setNodeTimer(const NodeTimer &t)
Definition: map.cpp:996
bool removeNodeWithEvent(v3s16 p)
Definition: map.cpp:281
virtual void endSave()
Definition: map.h:202
void addEventReceiver(MapEventReceiver *event_receiver)
Definition: map.cpp:81
virtual bool saveBlock(MapBlock *block)
Definition: map.h:208
Map(IGameDef *gamedef)
Definition: map.cpp:65
bool isOccluded(const v3s16 &pos_camera, const v3s16 &pos_target, float step, float stepfac, float start_offset, float end_offset, u32 needed_count)
Definition: map.cpp:1094
virtual s32 mapType() const
Definition: map.h:130
UniqueQueue< v3s16 > m_transforming_liquid
Definition: map.h:290
MapBlock * getBlockNoCreate(v3s16 p)
Definition: map.cpp:134
u32 m_unprocessed_count
Definition: map.h:303
const NodeDefManager * m_nodedef
Definition: map.h:293
void transformLiquids(std::map< v3s16, MapBlock * > &modified_blocks, ServerEnvironment *env)
Definition: map.cpp:516
void addNodeAndUpdate(v3s16 p, MapNode n, std::map< v3s16, MapBlock * > &modified_blocks, bool remove_metadata=true)
Definition: map.cpp:193
virtual void drop()
Definition: map.h:138
std::map< v2s16, MapSector * > m_sectors
Definition: map.h:283
void timerUpdate(float dtime, float unload_timeout, u32 max_loaded_blocks, std::vector< v3s16 > *unloaded_blocks=NULL)
Definition: map.cpp:324
std::vector< v3s16 > findNodesWithMetadata(v3s16 p1, v3s16 p2)
Definition: map.cpp:883
virtual bool deleteBlock(v3s16 blockpos)
Definition: map.h:209
bool determineAdditionalOcclusionCheck(const v3s16 &pos_camera, const core::aabbox3d< s16 > &block_bounds, v3s16 &check)
Definition: map.cpp:1030
MapSector * getSectorNoGenerate(v2s16 p2d)
Definition: map.cpp:119
bool isBlockOccluded(MapBlock *block, v3s16 cam_pos_nodes)
Definition: map.cpp:1126
bool isNodeUnderground(v3s16 p)
Definition: map.cpp:142
NodeTimer getNodeTimer(v3s16 p)
Definition: map.cpp:976
NodeMetadata * getNodeMetadata(v3s16 p)
Definition: map.cpp:924
void removeNodeMetadata(v3s16 p)
Definition: map.cpp:962
MapSector * m_sector_cache
Definition: map.h:286
virtual void save(ModifiedState save_level)
Definition: map.h:204
void deleteSectors(std::vector< v2s16 > &list)
Definition: map.cpp:460
void removeEventReceiver(MapEventReceiver *event_receiver)
Definition: map.cpp:86
v2s16 m_sector_cache_p
Definition: map.h:287
virtual ~Map()
Definition: map.cpp:71
virtual void PrintInfo(std::ostream &out)
Definition: map.cpp:473
void dispatchEvent(const MapEditEvent &event)
Definition: map.cpp:91
void removeNodeAndUpdate(v3s16 p, std::map< v3s16, MapBlock * > &modified_blocks)
Definition: map.cpp:249
MapNode getNode(v3s16 p, bool *is_valid_position=NULL)
Definition: map.cpp:157
IGameDef * m_gamedef
Definition: map.h:279
virtual MapSector * emergeSector(v2s16 p)
Definition: map.h:157
MapSector * getSectorNoGenerateNoLock(v2s16 p2d)
Definition: map.cpp:98
u64 m_inc_trending_up_start_time
Definition: map.h:304
const NodeDefManager * getNodeDefManager()
Definition: map.h:168
void setNode(v3s16 p, MapNode &n)
Definition: map.cpp:176
bool isValidPosition(v3s16 p)
Definition: map.cpp:149
virtual void beginSave()
Definition: map.h:201
bool setNodeMetadata(v3s16 p, NodeMetadata *meta)
Sets metadata for a node.
Definition: map.cpp:943
void transforming_liquid_add(v3s16 p)
Definition: map.cpp:512
virtual MapBlock * emergeBlock(v3s16 p, bool create_blank=true)
Definition: map.h:165
MapBlock * getBlockNoCreateNoEx(v3s16 p)
Definition: map.cpp:124
Definition: metricsbackend.h:126
This class is for getting the actual properties of nodes from their content ID.
Definition: nodedef.h:510
Definition: nodetimer.h:36
Definition: serverenvironment.h:194
void updateVManip(v3s16 pos)
Definition: map.cpp:1554
MapSettingsManager settings_mgr
Definition: map.h:410
u64 getSeed()
Definition: map.cpp:1297
MapDatabase * dbase_ro
Definition: map.h:429
bool blockpos_over_mapgen_limit(v3s16 p)
Definition: map.cpp:1302
MapDatabase * dbase
Definition: map.h:428
bool repairBlockLight(v3s16 blockpos, std::map< v3s16, MapBlock * > *modified_blocks)
Definition: map.cpp:1862
virtual void PrintInfo(std::ostream &out)
Definition: map.cpp:1857
void finishBlockMake(BlockMakeData *data, std::map< v3s16, MapBlock * > *changed_blocks)
Definition: map.cpp:1380
~ServerMap()
Definition: map.cpp:1263
MapSector * createSector(v2s16 p)
Definition: map.cpp:1442
s32 mapType() const
Definition: map.h:323
std::set< v3s16 > m_chunks_in_progress
Definition: map.h:421
void beginSave()
Definition: map.cpp:1696
void endSave()
Definition: map.cpp:1701
static MapDatabase * createDatabase(const std::string &name, const std::string &savedir, Settings &conf)
Definition: map.cpp:1668
bool deleteBlock(v3s16 blockpos)
Definition: map.cpp:1840
std::string m_savedir
Definition: map.h:416
bool m_map_saving_enabled
Definition: map.h:417
void listAllLoadedBlocks(std::vector< v3s16 > &dst)
Definition: map.cpp:1653
MapBlock * getBlockOrEmerge(v3s16 p3d)
Definition: map.cpp:1543
EmergeManager * m_emerge
Definition: map.h:414
MapBlock * emergeBlock(v3s16 p, bool create_blank=true)
Definition: map.cpp:1519
int m_map_compression_level
Definition: map.h:419
bool m_map_metadata_changed
Definition: map.h:427
bool initBlockMake(v3s16 blockpos, BlockMakeData *data)
Definition: map.cpp:1315
bool saveBlock(MapBlock *block)
Definition: map.cpp:1706
MapBlock * createBlock(v3s16 p)
Definition: map.cpp:1478
ServerMap(const std::string &savedir, IGameDef *gamedef, EmergeManager *emerge, MetricsBackend *mb)
Definition: map.cpp:1184
MetricCounterPtr m_save_time_counter
Definition: map.h:431
void save(ModifiedState save_level)
Definition: map.cpp:1574
MapgenParams * getMapgenParams()
Definition: map.cpp:1290
void listAllLoadableBlocks(std::vector< v3s16 > &dst)
Definition: map.cpp:1646
bool isSavingEnabled()
Definition: map.h:396
MapBlock * loadBlock(v3s16 p)
Definition: map.cpp:1802
Definition: settings.h:101
void addPoint(const v3s16 &p)
Definition: voxel.h:98
virtual void clear()
Definition: voxel.cpp:41
#define MAP_BLOCKSIZE
Definition: constants.h:77
#define FATAL_ERROR(msg)
Definition: debug.h:58
core::vector2d< s16 > v2s16
Definition: irr_v2d.h:27
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
MapEditEventType
Definition: map.h:61
@ MEET_ADDNODE
Definition: map.h:63
@ MEET_OTHER
Definition: map.h:71
@ MEET_REMOVENODE
Definition: map.h:65
@ MEET_BLOCK_NODE_METADATA_CHANGED
Definition: map.h:69
@ MEET_SWAPNODE
Definition: map.h:67
#define MAPTYPE_SERVER
Definition: map.h:58
#define MAPTYPE_BASE
Definition: map.h:57
#define CONTENT_AIR
Definition: mapnode.h:59
std::shared_ptr< MetricCounter > MetricCounterPtr
Definition: metricsbackend.h:36
ModifiedState
Definition: modifiedstate.h:23
MapEditEventType type
Definition: map.h:76
std::set< v3s16 > modified_blocks
Definition: map.h:79
MapNode n
Definition: map.h:78
v3s16 p
Definition: map.h:77
bool is_private_change
Definition: map.h:80
VoxelArea getArea() const
Definition: map.h:84
Definition: mapnode.h:118
std::string p(std::string path)
Definition: test_filepath.cpp:59