From 18b950042936cf493d2f422cafc0e6b351aef254 Mon Sep 17 00:00:00 2001 From: antbig Date: Thu, 27 Jun 2019 14:42:56 +0100 Subject: [PATCH] Fix server transfers across dimensions (Fixes #378) This commit fixes an issue with transferring across server dimensions with entity metadata rewriting disabled --- ...an-option-to-disable-entity-metadata-rewriti.patch | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/BungeeCord-Patches/0047-Provide-an-option-to-disable-entity-metadata-rewriti.patch b/BungeeCord-Patches/0047-Provide-an-option-to-disable-entity-metadata-rewriti.patch index df79d05..46a12e1 100644 --- a/BungeeCord-Patches/0047-Provide-an-option-to-disable-entity-metadata-rewriti.patch +++ b/BungeeCord-Patches/0047-Provide-an-option-to-disable-entity-metadata-rewriti.patch @@ -1,4 +1,4 @@ -From 7819491c31d95725158715348f133888f9520397 Mon Sep 17 00:00:00 2001 +From 64a2d5a0ea5d0b807b060e9efcd678d3298afab4 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 14 Jan 2019 03:35:21 +0000 Subject: [PATCH] Provide an option to disable entity metadata rewriting @@ -57,7 +57,7 @@ index f28f0111..41a71f65 100644 + } } diff --git a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java -index c2b1de82..1375d1e2 100644 +index c2b1de82..72f487dc 100644 --- a/proxy/src/main/java/net/md_5/bungee/ServerConnector.java +++ b/proxy/src/main/java/net/md_5/bungee/ServerConnector.java @@ -226,7 +226,7 @@ public class ServerConnector extends PacketHandler @@ -85,7 +85,7 @@ index c2b1de82..1375d1e2 100644 serverScoreboard.clear(); for ( UUID bossbar : user.getSentBossBars() ) -@@ -285,12 +287,27 @@ public class ServerConnector extends PacketHandler +@@ -285,12 +287,32 @@ public class ServerConnector extends PacketHandler user.unsafe().sendPacket( new EntityStatus( user.getClientEntityId(), login.isReducedDebugInfo() ? EntityStatus.DEBUG_INFO_REDUCED : EntityStatus.DEBUG_INFO_NORMAL ) ); user.setDimensionChange( true ); @@ -101,6 +101,11 @@ index c2b1de82..1375d1e2 100644 + // Ensure that we maintain consistency + user.setClientEntityId( login.getEntityId() ); + ++ // Only send if we are not in the same dimension ++ if (user.getDimension() != login.getDimension()) { ++ user.unsafe().sendPacket( new Respawn(user.getDimension() == 0 ? -1 : 0, login.getDifficulty(), login.getGameMode(), login.getLevelType())); ++ } ++ + Login modLogin = new Login( login.getEntityId(),login.getGameMode(), login.getDimension(), + login.getDifficulty(), login.getMaxPlayers(), login.getLevelType(), login.getViewDistance(), login.isReducedDebugInfo() ); + user.unsafe().sendPacket(modLogin);