diff --git a/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java b/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java index 90e6102ca..3a3ebda12 100644 --- a/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java +++ b/bungee/src/main/java/us/myles/ViaVersion/bungee/handlers/BungeeServerHandler.java @@ -143,11 +143,15 @@ public class BungeeServerHandler implements Listener { if (protocolId <= ProtocolVersion.v1_8.getId()) { // 1.8 doesn't have BossBar packet if (storage.getBossbar() != null) { - for (UUID uuid : storage.getBossbar()) { - PacketWrapper wrapper = new PacketWrapper(0x0C, null, user); - wrapper.write(Type.UUID, uuid); - wrapper.write(Type.VAR_INT, 1); // remove - wrapper.send(Protocol1_9To1_8.class, true, true); + // TODO: Verify whether this packet needs to be sent when 1.8 -> 1.9 protocol isn't present in the pipeline + // This ensures we can encode it properly as only the 1.9 protocol is currently implemented. + if (user.get(ProtocolInfo.class).getPipeline().contains(Protocol1_9To1_8.class)) { + for (UUID uuid : storage.getBossbar()) { + PacketWrapper wrapper = new PacketWrapper(0x0C, null, user); + wrapper.write(Type.UUID, uuid); + wrapper.write(Type.VAR_INT, 1); // remove + wrapper.send(Protocol1_9To1_8.class, true, true); + } } storage.getBossbar().clear(); } diff --git a/velocity/src/main/java/us/myles/ViaVersion/velocity/handlers/VelocityServerHandler.java b/velocity/src/main/java/us/myles/ViaVersion/velocity/handlers/VelocityServerHandler.java index 9b8cf1d9d..f20814eb4 100644 --- a/velocity/src/main/java/us/myles/ViaVersion/velocity/handlers/VelocityServerHandler.java +++ b/velocity/src/main/java/us/myles/ViaVersion/velocity/handlers/VelocityServerHandler.java @@ -103,11 +103,15 @@ public class VelocityServerHandler { if (protocolId <= ProtocolVersion.MINECRAFT_1_8.getProtocol()) { // 1.8 doesn't have BossBar packet if (storage.getBossbar() != null) { - for (UUID uuid : storage.getBossbar()) { - PacketWrapper wrapper = new PacketWrapper(0x0C, null, user); - wrapper.write(Type.UUID, uuid); - wrapper.write(Type.VAR_INT, 1); // remove - wrapper.send(Protocol1_9To1_8.class, true, true); + // TODO: Verify whether this packet needs to be sent when 1.8 -> 1.9 protocol isn't present in the pipeline + // This ensures we can encode it properly as only the 1.9 protocol is currently implemented. + if (user.get(ProtocolInfo.class).getPipeline().contains(Protocol1_9To1_8.class)) { + for (UUID uuid : storage.getBossbar()) { + PacketWrapper wrapper = new PacketWrapper(0x0C, null, user); + wrapper.write(Type.UUID, uuid); + wrapper.write(Type.VAR_INT, 1); // remove + wrapper.send(Protocol1_9To1_8.class, true, true); + } } storage.getBossbar().clear(); }