]> git.lizzy.rs Git - minetest.git/blobdiff - src/environment.h
Add a setting to enable always flying fast
[minetest.git] / src / environment.h
index 6c52b003d7b34fb47286c64b3612d12d4d176e7c..d17edeacd96e7267f69b2af4543c043fe493a9d8 100644 (file)
@@ -205,9 +205,7 @@ class ServerEnvironment : public Environment
                { return m_gamedef; }
 
        float getSendRecommendedInterval()
-       {
-               return 0.10;
-       }
+               { return m_recommended_send_interval; }
 
        /*
                Save players
@@ -285,6 +283,10 @@ class ServerEnvironment : public Environment
                Other stuff
                -------------------------------------------
        */
+
+       // Script-aware node setters
+       bool setNode(v3s16 p, const MapNode &n);
+       bool removeNode(v3s16 p);
        
        // Find all active objects inside a radius around a point
        std::set<u16> getObjectsInsideRadius(v3f pos, float radius);
@@ -312,7 +314,7 @@ class ServerEnvironment : public Environment
                Returns the id of the object.
                Returns 0 if not added and thus deleted.
        */
-       u16 addActiveObjectRaw(ServerActiveObject *object, bool set_changed);
+       u16 addActiveObjectRaw(ServerActiveObject *object, bool set_changed, u32 dtime_s);
        
        /*
                Remove all objects that satisfy (m_removed && m_known_by_count==0)
@@ -322,7 +324,7 @@ class ServerEnvironment : public Environment
        /*
                Convert stored objects from block to active
        */
-       void activateObjects(MapBlock *block);
+       void activateObjects(MapBlock *block, u32 dtime_s);
        
        /*
                Convert objects that are not in active blocks to static.
@@ -360,12 +362,15 @@ class ServerEnvironment : public Environment
        IntervalLimiter m_active_blocks_management_interval;
        IntervalLimiter m_active_block_modifier_interval;
        IntervalLimiter m_active_blocks_nodemetadata_interval;
+       int m_active_block_interval_overload_skip;
        // Time from the beginning of the game in seconds.
        // Incremented in step().
        u32 m_game_time;
        // A helper variable for incrementing the latter
        float m_game_time_fraction_counter;
        core::list<ABMWithState> m_abms;
+       // An interval for generally sending object positions and stuff
+       float m_recommended_send_interval;
 };
 
 #ifndef SERVER
@@ -462,6 +467,8 @@ class ClientEnvironment : public Environment
        
        // Get event from queue. CEE_NONE is returned if queue is empty.
        ClientEnvEvent getClientEvent();
+
+       std::vector<core::vector2d<int> > attachment_list; // X is child ID, Y is parent ID
        
 private:
        ClientMap *m_map;