Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.daaz.vapor.tablist.v1_8;
- import java.util.*;
- import java.util.function.Function;
- import java.util.stream.Collectors;
- import me.daaz.vapor.Vapor;
- import me.daaz.vapor.factions.FactionMember;
- import me.daaz.vapor.factions.type.PlayerFaction;
- import me.daaz.vapor.factions.type.WarzoneFaction;
- import me.daaz.vapor.user.FactionUser;
- import me.daaz.vapor.utils.CC;
- import me.daaz.vapor.utils.Color;
- import net.minecraft.util.com.google.common.collect.Lists;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
- import org.bukkit.entity.HumanEntity;
- import org.bukkit.entity.Player;
- public class TabProvider_v1_8 implements TabAdapter {
- private Vapor plugin;
- public TabProvider_v1_8(Vapor plugin) {
- this.plugin = plugin;
- }
- public static Comparator<PlayerFaction> FACTION_COMPARATOR;
- public static Comparator<FactionMember> ROLE_COMPARATOR;
- static {
- TabProvider_v1_8.FACTION_COMPARATOR = ((playerFaction, targetFaction) -> Integer.compare(playerFaction.getOnlinePlayers().size(), targetFaction.getOnlinePlayers().size()));
- TabProvider_v1_8.ROLE_COMPARATOR = ((playerMember, targetMember) -> Integer.compare(playerMember.getRole().ordinal(), targetMember.getRole().ordinal()));
- }
- private static String getCardinalDirection(Player player) {
- double rotation = (player.getLocation().getYaw() - 90) % 360;
- if (rotation < 0) {
- rotation += 360.0;
- }
- if (0 <= rotation && rotation < 22.5) {
- return "W";
- } else if (22.5 <= rotation && rotation < 67.5) {
- return "NW";
- } else if (67.5 <= rotation && rotation < 112.5) {
- return "N";
- } else if (112.5 <= rotation && rotation < 157.5) {
- return "NE";
- } else if (157.5 <= rotation && rotation < 202.5) {
- return "E";
- } else if (202.5 <= rotation && rotation < 247.5) {
- return "SE";
- } else if (247.5 <= rotation && rotation < 292.5) {
- return "S";
- } else if (292.5 <= rotation && rotation < 337.5) {
- return "SW";
- } else if (337.5 <= rotation && rotation < 360.0) {
- return "W";
- } else {
- return null;
- }
- }
- @SuppressWarnings({"deprecation", "unchecked", "rawtypes"})
- public String factions(Player player, String path) {
- @SuppressWarnings("unused")
- Map<PlayerFaction, Integer> factionOnlineMap = new HashMap<PlayerFaction, Integer>();
- PlayerFaction playerFaction = Vapor.get().getFactionManager().getPlayerFaction(player.getUniqueId());
- FactionUser user = Vapor.get().getUserManager().getUser(player.getUniqueId());
- Map<PlayerFaction, Integer> map = new HashMap<PlayerFaction, Integer>();
- for (Player players : Bukkit.getOnlinePlayers()) {
- PlayerFaction pFac = Vapor.get().getFactionManager().getPlayerFaction(players);
- if (pFac != null) {
- map.put(pFac, map.getOrDefault(pFac, 0) + 1);
- }
- }
- if (path.contains("%player_kills%")) {
- path = path.replace("%player_kills%", String.valueOf(user.getKills()));
- }
- if (path.contains("%player_deaths%")) {
- path = path.replace("%player_deaths%", String.valueOf(user.getDeaths()));
- }
- if (path.contains("%player_balance%")) {
- path = path.replace("%player_balance%", String.valueOf(Vapor.get().getEconomyManager().getBalance(player.getUniqueId())));
- }
- if (path.contains("%player_lives%")) {
- path = path.replace("%player_lives%", String.valueOf(Vapor.get().getDeathbanManager().getLives(player.getUniqueId())));
- }
- if (path.contains("%faction_location%")) {
- path = path.replace("%faction_location%", Vapor.get().getFactionManager().getClaimAt(player.getLocation()).getFaction().getDisplayName(player));
- }
- if (path.contains("%player_location%")) {
- path = path.replace("%player_location%", "(" + player.getLocation().getBlockX() + ", " + player.getLocation().getBlockZ() + ") [" + getCardinalDirection(player) + "]");
- }
- List<PlayerFaction> PlayerTeams = new ArrayList<>(Vapor.get().getFactionManager().getFactions().stream().filter(x -> x instanceof PlayerFaction).map(x -> (PlayerFaction) x).filter(x -> x.getOnlineMembers().size() > 0).collect(Collectors.toSet()));
- Collections.sort(PlayerTeams, FACTION_COMPARATOR);
- Collections.reverse(PlayerTeams);
- for (int i = 0; i < 20; i++) {
- if (i >= PlayerTeams.size()) {
- path = path.replace("%f_list_" + i + "%", "");
- } else {
- PlayerFaction next = PlayerTeams.get(i);
- path = path.replace("%f_list_" + (i + 1) + "%", CC.WHITE + (i + 1) + CC.WHITE + ") " + next.getDisplayName(player) + CC.GRAY + " (" + CC.WHITE + next.getOnlinePlayers().size() + CC.GRAY + ")");
- }
- }
- if (path.contains("%online_players%")) {
- path = path.replace("%online_players%", String.valueOf(Bukkit.getServer().getOnlinePlayers().size()));
- }
- if (path.contains("%player_ping%")) {
- path = path.replace("%player_ping%", String.valueOf(((CraftPlayer) player).getHandle().ping));
- }
- if (Vapor.get().getFactionManager().getPlayerFaction(player) != null) {
- if (path.contains("%faction_info%")) {
- path = path.replace("%faction_info%", Color.translate(Vapor.get().getTabFile().getString("FACTION.FACTION-INFO")));
- }
- if (path.contains("%faction_name%")) {
- path = path.replace("%faction_name%", Color.translate(Vapor.get().getTabFile().getString("FACTION.NAME").replace("%name%", Vapor.get().getFactionManager().getPlayerFaction(player).getName())));
- }
- if (path.contains("%faction_points%")) {
- path = path.replace("%faction_points%", Color.translate(Vapor.get().getTabFile().getString("FACTION.POINTS").replace("%points%", String.valueOf(Vapor.get().getFactionManager().getPlayerFaction(player).getPoints()))));
- }
- if (path.contains("%faction_dtr%")) {
- path = path.replace("%faction_dtr%", Color.translate(Vapor.get().getTabFile().getString("FACTION.DTR").replace("%dtr%", new StringBuilder(String.valueOf(Vapor.get().getFactionManager().getPlayerFaction(player.getUniqueId()).getDtrColour().toString() + Vapor.get().getFactionManager().getPlayerFaction(player).getDeathsUntilRaidable())))));
- }
- if (path.contains("%faction_home%")) {
- if (Vapor.get().getFactionManager().getPlayerFaction(player).getHome() != null) {
- path = path.replace("%faction_home%", Color.translate(Vapor.get().getTabFile().getString("FACTION.HOME").replace("%home%", Vapor.get().getFactionManager().getPlayerFaction(player).getHome().getBlockX() + ", " + Vapor.get().getFactionManager().getPlayerFaction(player).getHome().getBlockY() + ", " + Vapor.get().getFactionManager().getPlayerFaction(player).getHome().getBlockZ())));
- } else {
- path = path.replace("%faction_home%", Vapor.get().getTabFile().getString("NO-FACTION.HOME"));
- }
- }
- if (path.contains("%faction_leader%")) {
- path = path.replace("%faction_leader%", Color.translate(Vapor.get().getTabFile().getString("FACTION.LEADER").replace("%leader%", Vapor.get().getFactionManager().getPlayerFaction(player).getLeader().getName())));
- }
- if (path.contains("%faction_balance%")) {
- path = path.replace("%faction_balance%", Color.translate(Vapor.get().getTabFile().getString("FACTION.BALANCE").replace("%balance%", String.valueOf(Vapor.get().getFactionManager().getPlayerFaction(player).getBalance()))));
- }
- List<Player> online = Lists.newArrayList(playerFaction.getOnlinePlayers());
- online.sort(Comparator.comparing((Function<? super Player, ? extends Comparable>) HumanEntity::getName));
- online.sort(Comparator.comparingInt(o -> playerFaction.getMember(o).getRole().ordinal()));
- for (int j = 0; j < 20; ++j) {
- if (j >= online.size()) {
- path = path.replace("%f_member_" + j + "%", "");
- } else {
- path = path.replace("%f_member_" + (j + 1) + "%", "&a" + playerFaction.getMember(online.get(j)).getRole().getAstrix() + online.get(j).getName());
- }
- }
- } else {
- if (path.contains("%faction_name%")) {
- path = path.replace("%faction_name%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.NAME")));
- }
- if (path.contains("%faction_info%")) {
- path = path.replace("%faction_info%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.FACTION-INFO")));
- }
- if (path.contains("%faction_dtr%")) {
- path = path.replace("%faction_dtr%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.DTR")));
- }
- if (path.contains("%faction_home%")) {
- path = path.replace("%faction_home%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.HOME")));
- }
- if (path.contains("%faction_leader%")) {
- path = path.replace("%faction_leader%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.LEADER")));
- }
- if (path.contains("%faction_points%")) {
- path = path.replace("%faction_points%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.POINTS")));
- }
- if (path.contains("%faction_balance%")) {
- path = path.replace("%faction_balance%", Color.translate(Vapor.get().getTabFile().getString("NO-FACTION.BALANCE")));
- }
- for (int k = 1; k < 31; ++k) {
- path = path.replace("%f_member_" + k + "%", "");
- }
- }
- return path;
- }
- @Override
- public String getHeader(Player player) {
- return Vapor.get().getTabFile().getString("HEADER-TEXT");
- }
- @Override
- public String getFooter(Player player) {
- return Vapor.get().getTabFile().getString("FOOTER-TEXT");
- }
- @Override
- public List<TabEntry> getLines(Player player) {
- List<TabEntry> tab = new ArrayList<>();
- tab.add(new TabEntry(0, 0, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-1"))));
- tab.add(new TabEntry(0, 1, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-2"))));
- tab.add(new TabEntry(0, 2, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-3"))));
- tab.add(new TabEntry(0, 3, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-4"))));
- tab.add(new TabEntry(0, 4, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-5"))));
- tab.add(new TabEntry(0, 5, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-6"))));
- tab.add(new TabEntry(0, 6, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-7"))));
- tab.add(new TabEntry(0, 7, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-8"))));
- tab.add(new TabEntry(0, 8, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-9"))));
- tab.add(new TabEntry(0, 9, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-10"))));
- tab.add(new TabEntry(0, 10, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-11"))));
- tab.add(new TabEntry(0, 11, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-12"))));
- tab.add(new TabEntry(0, 12, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-13"))));
- tab.add(new TabEntry(0, 13, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-14"))));
- tab.add(new TabEntry(0, 14, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-15"))));
- tab.add(new TabEntry(0, 15, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-16"))));
- tab.add(new TabEntry(0, 16, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-17"))));
- tab.add(new TabEntry(0, 17, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-18"))));
- tab.add(new TabEntry(0, 18, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-19"))));
- tab.add(new TabEntry(0, 19, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.1-20"))));
- tab.add(new TabEntry(1, 0, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-1"))));
- tab.add(new TabEntry(1, 1, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-2"))));
- tab.add(new TabEntry(1, 2, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-3"))));
- tab.add(new TabEntry(1, 3, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-4"))));
- tab.add(new TabEntry(1, 4, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-5"))));
- tab.add(new TabEntry(1, 5, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-6"))));
- tab.add(new TabEntry(1, 6, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-7"))));
- tab.add(new TabEntry(1, 7, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-8"))));
- tab.add(new TabEntry(1, 8, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-9"))));
- tab.add(new TabEntry(1, 9, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-10"))));
- tab.add(new TabEntry(1, 10, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-11"))));
- tab.add(new TabEntry(1, 11, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-12"))));
- tab.add(new TabEntry(1, 12, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-13"))));
- tab.add(new TabEntry(1, 13, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-14"))));
- tab.add(new TabEntry(1, 14, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-15"))));
- tab.add(new TabEntry(1, 15, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-16"))));
- tab.add(new TabEntry(1, 16, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-17"))));
- tab.add(new TabEntry(1, 17, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-18"))));
- tab.add(new TabEntry(1, 18, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-19"))));
- tab.add(new TabEntry(1, 19, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.2-20"))));
- tab.add(new TabEntry(2, 0, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-1"))));
- tab.add(new TabEntry(2, 1, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-2"))));
- tab.add(new TabEntry(2, 2, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-3"))));
- tab.add(new TabEntry(2, 3, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-4"))));
- tab.add(new TabEntry(2, 4, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-5"))));
- tab.add(new TabEntry(2, 5, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-6"))));
- tab.add(new TabEntry(2, 6, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-7"))));
- tab.add(new TabEntry(2, 7, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-8"))));
- tab.add(new TabEntry(2, 8, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-9"))));
- tab.add(new TabEntry(2, 9, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-10"))));
- tab.add(new TabEntry(2, 10, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-11"))));
- tab.add(new TabEntry(2, 11, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-12"))));
- tab.add(new TabEntry(2, 12, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-13"))));
- tab.add(new TabEntry(2, 13, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-14"))));
- tab.add(new TabEntry(2, 14, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-15"))));
- tab.add(new TabEntry(2, 15, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-16"))));
- tab.add(new TabEntry(2, 16, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-17"))));
- tab.add(new TabEntry(2, 17, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-18"))));
- tab.add(new TabEntry(2, 18, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-19"))));
- tab.add(new TabEntry(2, 19, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.3-20"))));
- tab.add(new TabEntry(3, 0, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-1"))));
- tab.add(new TabEntry(3, 1, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-2"))));
- tab.add(new TabEntry(3, 2, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-3"))));
- tab.add(new TabEntry(3, 3, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-4"))));
- tab.add(new TabEntry(3, 4, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-5"))));
- tab.add(new TabEntry(3, 5, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-6"))));
- tab.add(new TabEntry(3, 6, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-7"))));
- tab.add(new TabEntry(3, 7, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-8"))));
- tab.add(new TabEntry(3, 8, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-9"))));
- tab.add(new TabEntry(3, 9, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-10"))));
- tab.add(new TabEntry(3, 10, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-11"))));
- tab.add(new TabEntry(3, 11, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-12"))));
- tab.add(new TabEntry(3, 12, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-13"))));
- tab.add(new TabEntry(3, 13, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-14"))));
- tab.add(new TabEntry(3, 14, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-15"))));
- tab.add(new TabEntry(3, 15, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-16"))));
- tab.add(new TabEntry(3, 16, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-17"))));
- tab.add(new TabEntry(3, 17, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-18"))));
- tab.add(new TabEntry(3, 18, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-19"))));
- tab.add(new TabEntry(3, 19, factions(player, Vapor.get().getTabFile().getString("TAB.LINES.4-20"))));
- return tab;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement