Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import it.ytnoos.bedwarsforged.common.BedwarsCommon;
- import it.ytnoos.bedwarsforged.common.manager.DisguiseManager;
- import it.ytnoos.bedwarsforged.common.utils.Symbol;
- import it.ytnoos.dictation.api.bukkit.adapter.adapters.NameTagAdapter;
- import net.luckperms.api.LuckPermsProvider;
- import net.luckperms.api.model.user.User;
- import org.apache.commons.lang.StringUtils;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import org.bukkit.potion.PotionEffectType;
- import org.bukkit.scoreboard.NameTagVisibility;
- import org.bukkit.scoreboard.Team;
- import java.util.UUID;
- import java.util.concurrent.CompletableFuture;
- public class BedwarsNameTagAdapter extends NameTagAdapter {
- public final BedwarsCommon common;
- public BedwarsNameTagAdapter(BedwarsCommon common) {
- super(common.getDictation().getNameTagModule());
- this.common = common;
- }
- public static String getColorPrefix(String name) {
- User user = LuckPermsProvider.get().getUserManager().getUser(name);
- if (user == null) {
- UUID uuid = LuckPermsProvider.get().getUserManager().lookupUniqueId(name).join();
- if (uuid != null) {
- user = LuckPermsProvider.get().getUserManager().loadUser(uuid, name).join();
- } else return "";
- }
- String prefix = user.getCachedData().getMetaData().getPrefix();
- if (prefix == null) return "";
- prefix = ChatColor.translateAlternateColorCodes('&', prefix);
- return prefix.isEmpty() ? ChatColor.GRAY.toString() : (prefix.length() >= 3 ? prefix.substring(prefix.length() - 3, prefix.length() - 1) : ChatColor.GRAY.toString());
- }
- public String getColorPrefix(Player player) {
- if (common.getDisguiseManager().isDisguised(player)) return ChatColor.GRAY + "";
- User user = LuckPermsProvider.get().getUserManager().getUser(player.getName());
- if (user == null) return "";
- String prefix = user.getCachedData().getMetaData().getPrefix();
- if (prefix == null) return "";
- prefix = ChatColor.translateAlternateColorCodes('&', prefix);
- return prefix.isEmpty() ? ChatColor.GRAY.toString() : (prefix.length() >= 3 ? prefix.substring(prefix.length() - 3, prefix.length() - 1) : ChatColor.GRAY.toString());
- }
- @Override
- public CompletableFuture<String> getSuffix(Player player) {
- if (common.getDisguiseManager().isDisguised(player)) return CompletableFuture.completedFuture("");
- return common.getClanName(player).thenApply(clan -> {
- if (clan.isEmpty()) return clan;
- clan = " [" + clan + "]";
- if (StringUtils.equalsIgnoreCase(clan, " [bellofigo]")) {
- return ChatColor.GOLD + clan;
- } else return ChatColor.GRAY + clan;
- });
- }
- @Override
- public CompletableFuture<String> getDisplayName(Player player) {
- int level = common.getStatsCached(player.getName()).getLevel();
- if (common.getDisguiseManager().isDisguised(player))
- level = DisguiseManager.DISGUISED.get(player.getSafeFakeName()).getLevel();
- String levelPrefix = getColor(level) + "[" + level + Symbol.STAR + "] ";
- return getChatPrefix(player).thenApply(prefix -> levelPrefix + prefix + player.getSafeFakeName());
- }
- public void hideNameTag(Player player) {
- Team team = player.getScoreboard().getTeam(module.getTeamName(player));
- if (team != null) team.setNameTagVisibility(NameTagVisibility.NEVER);
- }
- @Override
- public void onCreateTeam(Player player, Team team) {
- if (player.hasPotionEffect(PotionEffectType.INVISIBILITY)) hideNameTag(player);
- }
- @Override
- public int getPriority(Player player) {
- return common.getDisguiseManager().isDisguised(player) ? 1000 : super.getPriority(player);
- }
- private ChatColor getColor(int level) {
- if (level < 100) {
- return ChatColor.GRAY;
- } else if (level < 200) {
- return ChatColor.WHITE;
- } else if (level < 300) {
- return ChatColor.GOLD;
- } else if (level < 400) {
- return ChatColor.AQUA;
- } else if (level < 500) {
- return ChatColor.DARK_GREEN;
- } else if (level < 600) {
- return ChatColor.BLUE;
- } else if (level < 700) {
- return ChatColor.RED;
- } else if (level < 800) {
- return ChatColor.LIGHT_PURPLE;
- } else {
- return ChatColor.GRAY;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement