Cleanup in content_mapblock (#5746)
[oweals/minetest.git] / src / content_sao.h
index c1b01b6ddb2906c5e73cb359abad14763b439cd1..0dad548057c284b097a4be4eb849e21e8445ffbe 100644 (file)
@@ -194,7 +194,7 @@ class RemotePlayer;
 class PlayerSAO : public UnitSAO
 {
 public:
-       PlayerSAO(ServerEnvironment *env_, u16 peer_id_, bool is_singleplayer);
+       PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, u16 peer_id_, bool is_singleplayer);
        ~PlayerSAO();
        ActiveObjectType getType() const
        { return ACTIVEOBJECT_TYPE_PLAYER; }
@@ -277,6 +277,16 @@ public:
                return true;
        }
 
+       inline void removeExtendedAttribute(const std::string &attr)
+       {
+               PlayerAttributes::iterator it = m_extra_attributes.find(attr);
+               if (it == m_extra_attributes.end())
+                       return;
+
+               m_extra_attributes.erase(it);
+               m_extended_attributes_modified = true;
+       }
+
        inline const PlayerAttributes &getExtendedAttributes()
        {
                return m_extra_attributes;
@@ -349,7 +359,7 @@ public:
        bool getCollisionBox(aabb3f *toset) const;
        bool collideWithObjects() const { return true; }
 
-       void initialize(RemotePlayer *player, const std::set<std::string> &privs);
+       void finalize(RemotePlayer *player, const std::set<std::string> &privs);
 
        v3f getEyePosition() const { return m_base_position + getEyeOffset(); }
        v3f getEyeOffset() const;
@@ -397,6 +407,7 @@ public:
        float m_physics_override_gravity;
        bool m_physics_override_sneak;
        bool m_physics_override_sneak_glitch;
+       bool m_physics_override_new_move;
        bool m_physics_override_sent;
 };