package cx.sfy.TheBridge.menus; import java.util.ArrayList; import java.util.List; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitRunnable; import cx.sfy.TheBridge.Main; import cx.sfy.TheBridge.game.Game; import cx.sfy.TheBridge.game.GameFour; import cx.sfy.TheBridge.team.Team; import cx.sfy.TheBridge.team.TeamFour; import cx.sfy.TheBridge.utils.ItemBuilder; public class TeamMenu { Main plugin; public TeamMenu(Main plugin) { this.plugin = plugin; } public void openTeamFourMenu(Player p) { GameFour game = plugin.getGM().getGameFourByPlayer(p); Inventory inv = Bukkit.getServer().createInventory(null, 27, plugin.getLang().get("menus.teamFour.title")); new BukkitRunnable() { @Override public void run() { ItemStack blue = ItemBuilder.item(Material.STAINED_CLAY, (game.getTeams().get(ChatColor.BLUE).getTeamSize() == 0) ? 1 : game.getTeams().get(ChatColor.BLUE).getTeamSize(), (short)11, "§9" + plugin.getLang().get("menus.teamFour.team.nameItem").replaceAll("<#>", plugin.getConfig().getString("names.blue")), getLore(game.getTeams().get(ChatColor.BLUE))); ItemStack red = ItemBuilder.item(Material.STAINED_CLAY, (game.getTeams().get(ChatColor.RED).getTeamSize() == 0) ? 1 : game.getTeams().get(ChatColor.RED).getTeamSize(), (short)14, "§c" + plugin.getLang().get("menus.teamFour.team.nameItem").replaceAll("<#>", plugin.getConfig().getString("names.red")), getLore(game.getTeams().get(ChatColor.RED))); ItemStack yellow = ItemBuilder.item(Material.STAINED_CLAY, (game.getTeams().get(ChatColor.YELLOW).getTeamSize() == 0) ? 1 : game.getTeams().get(ChatColor.YELLOW).getTeamSize(), (short)4, "§e" + plugin.getLang().get("menus.teamFour.team.nameItem").replaceAll("<#>", plugin.getConfig().getString("names.yellow")), getLore(game.getTeams().get(ChatColor.YELLOW))); ItemStack green = ItemBuilder.item(Material.STAINED_CLAY, (game.getTeams().get(ChatColor.GREEN).getTeamSize() == 0) ? 1 : game.getTeams().get(ChatColor.GREEN).getTeamSize(), (short)5, "§a" + plugin.getLang().get("menus.teamFour.team.nameItem").replaceAll("<#>", plugin.getConfig().getString("names.green")), getLore(game.getTeams().get(ChatColor.GREEN))); inv.setItem(10, blue); inv.setItem(12, red); inv.setItem(14, yellow); inv.setItem(16, green); if (!p.getOpenInventory().getTitle().equals(plugin.getLang().get("menus.teamFour.title"))) { cancel(); } } }.runTaskTimer(plugin, 0, 0); p.openInventory(inv); } public void openTeamNormalMenu(Player p) { Game game = plugin.getGM().getGameByPlayer(p); Inventory inv = Bukkit.getServer().createInventory(null, 27, plugin.getLang().get("menus.team.title")); new BukkitRunnable() { @Override public void run() { ItemStack blue = ItemBuilder.item(Material.STAINED_CLAY, (game.getTeams().get(ChatColor.BLUE).getTeamSize() == 0) ? 1 : game.getTeams().get(ChatColor.BLUE).getTeamSize(), (short)11, "§9" + plugin.getLang().get("menus.team.team.nameItem").replaceAll("<#>", plugin.getConfig().getString("names.blue")), getLore(game.getTeams().get(ChatColor.BLUE))); ItemStack red = ItemBuilder.item(Material.STAINED_CLAY, (game.getTeams().get(ChatColor.RED).getTeamSize() == 0) ? 1 : game.getTeams().get(ChatColor.RED).getTeamSize(), (short)14, "§c" + plugin.getLang().get("menus.team.team.nameItem").replaceAll("<#>", plugin.getConfig().getString("names.red")), getLore(game.getTeams().get(ChatColor.RED))); inv.setItem(11, blue); inv.setItem(15, red); if (!p.getOpenInventory().getTitle().equals(plugin.getLang().get("menus.team.title"))) { cancel(); } } }.runTaskTimer(plugin, 0, 0); p.openInventory(inv); } public List getLore(Team team){ List lore = new ArrayList(); for (String msg : plugin.getLang().getList("menus.team.team.loreItem")) { if (msg.contains("")) { for (Player p : team.getTeamPlayers()) { lore.add("§7- " + team.getColor() + p.getName()); } } else { lore.add(msg.replaceAll("&", "§")); } } return lore; } public List getLore(TeamFour team){ List lore = new ArrayList(); for (String msg : plugin.getLang().getList("menus.teamFour.team.loreItem")) { if (msg.contains("")) { for (Player p : team.getTeamPlayers()) { lore.add("§7- " + team.getColor() + p.getName()); } } else { lore.add(msg.replaceAll("&", "§")); } } return lore; } }