diff --git a/src/environment.cpp b/src/environment.cpp index 43dbb65d0..f0ba097e0 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -1748,6 +1748,15 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete) force_delete = true; } else { u16 new_id = pending_delete ? id : 0; + // If static counterpart already exists, remove it first. + // This shouldn't happen, but happens rarely for some + // unknown reason. Unsuccessful attempts have been made to + // find said reason. + if(new_id && block->m_static_objects.m_active.find(new_id)){ + infostream<<"ServerEnv: WARNING: Performing hack #83274" + <m_static_objects.remove(new_id); + } block->m_static_objects.insert(new_id, s_obj); // Only mark block as modified if data changed considerably