X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fserverenvironment.h;h=bb40a33ce221c09bbfb5eda439fcc238fa2fab86;hb=5c248c2d7de3db54e85f7c388743a2eb8e36fee4;hp=5c4b23f402d6a5e26e36d35f14dcc45fba4eade8;hpb=37386b9c3cfc6746734f8c00fa99a44a63b8aeed;p=minetest.git 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 class IGameDef; -class ServerMap; struct GameParams; -class MapBlock; class RemotePlayer; class PlayerDatabase; class AuthDatabase; @@ -193,6 +191,16 @@ class ActiveBlockList std::set m_forceloaded_list; }; +/* + ServerEnvironment::m_on_mapblocks_changed_receiver +*/ +struct OnMapblocksChangedReceiver : public MapEventReceiver { + std::unordered_set modified_blocks; + bool receiving = false; + + void onMapEditEvent(const MapEditEvent &event) override; +}; + /* Operation mode for ServerEnvironment::clearObjects() */ @@ -455,6 +463,8 @@ class ServerEnvironment final : public Environment 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