From fb05ea7cf740ecd59b24d4f7417ad44c30ba53d5 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 12 Apr 2020 13:34:24 +0200 Subject: Fixed entity teleport for just-spawned entities. Includes a test code in the Debuggers plugin - throwing a cake-as-fallingblock. --- src/Entities/Entity.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Entities') diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index e7682e6da..3ff48440c 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -1893,7 +1893,11 @@ void cEntity::TeleportToCoords(double a_PosX, double a_PosY, double a_PosZ) if (!cRoot::Get()->GetPluginManager()->CallHookEntityTeleport(*this, m_LastPosition, Vector3d(a_PosX, a_PosY, a_PosZ))) { ResetPosition({a_PosX, a_PosY, a_PosZ}); - m_World->BroadcastTeleportEntity(*this); + auto world = m_World; + if (world != nullptr) // The entity might not be in a world yet (just spawned, in cWorld::m_EntitiesToAdd) + { + world->BroadcastTeleportEntity(*this); + } } } -- cgit v1.2.3