if ( team.getMode() == 1 ) serverScoreboard.removeTeam( team.getName() ); return; if ( team.getMode() == 0 ) t = new Team( team.getName() ); serverScoreboard.addTeam( t ); } else t = serverScoreboard.getTeam( team.getName() ); if ( team.getMode() == 0 || team.getMode() == 2 ) t.setDisplayName( team.getDisplayName() ); t.setPrefix( team.getPrefix() ); t.setSuffix( team.getSuffix() ); t.setFriendlyFire( team.getFriendlyFire() ); t.setNameTagVisibility( team.getNameTagVisibility() ); t.setCollisionRule( team.getCollisionRule() ); t.setColor( team.getColor() ); if ( team.getPlayers() != null ) for ( String s : team.getPlayers() ) if ( team.getMode() == 0 || team.getMode() == 3 )
private static Team addPlayer(int slot, String player) { Team packet = new Team(fakePlayerUsernames[slot]); packet.setMode((byte) 3); packet.setPlayers(new String[]{player}); return packet; }
@Override public PacketListenerResult onTeamPacket(Team packet) { if (fakePlayerUsernameSet.contains(packet.getName())) { throw new AssertionError("Team name collision: " + packet); if (packet.getMode() == 1) { TeamData team = serverTeams.remove(packet.getName()); if (team != null) { for (String player : team.getPlayers()) { playerToTeamMap.remove(player, packet.getName()); int slot; if (!passtrough && size != 80 && -1 != (slot = nameToSlotMap.getInt(player))) { Team packet1 = new Team(); packet1.setMode((byte) 2); packet1.setName(fakePlayerUsernames[slot]); if (is113OrLater()) { packet1.setDisplayName(teamNamesChat[slot]); packet1.setPrefix(EMPTY_CHAT); packet1.setSuffix(EMPTY_CHAT); } else { packet1.setDisplayName(packet1.getName()); packet1.setPrefix(""); packet1.setSuffix(""); packet1.setFriendlyFire((byte) 1); packet1.setNameTagVisibility("always"); if (teamCollisionRuleSupported) { packet1.setCollisionRule("always"); packet1.setColor(is113OrLater() ? 21 : 0); // Reset
@Override public void onConnected() { // add our teams to the client for (int i = 0; i < 80; i++) { Team team = new Team(); team.setMode((byte) 0); team.setName(fakePlayerUsernames[i]); if (is113OrLater()) { team.setDisplayName(teamNamesChat[i]); team.setPrefix(EMPTY_CHAT); team.setSuffix(EMPTY_CHAT); } else { team.setDisplayName(fakePlayerUsernames[i]); team.setPrefix(""); team.setSuffix(""); } team.setFriendlyFire((byte) 1); team.setNameTagVisibility("always"); if (teamCollisionRuleSupported) { team.setCollisionRule("always"); } if (teamColorIsByte) { PacketUtil.setTeamColorByte(team, (byte) 0); } else { team.setColor(is113OrLater() ? 21 : 0); // Reset } team.setPlayers(new String[0]); sendPacket(team); } }
private void createSlot(int row) { clientPing[row] = 0; clientText[row] = ""; PlayerListItem pli = new PlayerListItem(); PlayerListItem.Item item = new PlayerListItem.Item(); item.setDisplayName(slotID[row]); item.setPing(clientPing[row]); pli.setItems(new PlayerListItem.Item[]{item}); pli.setAction(PlayerListItem.Action.ADD_PLAYER); sendPacket(pli); Team t = new Team(); t.setName(slotID[row]); t.setMode((byte) 0); t.setPrefix(" "); t.setDisplayName(" "); t.setSuffix(" "); t.setPlayers(new String[]{slotID[row]}); sendPacket(t); }
public static byte getTeamColorByte(Team team) { return team.getColor(); } }
private void removeSlot(int i) { PlayerListItem pli = new PlayerListItem(); PlayerListItem.Item item = new PlayerListItem.Item(); item.setDisplayName(slotID[i]); item.setPing(9999); pli.setItems(new PlayerListItem.Item[]{item}); pli.setAction(PlayerListItem.Action.REMOVE_PLAYER); sendPacket(pli); Team t = new Team(); t.setName(slotID[i]); t.setMode((byte) 1); sendPacket(t); }
@Override public void onServerSwitch() { for (String team : serverTeams.keySet()) { sendPacket(new Team(team)); } super.onServerSwitch(); } }
@Override public PacketListenerResult onTeamPacket(Team packet) { if (slotIDSet.contains(packet.getName())) { throw new AssertionError("Team name collision: " + packet); } return PacketListenerResult.PASS; }
sendPacket(removePlayer(slot, player)); if (playerToTeamMap.containsKey(player)) { Team team = new Team(); team.setName(playerToTeamMap.get(player)); team.setMode((byte) 3); // add player team.setPlayers(new String[]{player}); sendPacket(team); team = new Team(); team.setMode((byte) 2); team.setName(fakePlayerUsernames[slot]); if (is113OrLater()) { team.setDisplayName(teamNamesChat[slot]); team.setPrefix(EMPTY_CHAT); team.setSuffix(EMPTY_CHAT); } else { team.setDisplayName(fakePlayerUsernames[slot]); team.setPrefix(""); team.setSuffix(""); team.setFriendlyFire((byte) 1); team.setNameTagVisibility("always"); if (teamCollisionRuleSupported) { team.setCollisionRule("always"); team.setColor(is113OrLater() ? 21 : 0); // Reset
private void updateSlot(int row, String text, int ping, boolean force) { if (!passThrough) { if (force || ping != clientPing[row]) { PlayerListItem pli = new PlayerListItem(); PlayerListItem.Item item = new PlayerListItem.Item(); item.setDisplayName(slotID[row]); item.setPing(ping); pli.setItems(new PlayerListItem.Item[]{item}); pli.setAction(PlayerListItem.Action.ADD_PLAYER); sendPacket(pli); } if (force || !Objects.equals(text, clientText[row])) { String[] split = splitText(text); Team t = new Team(); t.setName(slotID[row]); t.setMode((byte) 2); t.setPrefix(split[0]); t.setDisplayName(""); t.setSuffix(split[1]); sendPacket(t); } } clientText[row] = text; clientPing[row] = ping; }
user.unsafe().sendPacket( new net.md_5.bungee.protocol.packet.Team( team.getName() ) );
if ( team.getMode() == 1 ) serverScoreboard.removeTeam( team.getName() ); return; if ( team.getMode() == 0 ) t = new Team( team.getName() ); serverScoreboard.addTeam( t ); } else t = serverScoreboard.getTeam( team.getName() ); if ( team.getMode() == 0 || team.getMode() == 2 ) t.setDisplayName( team.getDisplayName() ); t.setPrefix( team.getPrefix() ); t.setSuffix( team.getSuffix() ); t.setFriendlyFire( team.getFriendlyFire() ); t.setNameTagVisibility( team.getNameTagVisibility() ); t.setCollisionRule( team.getCollisionRule() ); t.setColor( team.getColor() ); if ( team.getPlayers() != null ) for ( String s : team.getPlayers() ) if ( team.getMode() == 0 || team.getMode() == 3 )
private void addPlayerToTeam(int slot, UUID uuid, String player) { // dirty hack for citizens compatibility if (uuid.version() == 2) return; sendPacket(addPlayer(slot, player)); nameToSlotMap.put(player, slot); if (playerToTeamMap.containsKey(player)) { TeamData serverTeam = serverTeams.get(playerToTeamMap.get(player)); Team team = new Team(); team.setMode((byte) 2); team.setName(fakePlayerUsernames[slot]); team.setDisplayName(serverTeam.getDisplayName()); team.setPrefix(serverTeam.getPrefix()); team.setSuffix(serverTeam.getSuffix()); team.setFriendlyFire(serverTeam.getFriendlyFire()); team.setNameTagVisibility(serverTeam.getNameTagVisibility()); if (teamCollisionRuleSupported) { team.setCollisionRule(serverTeam.getCollisionRule()); } if (teamColorIsByte) { PacketUtil.setTeamColorByte(team, serverTeam.getColor()); } else { team.setColor(serverTeam.getColor()); } sendPacket(team); } }
private static Team removePlayer(int slot, String player) { Team packet = new Team(fakePlayerUsernames[slot]); packet.setMode((byte) 4); packet.setPlayers(new String[]{player}); return packet; }
user.unsafe().sendPacket( new net.md_5.bungee.protocol.packet.Team( team.getName() ) );