diff --git a/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractLegacyTabOverlayHandler.java b/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractLegacyTabOverlayHandler.java index 150565d9..6db6aa64 100644 --- a/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractLegacyTabOverlayHandler.java +++ b/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractLegacyTabOverlayHandler.java @@ -413,7 +413,7 @@ void onDeactivated() { removeEntry(slotUUID[index], slotID[index]); Team t = new Team(); t.setName(slotID[index]); - t.setMode(Team.Mode.REMOVE); + t.setMode(1); sendPacket(t); } } @@ -430,7 +430,7 @@ private void updateSize() { updateSlot(tabOverlay, index); Team t = new Team(); t.setName(slotID[index]); - t.setMode(Team.Mode.CREATE); + t.setMode(0); t.setPrefix(new ComponentHolder(is13OrLater ? ProtocolVersion.MINECRAFT_1_13 : ProtocolVersion.MINECRAFT_1_12_2, tabOverlay.text0[index])); t.setDisplayName(new ComponentHolder(is13OrLater ? ProtocolVersion.MINECRAFT_1_13 : ProtocolVersion.MINECRAFT_1_12_2, "")); t.setSuffix(new ComponentHolder(is13OrLater ? ProtocolVersion.MINECRAFT_1_13 : ProtocolVersion.MINECRAFT_1_12_2, tabOverlay.text1[index])); @@ -444,7 +444,7 @@ private void updateSize() { removeEntry(slotUUID[index], slotID[index]); Team t = new Team(); t.setName(slotID[index]); - t.setMode(Team.Mode.REMOVE); + t.setMode(1); sendPacket(t); } } @@ -466,7 +466,7 @@ private void updateText(CustomTabOverlay tabOverlay, int index) { if (index < size) { Team packet = new Team(); packet.setName(slotID[index]); - packet.setMode(Team.Mode.UPDATE_INFO); + packet.setMode(2); packet.setPrefix(new ComponentHolder(is13OrLater ? ProtocolVersion.MINECRAFT_1_13 : ProtocolVersion.MINECRAFT_1_12_2, tabOverlay.text0[index])); packet.setDisplayName(new ComponentHolder(is13OrLater ? ProtocolVersion.MINECRAFT_1_13 : ProtocolVersion.MINECRAFT_1_12_2, "")); packet.setSuffix(new ComponentHolder(is13OrLater ? ProtocolVersion.MINECRAFT_1_13 : ProtocolVersion.MINECRAFT_1_12_2, tabOverlay.text1[index])); diff --git a/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractTabOverlayHandler.java b/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractTabOverlayHandler.java index b878b23c..9829b720 100644 --- a/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractTabOverlayHandler.java +++ b/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/AbstractTabOverlayHandler.java @@ -299,7 +299,7 @@ public PacketListenerResult onTeamPacket(Team packet) { enterContentOperationMode(ContentOperationMode.PASS_TROUGH); } - if (Team.Mode.REMOVE.equals(packet.getMode())) { + if (packet.getMode() == 1) { TeamEntry team = serverTeams.remove(packet.getName()); if (team != null) { for (String player : team.getPlayers()) { @@ -309,7 +309,7 @@ public PacketListenerResult onTeamPacket(Team packet) { } else { // Create or get old team TeamEntry teamEntry; - if (Team.Mode.CREATE.equals(packet.getMode())) { + if (packet.getMode() == 0) { teamEntry = new TeamEntry(); serverTeams.put(packet.getName(), teamEntry); } else { @@ -317,7 +317,7 @@ public PacketListenerResult onTeamPacket(Team packet) { } if (teamEntry != null) { - if (Team.Mode.CREATE.equals(packet.getMode()) || Team.Mode.UPDATE_INFO.equals(packet.getMode())) { + if (packet.getMode() == 0 || packet.getMode() == 2) { teamEntry.setDisplayName(packet.getDisplayName()); teamEntry.setPrefix(packet.getPrefix()); teamEntry.setSuffix(packet.getSuffix()); @@ -328,7 +328,7 @@ public PacketListenerResult onTeamPacket(Team packet) { } if (packet.getPlayers() != null) { for (String s : packet.getPlayers()) { - if (Team.Mode.CREATE.equals(packet.getMode()) || Team.Mode.ADD_PLAYER.equals(packet.getMode())) { + if (packet.getMode() == 0 || packet.getMode() == 3) { if (playerToTeamMap.containsKey(s)) { TeamEntry previousTeam = serverTeams.get(playerToTeamMap.get(s)); // previousTeam shouldn't be null (that's inconsistent with playerToTeamMap, but apparently it happens) @@ -1032,7 +1032,7 @@ private String getCustomSlotUsername(int index) { @Override void onTeamPacketPreprocess(Team packet) { if (!using80Slots) { - if (Team.Mode.REMOVE.equals(packet.getMode())) { + if (packet.getMode() == 1) { TeamEntry teamEntry = serverTeams.get(packet.getName()); if (teamEntry != null) { for (String playerName : teamEntry.getPlayers()) { @@ -1045,7 +1045,7 @@ void onTeamPacketPreprocess(Team packet) { } } } else { - if (Team.Mode.REMOVE.equals(packet.getMode())) { + if (packet.getMode() == 1) { TeamEntry teamEntry = serverTeams.get(packet.getName()); if (teamEntry != null) { for (String playerName : teamEntry.getPlayers()) { @@ -1067,8 +1067,8 @@ PacketListenerResult onTeamPacket(Team packet) { if (!using80Slots) { boolean modified = false; switch (packet.getMode()) { - case CREATE: - case ADD_PLAYER: + case 0: + case 3: int count = 0; String[] players = packet.getPlayers(); for (int i = 0; i < players.length; i++) { @@ -1097,7 +1097,7 @@ PacketListenerResult onTeamPacket(Team packet) { packet.setPlayers(filteredPlayers); } break; - case REMOVE_PLAYER: + case 4: count = 0; players = packet.getPlayers(); for (int i = 0; i < players.length; i++) { @@ -1123,7 +1123,7 @@ PacketListenerResult onTeamPacket(Team packet) { packet.setPlayers(filteredPlayers); } break; - case UPDATE_INFO: + case 2: TeamEntry teamEntry = serverTeams.get(packet.getName()); if (teamEntry != null) { for (String playerName : teamEntry.getPlayers()) { @@ -1143,8 +1143,8 @@ PacketListenerResult onTeamPacket(Team packet) { } else { switch (packet.getMode()) { - case CREATE: - case ADD_PLAYER: + case 0: + case 3: /* // Don't need this. Adding the player to another team will remove him from the current one. String[] players = packet.getPlayers(); @@ -1156,7 +1156,7 @@ PacketListenerResult onTeamPacket(Team packet) { } }*/ break; - case REMOVE_PLAYER: + case 4: String[] players = packet.getPlayers(); for (int i = 0; i < players.length; i++) { String playerName = players[i]; @@ -2409,7 +2409,7 @@ private static String[][] toPropertiesArray(ProfileProperty textureProperty) { private static Team createPacketTeamCreate(String name, ComponentHolder displayName, ComponentHolder prefix, ComponentHolder suffix, Team.NameTagVisibility nameTagVisibility, Team.CollisionRule collisionRule, int color, byte friendlyFire, String[] players) { Team team = new Team(); team.setName(name); - team.setMode(Team.Mode.CREATE); + team.setMode(0); team.setDisplayName(displayName); team.setPrefix(prefix); team.setSuffix(suffix); @@ -2424,14 +2424,14 @@ private static Team createPacketTeamCreate(String name, ComponentHolder displayN private static Team createPacketTeamRemove(String name) { Team team = new Team(); team.setName(name); - team.setMode(Team.Mode.REMOVE); + team.setMode(1); return team; } private static Team createPacketTeamUpdate(String name, ComponentHolder displayName, ComponentHolder prefix, ComponentHolder suffix, Team.NameTagVisibility nameTagVisibility, Team.CollisionRule collisionRule, int color, byte friendlyFire) { Team team = new Team(); team.setName(name); - team.setMode(Team.Mode.UPDATE_INFO); + team.setMode(2); team.setDisplayName(displayName); team.setPrefix(prefix); team.setSuffix(suffix); @@ -2445,7 +2445,7 @@ private static Team createPacketTeamUpdate(String name, ComponentHolder displayN private static Team createPacketTeamAddPlayers(String name, String[] players) { Team team = new Team(); team.setName(name); - team.setMode(Team.Mode.ADD_PLAYER); + team.setMode(3); team.setPlayers(players); return team; } @@ -2453,7 +2453,7 @@ private static Team createPacketTeamAddPlayers(String name, String[] players) { private static Team createPacketTeamRemovePlayers(String name, String[] players) { Team team = new Team(); team.setName(name); - team.setMode(Team.Mode.REMOVE_PLAYER); + team.setMode(4); team.setPlayers(players); return team; } diff --git a/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/NewTabOverlayHandler.java b/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/NewTabOverlayHandler.java index 34507198..a385cd8a 100644 --- a/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/NewTabOverlayHandler.java +++ b/velocity/src/main/java/codecrafter47/bungeetablistplus/handler/NewTabOverlayHandler.java @@ -1251,7 +1251,7 @@ private static List toPropertiesList(ProfileProperty textu private static Team createPacketTeamCreate(String name, ComponentHolder displayName, ComponentHolder prefix, ComponentHolder suffix, Team.NameTagVisibility nameTagVisibility, Team.CollisionRule collisionRule, int color, byte friendlyFire, String[] players) { Team team = new Team(); team.setName(name); - team.setMode(Team.Mode.CREATE); + team.setMode(0); team.setDisplayName(displayName); team.setPrefix(prefix); team.setSuffix(suffix); diff --git a/velocity/src/main/java/codecrafter47/bungeetablistplus/protocol/Team.java b/velocity/src/main/java/codecrafter47/bungeetablistplus/protocol/Team.java index 5b59e133..799cc2c7 100644 --- a/velocity/src/main/java/codecrafter47/bungeetablistplus/protocol/Team.java +++ b/velocity/src/main/java/codecrafter47/bungeetablistplus/protocol/Team.java @@ -41,16 +41,8 @@ @EqualsAndHashCode(callSuper = false) public class Team implements MinecraftPacket { - public enum Mode { - CREATE, - REMOVE, - UPDATE_INFO, - ADD_PLAYER, - REMOVE_PLAYER - } - private String name; - private Mode mode; + private int mode; private ComponentHolder displayName; private ComponentHolder prefix; private ComponentHolder suffix; @@ -60,28 +52,24 @@ public enum Mode { private byte friendlyFire; private String[] players; - // TODO: placeholder until release - private int MINECRAFT_1_21_5 = 770; - public Team(String name) { this.name = name; - this.mode = Mode.REMOVE; + this.mode = 1; } @Override public void decode(ByteBuf buf, ProtocolUtils.Direction direction, ProtocolVersion version) { name = ProtocolUtils.readString(buf); - mode = Mode.values()[buf.readByte()]; - if (mode == Mode.CREATE || mode == Mode.UPDATE_INFO) { + mode = buf.readByte(); + if (mode == 0 || mode == 2) { displayName = ComponentHolder.read(buf, version); if (version.compareTo(ProtocolVersion.MINECRAFT_1_13) < 0) { prefix = ComponentHolder.read(buf, version); suffix = ComponentHolder.read(buf, version); } friendlyFire = buf.readByte(); - // TODO: Replace this when released - if (version.getProtocol() >= MINECRAFT_1_21_5) { + if (version.compareTo(ProtocolVersion.MINECRAFT_1_21_5) >= 0) { nameTagVisibility = NameTagVisibility.BY_ID[ProtocolUtils.readVarInt( buf )]; collisionRule = CollisionRule.BY_ID[ProtocolUtils.readVarInt( buf )]; } else { @@ -96,7 +84,7 @@ public void decode(ByteBuf buf, ProtocolUtils.Direction direction, ProtocolVersi suffix = ComponentHolder.read(buf, version); } } - if (mode == Mode.CREATE || mode == Mode.ADD_PLAYER || mode == Mode.REMOVE_PLAYER) { + if (mode == 0 || mode == 3 || mode == 4) { int len = ProtocolUtils.readVarInt(buf); players = new String[len]; for (int i = 0; i < len; i++) { @@ -108,16 +96,15 @@ public void decode(ByteBuf buf, ProtocolUtils.Direction direction, ProtocolVersi @Override public void encode(ByteBuf buf, ProtocolUtils.Direction direction, ProtocolVersion version) { ProtocolUtils.writeString(buf, name); - buf.writeByte(mode.ordinal()); - if (mode == Mode.CREATE || mode == Mode.UPDATE_INFO) { + buf.writeByte(mode); + if (mode == 0 || mode == 2) { displayName.write(buf); if (version.compareTo(ProtocolVersion.MINECRAFT_1_13) < 0) { prefix.write(buf); suffix.write(buf); } buf.writeByte(friendlyFire); - // TODO: Replace this when released - if (version.getProtocol() >= MINECRAFT_1_21_5) { + if (version.compareTo(ProtocolVersion.MINECRAFT_1_21_5) >= 0) { ProtocolUtils.writeVarInt(buf, nameTagVisibility.ordinal()); ProtocolUtils.writeVarInt(buf, collisionRule.ordinal()); } else { @@ -134,7 +121,7 @@ public void encode(ByteBuf buf, ProtocolUtils.Direction direction, ProtocolVersi buf.writeByte(color); } } - if (mode == Mode.CREATE || mode == Mode.ADD_PLAYER || mode == Mode.REMOVE_PLAYER) { + if (mode == 0 || mode == 3 || mode == 4) { ProtocolUtils.writeVarInt(buf, players.length); for (String player : players) { ProtocolUtils.writeString(buf, player);