1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-21 18:11:11 +00:00

Add spatial index for objects (#14631)

This commit is contained in:
Lars Müller 2025-04-08 08:44:53 +02:00 committed by GitHub
parent bed36139db
commit a3648b0b16
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 982 additions and 116 deletions

View file

@ -6,6 +6,7 @@
#include "inventory.h"
#include "inventorymanager.h"
#include "constants.h" // BS
#include "serverenvironment.h"
ServerActiveObject::ServerActiveObject(ServerEnvironment *env, v3f pos):
ActiveObject(0),
@ -14,6 +15,17 @@ ServerActiveObject::ServerActiveObject(ServerEnvironment *env, v3f pos):
{
}
void ServerActiveObject::setBasePosition(v3f pos)
{
bool changed = m_base_position != pos;
m_base_position = pos;
if (changed && getEnv()) {
// getEnv() should never be null if the object is in an environment.
// It may however be null e.g. in tests or database migrations.
getEnv()->updateObjectPos(getId(), pos);
}
}
float ServerActiveObject::getMinimumSavedMovement()
{
return 2.0*BS;