From 34c701e0399b3cea6b9940f39b14ba8025fa5a08 Mon Sep 17 00:00:00 2001 From: Marco Neuhaus Date: Tue, 6 Nov 2018 21:42:15 +0100 Subject: [PATCH] fix chunk unload packet --- .../protocol1_9to1_8/packets/WorldPackets.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java index f6fb17809..0b0540559 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/packets/WorldPackets.java @@ -121,16 +121,20 @@ public class WorldPackets { @Override public void handle(PacketWrapper wrapper) throws Exception { ClientChunks clientChunks = wrapper.user().get(ClientChunks.class); - Chunk1_8 chunk = (Chunk1_8) wrapper.passthrough(new Chunk1_9to1_8Type(clientChunks)); + Chunk1_9to1_8Type type = new Chunk1_9to1_8Type(clientChunks); + Chunk1_8 chunk = (Chunk1_8) wrapper.read(type); if (chunk.isUnloadPacket()) { wrapper.setId(0x1D); + wrapper.write(Type.INT, chunk.getX()); + wrapper.write(Type.INT, chunk.getZ()); // Remove commandBlocks on chunk unload CommandBlockProvider provider = Via.getManager().getProviders().get(CommandBlockProvider.class); provider.unloadChunk(wrapper.user(), chunk.getX(), chunk.getZ()); + } else { + wrapper.write(type, chunk); + // eat any other data (Usually happens with unload packets) } - - // eat any other data (Usually happens with unload packets) wrapper.read(Type.REMAINING_BYTES); } });