Răsfoiți Sursa

fix: spawned item entities were added twice to the chunk

Kolja Strohm 14 ore în urmă
părinte
comite
7486ddd14d
1 a modificat fișierele cu 5 adăugiri și 3 ștergeri
  1. 5 3
      FactoryCraft/Game.cpp

+ 5 - 3
FactoryCraft/Game.cpp

@@ -886,10 +886,12 @@ void Game::spawnItem(
     Dimension* dim = zDimension(dimensionId);
     if (dim)
     {
-        dim->addEntity(itemEntity);
-        dim->zChunk(Game::getChunkCenter((int)itemEntity->getLocation().x,
-                        (int)itemEntity->getLocation().y))
+        Punkt center = Game::getChunkCenter(
+            (int)itemEntity->getLocation().x, (int)itemEntity->getLocation().y);
+        dim->zChunk(center)
             ->onEntityEnters(itemEntity, 0);
+        itemEntity->setLastChunk(dimensionId, center);
+        dim->addEntity(itemEntity);
     }
     else
     {