summaryrefslogtreecommitdiffstats
path: root/src/GameState.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/GameState.cpp')
-rw-r--r--src/GameState.cpp17
1 files changed, 16 insertions, 1 deletions
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<Packet> 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<Packet> ptr) {
break;
case ResourcePackSend:
break;
- case Respawn:
+ case Respawn: {
+ auto packet = std::static_pointer_cast<PacketRespawn>(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: