Warning fix for 2ea6015643 (#5082)

Neither flag as force delete nor show the warning when mapblock is full and object is a player
master
Loïc Blot 2017-01-21 11:29:18 +01:00 committed by Zeno-
parent 2ea6015643
commit 0eede97af2
1 changed files with 3 additions and 7 deletions

View File

@ -2086,7 +2086,9 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
if(block)
{
if (block->m_static_objects.m_stored.size() >= g_settings->getU16("max_objects_per_block")) {
// Force delete object if mapblock is full, but ignore players
if (obj->getType() != ACTIVEOBJECT_TYPE_PLAYER &&
block->m_static_objects.m_stored.size() >= g_settings->getU16("max_objects_per_block")) {
warningstream << "ServerEnv: Trying to store id = " << obj->getId()
<< " statically but block " << PP(blockpos)
<< " already contains "
@ -2146,12 +2148,6 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
continue;
}
// If it's a forced delete, there are too many objects in mapblock
// Ignore players, they should not be removed on force delete
if (force_delete && obj->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
continue;
}
verbosestream<<"ServerEnvironment::deactivateFarObjects(): "
<<"object id="<<id<<" is not known by clients"
<<"; deleting"<<std::endl;