diff options
author | LogicParrot <LogicParrot@users.noreply.github.com> | 2016-02-08 11:06:14 +0100 |
---|---|---|
committer | LogicParrot <LogicParrot@users.noreply.github.com> | 2016-02-08 11:17:10 +0100 |
commit | 3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56 (patch) | |
tree | 398522505d124f696735b07c82701b0829110158 /src/Entities | |
parent | Merge pull request #2961 from LogicParrot/enforce (diff) | |
download | cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.tar cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.tar.gz cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.tar.bz2 cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.tar.lz cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.tar.xz cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.tar.zst cuberite-3efdfca61d2fbfb8e5cb5fb1f5b30ca27fe1cf56.zip |
Diffstat (limited to 'src/Entities')
-rw-r--r-- | src/Entities/Entity.cpp | 14 | ||||
-rw-r--r-- | src/Entities/Player.cpp | 2 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index b207e79c9..d0540b4eb 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -1392,7 +1392,8 @@ bool cEntity::DetectPortal() TargetPos.x *= 8.0; TargetPos.z *= 8.0; - cWorld * TargetWorld = cRoot::Get()->CreateAndInitializeWorld(GetWorld()->GetLinkedOverworldName(), dimNether, GetWorld()->GetName(), true); + cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedOverworldName()); + ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() LOGD("Jumping nether -> overworld"); new cNetherPortalScanner(this, TargetWorld, TargetPos, 256); return true; @@ -1416,7 +1417,8 @@ bool cEntity::DetectPortal() TargetPos.x /= 8.0; TargetPos.z /= 8.0; - cWorld * TargetWorld = cRoot::Get()->CreateAndInitializeWorld(GetWorld()->GetLinkedNetherWorldName(), dimNether, GetWorld()->GetName(), true); + cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedNetherWorldName()); + ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() LOGD("Jumping overworld -> nether"); new cNetherPortalScanner(this, TargetWorld, TargetPos, 128); return true; @@ -1446,7 +1448,9 @@ bool cEntity::DetectPortal() Player->GetClientHandle()->SendRespawn(dimOverworld); } - return MoveToWorld(cRoot::Get()->CreateAndInitializeWorld(GetWorld()->GetLinkedOverworldName()), false); + cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedOverworldName()); + ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() + return MoveToWorld(TargetWorld, false); } else { @@ -1463,7 +1467,9 @@ bool cEntity::DetectPortal() reinterpret_cast<cPlayer *>(this)->GetClientHandle()->SendRespawn(dimEnd); } - return MoveToWorld(cRoot::Get()->CreateAndInitializeWorld(GetWorld()->GetLinkedEndWorldName(), dimEnd, GetWorld()->GetName()), false); + cWorld * TargetWorld = cRoot::Get()->GetWorld(GetWorld()->GetLinkedEndWorldName()); + ASSERT(TargetWorld != nullptr); // The linkage checker should have prevented this at startup. See cWorld::start() + return MoveToWorld(TargetWorld, false); } } diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp index 5606e9668..b7f6f4d05 100644 --- a/src/Entities/Player.cpp +++ b/src/Entities/Player.cpp @@ -1871,7 +1871,7 @@ bool cPlayer::LoadFromFile(const AString & a_FileName, cWorldPtr & a_World) cEnderChestEntity::LoadFromJson(root["enderchestinventory"], m_EnderChestContents); m_LoadedWorldName = root.get("world", "world").asString(); - a_World = cRoot::Get()->GetWorld(GetLoadedWorldName(), false); + a_World = cRoot::Get()->GetWorld(GetLoadedWorldName()); if (a_World == nullptr) { a_World = cRoot::Get()->GetDefaultWorld(); |