diff options
Diffstat (limited to 'src/serverenvironment.h')
-rw-r--r-- | src/serverenvironment.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/serverenvironment.h b/src/serverenvironment.h index 05a68cb30..225f788d9 100644 --- a/src/serverenvironment.h +++ b/src/serverenvironment.h @@ -22,7 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "activeobject.h" #include "environment.h" #include "mapnode.h" -#include "server/serveractiveobjectmap.h" #include "settings.h" #include "util/numeric.h" #include <set> @@ -194,6 +193,8 @@ enum ClearObjectsMode { This is not thread-safe. Server uses an environment mutex. */ +typedef std::unordered_map<u16, ServerActiveObject *> ServerActiveObjectMap; + class ServerEnvironment : public Environment { public: @@ -253,7 +254,18 @@ public: */ u16 addActiveObject(ServerActiveObject *object); - void updateActiveObject(ServerActiveObject *object); + /** + * Verify if id is a free active object id + * @param id + * @return true if slot is free + */ + bool isFreeServerActiveObjectId(u16 id) const; + + /** + * Retrieve the first free ActiveObject ID + * @return free activeobject ID or 0 if none was found + */ + u16 getFreeServerActiveObjectId(); /* Add an active object as a static object to the corresponding |