diff --git a/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java b/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java index aad67d78e..549afc97e 100644 --- a/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java +++ b/src/main/java/us/myles/ViaVersion/transformers/OutgoingTransformer.java @@ -47,6 +47,7 @@ public class OutgoingTransformer { private final Set knownHolograms = new HashSet<>(); private final Map bossBarMap = new HashMap<>(); private boolean autoTeam = false; + private boolean teamExists = false; public OutgoingTransformer(ConnectionInfo info) { this.info = info; @@ -817,19 +818,23 @@ public class OutgoingTransformer { PacketUtil.writeString("viaversion", buf); // Use viaversion as name if (b) { // add - buf.writeByte(0); // make team - PacketUtil.writeString("viaversion", buf); - PacketUtil.writeString("", buf); // prefix - PacketUtil.writeString("", buf); // suffix - buf.writeByte(0); // friendly fire - PacketUtil.writeString("", buf); // nametags - PacketUtil.writeString("never", buf); // collision rule :) - buf.writeByte(0); // color + if (!teamExists) { + buf.writeByte(0); // make team + PacketUtil.writeString("viaversion", buf); + PacketUtil.writeString("", buf); // prefix + PacketUtil.writeString("", buf); // suffix + buf.writeByte(0); // friendly fire + PacketUtil.writeString("", buf); // nametags + PacketUtil.writeString("never", buf); // collision rule :) + buf.writeByte(0); // color + } else + buf.writeByte(3); PacketUtil.writeVarInt(1, buf); // player count PacketUtil.writeString(info.getUsername(), buf); // us } else { buf.writeByte(1); // remove team } + teamExists = b; info.sendRawPacket(buf); }