From d899b21504c02cae99eb3688e561cf9bad4120c4 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Mon, 27 Jul 2020 09:05:53 +0500 Subject: Support for non-overworld dimensions --- src/GameState.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/GameState.cpp') diff --git a/src/GameState.cpp b/src/GameState.cpp index e4278ec..8e50ee6 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -254,6 +254,7 @@ void GameState::UpdatePacket(std::shared_ptr ptr) { entity.entityId = packet->EntityId; entity.width = 0.6; entity.height = 1.8; + world = World(packet->Dimension); world.AddEntity(entity); player = world.GetEntityPtr(entity.entityId); @@ -385,8 +386,22 @@ void GameState::UpdatePacket(std::shared_ptr ptr) { break; case ResourcePackSend: break; - case Respawn: + case Respawn: { + auto packet = std::static_pointer_cast(ptr); + Entity entity; + entity.entityId = player->entityId; + entity.width = 0.6; + entity.height = 1.8; + world = World(packet->Dimension); + world.AddEntity(entity); + player = world.GetEntityPtr(entity.entityId); + + gameStatus.gamemode = (packet->Gamemode & 0b11111011); + gameStatus.dimension = packet->Dimension; + gameStatus.difficulty = packet->Difficulty; + gameStatus.levelType = packet->LevelType; break; + } case EntityHeadLook: break; case SelectAdvancementTab: -- cgit v1.2.3