mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add '/clearobjects quick'
This commit is contained in:
parent
47464c9344
commit
b1428ab4bb
6 changed files with 124 additions and 51 deletions
|
@ -203,6 +203,18 @@ public:
|
|||
private:
|
||||
};
|
||||
|
||||
/*
|
||||
Operation mode for ServerEnvironment::clearObjects()
|
||||
*/
|
||||
enum ClearObjectsMode {
|
||||
// Load and go through every mapblock, clearing objects
|
||||
CLEAR_OBJECTS_MODE_FULL,
|
||||
|
||||
// Clear objects immediately in loaded mapblocks;
|
||||
// clear objects in unloaded mapblocks only when the mapblocks are next activated.
|
||||
CLEAR_OBJECTS_MODE_QUICK,
|
||||
};
|
||||
|
||||
/*
|
||||
The server-side environment.
|
||||
|
||||
|
@ -319,8 +331,8 @@ public:
|
|||
// Find all active objects inside a radius around a point
|
||||
void getObjectsInsideRadius(std::vector<u16> &objects, v3f pos, float radius);
|
||||
|
||||
// Clear all objects, loading and going through every MapBlock
|
||||
void clearAllObjects();
|
||||
// Clear objects, loading and going through every MapBlock
|
||||
void clearObjects(ClearObjectsMode mode);
|
||||
|
||||
// This makes stuff happen
|
||||
void step(f32 dtime);
|
||||
|
@ -410,6 +422,10 @@ private:
|
|||
u32 m_game_time;
|
||||
// A helper variable for incrementing the latter
|
||||
float m_game_time_fraction_counter;
|
||||
// Time of last clearObjects call (game time).
|
||||
// When a mapblock older than this is loaded, its objects are cleared.
|
||||
u32 m_last_clear_objects_time;
|
||||
// Active block modifiers
|
||||
std::vector<ABMWithState> m_abms;
|
||||
// An interval for generally sending object positions and stuff
|
||||
float m_recommended_send_interval;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue