aboutsummaryrefslogtreecommitdiff
path: root/src/serverenvironment.h
diff options
context:
space:
mode:
authorJude Melton-Houghton <jwmhjwmh@gmail.com>2022-09-03 22:05:07 -0400
committerJude Melton-Houghton <jwmhjwmh@gmail.com>2022-12-24 08:24:59 -0500
commit5c248c2d7de3db54e85f7c388743a2eb8e36fee4 (patch)
treeb0d27690b3e852b207345dc5e00dc4457a7e6268 /src/serverenvironment.h
parent7701e70dc92262c41d68cf1c9f7fbd0c333e5c52 (diff)
downloadminetest-5c248c2d7de3db54e85f7c388743a2eb8e36fee4.tar.xz
Add callback on_mapblocks_changed
Diffstat (limited to 'src/serverenvironment.h')
-rw-r--r--src/serverenvironment.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/serverenvironment.h b/src/serverenvironment.h
index 5c4b23f40..bb40a33ce 100644
--- a/src/serverenvironment.h
+++ b/src/serverenvironment.h
@@ -21,7 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "activeobject.h"
#include "environment.h"
-#include "mapnode.h"
+#include "map.h"
#include "settings.h"
#include "server/activeobjectmgr.h"
#include "util/numeric.h"
@@ -30,9 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <random>
class IGameDef;
-class ServerMap;
struct GameParams;
-class MapBlock;
class RemotePlayer;
class PlayerDatabase;
class AuthDatabase;
@@ -194,6 +192,16 @@ public:
};
/*
+ ServerEnvironment::m_on_mapblocks_changed_receiver
+*/
+struct OnMapblocksChangedReceiver : public MapEventReceiver {
+ std::unordered_set<v3s16> modified_blocks;
+ bool receiving = false;
+
+ void onMapEditEvent(const MapEditEvent &event) override;
+};
+
+/*
Operation mode for ServerEnvironment::clearObjects()
*/
enum ClearObjectsMode {
@@ -455,6 +463,8 @@ private:
Server *m_server;
// Active Object Manager
server::ActiveObjectMgr m_ao_manager;
+ // on_mapblocks_changed map event receiver
+ OnMapblocksChangedReceiver m_on_mapblocks_changed_receiver;
// World path
const std::string m_path_world;
// Outgoing network message buffer for active objects