diff --git a/source/client/network/ClientCommandHandler.cpp b/source/client/network/ClientCommandHandler.cpp index 972eea69d..cf59c5fe0 100644 --- a/source/client/network/ClientCommandHandler.cpp +++ b/source/client/network/ClientCommandHandler.cpp @@ -248,6 +248,7 @@ void ClientCommandHandler::setupCallbacks() { else { m_player.setPosition(pos.x, pos.y, pos.z); m_player.setRotation(cameraYaw, cameraPitch); + m_player.setDimension(dimension); m_player.updateCamera(); } }); diff --git a/source/client/states/GameState.hpp b/source/client/states/GameState.hpp index ce747e093..be9c874c1 100644 --- a/source/client/states/GameState.hpp +++ b/source/client/states/GameState.hpp @@ -57,6 +57,7 @@ class GameState : public gk::ApplicationState { void update() override; + ClientPlayer &player() { return m_player; } Client &client() { return m_client; } ClientWorld &world() { return m_world; } ClientCommandHandler &clientCommandHandler() { return m_clientCommandHandler; } diff --git a/source/client/states/ServerLoadingState.cpp b/source/client/states/ServerLoadingState.cpp index e0c41e140..c448f7aaf 100644 --- a/source/client/states/ServerLoadingState.cpp +++ b/source/client/states/ServerLoadingState.cpp @@ -84,7 +84,7 @@ void ServerLoadingState::update() { if (m_showLoadingState) std::this_thread::sleep_for(std::chrono::milliseconds(500)); - m_game.world().changeDimension(0); + m_game.world().changeDimension(m_game.player().dimension()); m_stateStack->pop();