diff options
author | Jude Melton-Houghton <jwmhjwmh@gmail.com> | 2022-09-03 22:05:07 -0400 |
---|---|---|
committer | Jude Melton-Houghton <jwmhjwmh@gmail.com> | 2022-12-24 08:24:59 -0500 |
commit | 5c248c2d7de3db54e85f7c388743a2eb8e36fee4 (patch) | |
tree | b0d27690b3e852b207345dc5e00dc4457a7e6268 /src/serverenvironment.h | |
parent | 7701e70dc92262c41d68cf1c9f7fbd0c333e5c52 (diff) | |
download | minetest-5c248c2d7de3db54e85f7c388743a2eb8e36fee4.tar.xz |
Add callback on_mapblocks_changed
Diffstat (limited to 'src/serverenvironment.h')
-rw-r--r-- | src/serverenvironment.h | 16 |
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 |