void setNametag(String player, String prefix, String suffix, int sortPriority, boolean playerTag) { addPlayerToTeam(player, prefix != null ? prefix : "", suffix != null ? suffix : "", sortPriority, playerTag); }
@Override public void setPrefix(String player, String prefix) { FakeTeam fakeTeam = manager.getFakeTeam(player); manager.setNametag(player, prefix, fakeTeam == null ? null : fakeTeam.getSuffix()); }
void reset() { for (FakeTeam fakeTeam : TEAMS.values()) { removePlayerFromTeamPackets(fakeTeam, fakeTeam.getMembers()); removeTeamPackets(fakeTeam); } CACHED_FAKE_TEAMS.clear(); TEAMS.clear(); }
FakeTeam previous = getFakeTeam(player); reset(player); FakeTeam joining = getFakeTeam(prefix, suffix); if (joining != null) { joining.addMember(player); joining.addMember(player); TEAMS.put(joining.getName(), joining); addTeamPackets(joining); plugin.debug("Created FakeTeam " + joining.getName() + ". Size: " + TEAMS.size()); addPlayerToTeamPackets(joining, adding.getName()); cache(adding.getName(), joining); } else { OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(player); addPlayerToTeamPackets(joining, offlinePlayer.getName()); cache(offlinePlayer.getName(), joining);
@Override public void clearNametag(String player) { manager.reset(player); }
@Override public FakeTeam getFakeTeam(Player player) { return manager.getFakeTeam(player.getName()); }
private boolean removePlayerFromTeamPackets(FakeTeam fakeTeam, String... players) { return removePlayerFromTeamPackets(fakeTeam, Arrays.asList(players)); }
@Override public void onEnable() { testCompat(); if (!isEnabled()) return; manager = new NametagManager(this); handler = new NametagHandler(this, manager); PluginManager pluginManager = Bukkit.getPluginManager(); if (checkShouldRegister("zPermissions")) { pluginManager.registerEvents(new HookZPermissions(handler), this); } else if (checkShouldRegister("PermissionsEx")) { pluginManager.registerEvents(new HookPermissionsEX(handler), this); } else if (checkShouldRegister("GroupManager")) { pluginManager.registerEvents(new HookGroupManager(handler), this); } else if (checkShouldRegister("LuckPerms")) { pluginManager.registerEvents(new HookLuckPerms(handler), this); } if (pluginManager.getPlugin("LibsDisguises") != null) { pluginManager.registerEvents(new HookLibsDisguise(this), this); } getCommand("ne").setExecutor(new NametagCommand(handler)); if (api == null) { api = new NametagAPI(handler, manager); } }
private FakeTeam reset(String player, FakeTeam fakeTeam) { if (fakeTeam != null && fakeTeam.getMembers().remove(player)) { boolean delete; Player removing = Bukkit.getPlayerExact(player); if (removing != null) { delete = removePlayerFromTeamPackets(fakeTeam, removing.getName()); } else { OfflinePlayer toRemoveOffline = Bukkit.getOfflinePlayer(player); delete = removePlayerFromTeamPackets(fakeTeam, toRemoveOffline.getName()); } plugin.debug(player + " was removed from " + fakeTeam.getName()); if (delete) { removeTeamPackets(fakeTeam); TEAMS.remove(fakeTeam.getName()); plugin.debug("FakeTeam " + fakeTeam.getName() + " has been deleted. Size: " + TEAMS.size()); } } return fakeTeam; }
@Override public void run() { nametagManager.reset(); applyTags(); } });
@Override public void setPrefix(Player player, String prefix) { FakeTeam fakeTeam = manager.getFakeTeam(player.getName()); setNametagAlt(player, prefix, fakeTeam == null ? null : fakeTeam.getSuffix()); }
@Override public void clearNametag(Player player) { if (shouldFireEvent(player, NametagEvent.ChangeType.CLEAR)) { manager.reset(player.getName()); } }
@Override public void setSuffix(String player, String suffix) { FakeTeam fakeTeam = manager.getFakeTeam(player); manager.setNametag(player, fakeTeam == null ? null : fakeTeam.getPrefix(), suffix); }
@Override public void setSuffix(Player player, String suffix) { FakeTeam fakeTeam = manager.getFakeTeam(player.getName()); setNametagAlt(player, fakeTeam == null ? null : fakeTeam.getPrefix(), suffix); }
@Override public void onDisable() { manager.reset(); handler.getAbstractConfig().shutdown(); }
@Override public Nametag getNametag(Player player) { FakeTeam team = manager.getFakeTeam(player.getName()); boolean nullTeam = team == null; return new Nametag(nullTeam ? "" : team.getPrefix(), nullTeam ? "" : team.getSuffix()); }
private void handleClear(UUID uuid, String player) { removePlayerData(uuid); nametagManager.reset(player); abstractConfig.clear(uuid, player); }
/** * Cleans up any nametag data on the server to prevent memory leaks */ @EventHandler public void onQuit(PlayerQuitEvent event) { nametagManager.reset(event.getPlayer().getName()); }
public void reload() { config.reload(true); applyConfig(); nametagManager.reset(); abstractConfig.reload(); }