class MapBlock;
class NodeMetadata;
class IGameDef;
-class IRollbackReportSink;
+class IRollbackManager;
class EmergeManager;
class ServerEnvironment;
struct BlockMakeData;
bool isValidPosition(v3s16 p);
- // throws InvalidPositionException if not found
- MapNode getNode(v3s16 p);
-
// throws InvalidPositionException if not found
void setNode(v3s16 p, MapNode & n);
// Returns a CONTENT_IGNORE node if not found
- MapNode getNodeNoEx(v3s16 p);
+ // If is_valid_position is not NULL then this will be set to true if the
+ // position is valid, otherwise false
+ MapNode getNodeNoEx(v3s16 p, bool *is_valid_position = NULL);
void unspreadLight(enum LightBank bank,
std::map<v3s16, u8> & from_nodes,
// Database version
void loadBlock(std::string *blob, v3s16 p3d, MapSector *sector, bool save_after_load=false);
+ void updateVManip(v3s16 pos);
+
// For debug printing
virtual void PrintInfo(std::ostream &out);
void blitBackAll(std::map<v3s16, MapBlock*> * modified_blocks,
bool overwrite_generated = true);
+ bool m_is_dirty;
+
protected:
bool m_create_area;
Map *m_map;