Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.thedarven.events;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Set;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.SkullType;
- import org.bukkit.World;
- import org.bukkit.WorldBorder;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.BannerMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.inventory.meta.SkullMeta;
- import org.bukkit.scoreboard.Scoreboard;
- import org.bukkit.scoreboard.ScoreboardManager;
- import org.bukkit.scoreboard.Team;
- import utils.AnvilGUI;
- import utils.codeColor;
- import fr.thedarven.taupegun.TaupeGun;
- public class Teams implements Listener {
- public int a= -1;
- public int teamTaille = 0;
- public String tempName = null;
- public static ScoreboardManager manager = Bukkit.getScoreboardManager();
- public static Scoreboard board = manager.getNewScoreboard();
- public Teams(TaupeGun pl) {
- }
- @SuppressWarnings("deprecation")
- @EventHandler
- public void onClickInventory(InventoryClickEvent e){
- final Player p = (Player) e.getWhoClicked();
- if(TaupeGun.getInstance().etat.equals("LOBBY")){
- if(e.getInventory().getTitle().equalsIgnoreCase("Liste des équipes")){
- e.setCancelled(true);
- /* POUR FAIRE RETOUR */
- if(e.getCurrentItem().getType() == Material.REDSTONE){
- if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.RED +"➥ Retour")){
- p.closeInventory();
- }
- }
- /* POUR CONFIGURER LA PARTIE */
- if(e.getCurrentItem().getType() == Material.PISTON_BASE){
- if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GRAY +"Configuration")){
- p.closeInventory();
- inventoryConfig(p);
- }
- }
- /* POUR AJOUTER UNE EQUIPE */
- if(e.getCurrentItem().getType() == Material.BANNER){
- if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GREEN+"✚ Ajouter")){
- p.closeInventory();
- /* POUR DONNER UN NOM A L'EQUIPE */
- new AnvilGUI(TaupeGun.getInstance(),p, new AnvilGUI.AnvilClickHandler() {
- @Override
- public boolean onClick(AnvilGUI menu, String text) {
- tempName = text;
- Bukkit.getScheduler().runTask(TaupeGun.getInstance(), new Runnable() {
- @Override
- public void run() {
- /* CREATION DE L'INVENTAIRE COULEUR */
- Inventory clr = Bukkit.createInventory(null, 18, "Choix de la couleur");
- for(int color=0; color<14; color++){
- ItemStack banner = new ItemStack(Material.BANNER, 1);
- BannerMeta bannerM = (BannerMeta)banner.getItemMeta();
- bannerM.setBaseColor(codeColor.codeColorBD(color));
- banner.setItemMeta(bannerM);
- int colorRank = color;
- if(color < 7){
- colorRank = (color + 1);
- }
- if(color > 6){
- colorRank = (color + 3);
- }
- clr.setItem(colorRank, banner);
- p.openInventory(clr);
- }
- if(tempName.length() > 16){
- p.closeInventory();
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.RED+" Le nom de l'équipe ne doit pas dépasser 16 caractères.");
- tempName = null;
- }
- Set<Team> teams = board.getTeams();
- for(Team team : teams){
- if(tempName.equals(team.getName())){
- p.closeInventory();
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.RED+" Ce nom d'équipe est déjà prit !");
- tempName = null;
- return;
- }
- }
- }
- });
- return true;
- }
- }
- ).setInputName("Choix du nom").open();
- }
- else{
- Set<Team> teams = board.getTeams();
- for(Team team : teams){
- if(e.getCurrentItem().getItemMeta().getDisplayName() == (team.getName())){
- p.closeInventory();
- /* CREATION DE L'INVENTAIRE OPTIONS */
- Inventory infoTeam = Bukkit.createInventory(null, 27, "Options de l'équipe");
- ItemStack optionInfoTeam = new ItemStack(Material.BEACON, 1);
- ItemMeta optionInfoTeamM = optionInfoTeam.getItemMeta();
- optionInfoTeamM.setDisplayName(ChatColor.AQUA+team.getName());
- optionInfoTeam.setItemMeta(optionInfoTeamM);
- infoTeam.setItem(4, optionInfoTeam);
- ItemStack optionDeleteTeam = new ItemStack(Material.STAINED_CLAY, 1, (short) 14);
- ItemMeta optionDeleteTeamM = optionDeleteTeam.getItemMeta();
- optionDeleteTeamM.setDisplayName(ChatColor.RED+"✘ Supprimer l'équipe");
- optionDeleteTeamM.setLore(Arrays.asList(team.getName()));
- optionDeleteTeam.setItemMeta(optionDeleteTeamM);
- infoTeam.setItem(26, optionDeleteTeam);
- if(team.getEntries().size() < 4){
- ItemStack optionAddPlayer = new ItemStack(Material.STAINED_CLAY, 1, (short) 13);
- ItemMeta optionAddPlayerM = optionAddPlayer.getItemMeta();
- optionAddPlayerM.setDisplayName(ChatColor.GREEN+"✚ Ajouter un joueur");
- optionAddPlayer.setItemMeta(optionAddPlayerM);
- optionAddPlayerM.setLore(Arrays.asList(team.getName()));
- optionAddPlayer.setItemMeta(optionAddPlayerM);
- infoTeam.setItem(18, optionAddPlayer);
- }
- else{
- ItemStack optionAddPlayer = new ItemStack(Material.STAINED_CLAY, 1, (short) 9);
- ItemMeta optionAddPlayerM = optionAddPlayer.getItemMeta();
- optionAddPlayerM.setDisplayName(ChatColor.GRAY+"✚ Ajouter un joueur");
- optionAddPlayer.setItemMeta(optionAddPlayerM);
- infoTeam.setItem(18, optionAddPlayer);
- }
- int tempPlayerTaille = 10;
- for(String playerTeam : team.getEntries()){
- if(tempPlayerTaille == 13){
- tempPlayerTaille++;
- }
- tempPlayerTaille++;
- ArrayList<String> loreAdd = new ArrayList<String>();
- loreAdd.add(e.getCurrentItem().getItemMeta().getDisplayName());
- ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) SkullType.PLAYER.ordinal());
- SkullMeta skullM = (SkullMeta) skull.getItemMeta();
- skullM.setOwner(playerTeam);
- skullM.setDisplayName(playerTeam);
- skullM.setLore(loreAdd);
- skull.setItemMeta(skullM);
- infoTeam.setItem(tempPlayerTaille, skull);
- }
- p.openInventory(infoTeam);
- }
- }
- }
- }
- }
- /* POUR CONFIGURER LA PARTIE */
- if(e.getInventory().getTitle().equalsIgnoreCase("Menu de configuration")){
- e.setCancelled(true);
- if(e.getCurrentItem().getType().equals(Material.ANVIL)){
- if(TaupeGun.getInstance().nbrTaupe < 4){
- TaupeGun.getInstance().nbrTaupe = TaupeGun.getInstance().nbrTaupe + 1;
- }
- else{
- TaupeGun.getInstance().nbrTaupe = 1;
- }
- inventoryConfig(p);
- }
- if(e.getCurrentItem().getType().equals(Material.COMPASS)){
- if(TaupeGun.getInstance().episReduc < 8){
- TaupeGun.getInstance().episReduc = TaupeGun.getInstance().episReduc + 1;
- }
- else{
- TaupeGun.getInstance().episReduc = 5;
- }
- inventoryConfig(p);
- }
- if(e.getCurrentItem().getType().equals(Material.BARRIER)){
- if(TaupeGun.getInstance().wallSize < 3000){
- TaupeGun.getInstance().wallSize = TaupeGun.getInstance().wallSize + 500;
- }
- else{
- TaupeGun.getInstance().wallSize = 500;
- }
- inventoryConfig(p);
- World world = Bukkit.getWorld("world");
- WorldBorder border = world.getWorldBorder();
- border.setSize(TaupeGun.getInstance().wallSize*2);
- border.setCenter(0.0, 0.0);
- }
- if(e.getCurrentItem().getType().equals(Material.POTION)){
- if(TaupeGun.getInstance().potion2 == true){
- TaupeGun.getInstance().potion2 = false;
- }
- else{
- TaupeGun.getInstance().potion2 = true;
- }
- inventoryConfig(p);
- }
- if(e.getCurrentItem().getType().equals(Material.ENCHANTMENT_TABLE)){
- if(TaupeGun.getInstance().superTaupe == true){
- TaupeGun.getInstance().superTaupe = false;
- }
- else{
- TaupeGun.getInstance().superTaupe = true;
- }
- inventoryConfig(p);
- }
- }
- /* POUR SAVOIR LES INFOS DE L'EQUIPE */
- if(e.getInventory().getTitle().equalsIgnoreCase("Options de l'équipe")){
- e.setCancelled(true);
- /* AJOUT D'UN MEMBRE */
- if(e.getCurrentItem().getData().getData() == 13){
- List<String> autreLore = e.getCurrentItem().getItemMeta().getLore();
- ArrayList<String> loreAdd = new ArrayList<String>();
- loreAdd.addAll(autreLore);
- p.closeInventory();
- Inventory addPlayer = Bukkit.createInventory(null, 27, "Ajouter un joueur");
- int tempAddPlayer = 0;
- for (Player tempPlayer : Bukkit.getOnlinePlayers()) {
- int tempVerif = 0;
- Set<Team> teams = board.getTeams();
- for(Team team : teams){
- for(String player : team.getEntries()){
- if(tempPlayer.getName() == player){
- tempVerif = 1;
- }
- }
- }
- if(tempVerif == 0){
- ItemStack skull = new ItemStack(Material.SKULL_ITEM, 1, (short) SkullType.PLAYER.ordinal());
- SkullMeta skullM = (SkullMeta) skull.getItemMeta();
- skullM.setOwner(tempPlayer.getName());
- skullM.setDisplayName(tempPlayer.getName());
- skullM.setLore(loreAdd);
- skull.setItemMeta(skullM);
- addPlayer.setItem(tempAddPlayer, skull);
- tempAddPlayer++;
- }
- }
- p.openInventory(addPlayer);
- }
- /* SUPPRESION DE L'EQUIPE */
- if(e.getCurrentItem().getData().getData() == 14){
- List<String> customLore = e.getCurrentItem().getItemMeta().getLore();
- p.closeInventory();
- confChoix(customLore.get(0), p);
- }
- /* SUPPRESION D'UN MEMBRE */
- if(e.getCurrentItem().getType().equals(Material.SKULL_ITEM)){
- List<String> customLore = e.getCurrentItem().getItemMeta().getLore();
- p.closeInventory();
- leaveTeam(customLore.get(0), e.getCurrentItem().getItemMeta().getDisplayName());
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.RED+" Le joueur "+e.getCurrentItem().getItemMeta().getDisplayName()+" a été supprimé de l'équipe.");
- }
- }
- /* POUR AJOUTER UN JOUEUR */
- if(e.getInventory().getTitle().equalsIgnoreCase("Ajouter un joueur")){
- e.setCancelled(true);
- if(e.getCurrentItem().getType().equals(Material.SKULL_ITEM)){
- List<String> tempLore = e.getCurrentItem().getItemMeta().getLore();
- joinTeam(tempLore.get(0), e.getCurrentItem().getItemMeta().getDisplayName());
- p.closeInventory();
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.WHITE+" Le joueur "+e.getCurrentItem().getItemMeta().getDisplayName()+" a été ajouté à l'équipe.");
- }
- }
- /* POUR CONFIRMER LE DELETE */
- if(e.getInventory().getTitle().equalsIgnoreCase("Confirmation de la suppression")){
- e.setCancelled(true);
- if(e.getCurrentItem().getData().getData() == 13){
- List<String> customLore = e.getCurrentItem().getItemMeta().getLore();
- String nameTeam = customLore.get(0);
- deleteTeam(nameTeam);
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.RED+" L'équipe "+nameTeam+" a été supprimée avec succès.");
- teamTaille--;
- p.closeInventory();
- }
- if(e.getCurrentItem().getData().getData() == 14){
- p.closeInventory();
- }
- }
- /* POUR CHOISIR SA COULEUR */
- if(e.getInventory().getTitle().equalsIgnoreCase("Choix de la couleur")){
- e.setCancelled(true);
- if(e.getCurrentItem().getType() == Material.BANNER){
- byte tempColor = e.getCurrentItem().getData().getData();
- newTeam(tempName, tempColor);
- p.closeInventory();
- // joinTeam(tempName, p.getName());
- teamTaille++;
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.WHITE+" L'équipe "+tempName+" a été crée avec succès.");
- tempName = null;
- }
- }
- }
- }
- @SuppressWarnings({ "unchecked" })
- @EventHandler
- public void onCommandes(PlayerCommandPreprocessEvent e){
- Player p = e.getPlayer();
- String msg = e.getMessage();
- String[] args = msg.split(" ");
- if(TaupeGun.getInstance().etat.equals("LOBBY")){
- /* SI ON FAIT LA BONNE COMMANDE */
- if(args[0].equalsIgnoreCase("/teams")){
- if(args[1].equalsIgnoreCase("list")){
- e.setCancelled(true);
- if(p.isOp()){
- /* ON OUVRE L'INVENTAIRE DES EQUIPES */
- Inventory inv = Bukkit.createInventory(null, 54, "Liste des équipes");
- ItemStack redstone = new ItemStack(Material.REDSTONE, 1);
- ItemMeta redstoneM = redstone.getItemMeta();
- redstoneM.setDisplayName(ChatColor.RED+"➥ Retour");
- redstone.setItemMeta(redstoneM);
- inv.setItem(53, redstone);
- ItemStack banner = new ItemStack(Material.BANNER, 1, (short) 15);
- ItemMeta bannerM = banner.getItemMeta();
- bannerM.setDisplayName(ChatColor.GREEN+"✚ Ajouter");
- banner.setItemMeta(bannerM);
- inv.setItem(teamTaille, banner);
- int teamTailleTemp = teamTaille;
- Set<Team> teams = board.getTeams();
- for(Team team : teams){
- teamTailleTemp--;
- ItemStack bannerTeam = new ItemStack(Material.BANNER, 1, (short) codeColor.codeColorPB(team.getPrefix().substring(1,2)));
- ItemMeta bannerTeamM = bannerTeam.getItemMeta();
- bannerTeamM.setDisplayName(team.getDisplayName());
- List<String> utilsLore = Arrays.asList();
- ArrayList<String> lore = new ArrayList<String>();
- lore.addAll(utilsLore);
- if(team.getEntries().size() > 0){
- for(String player : team.getEntries()){
- lore.add(ChatColor.WHITE+player);
- }
- }
- bannerTeamM.setLore(lore);
- bannerTeam.setItemMeta(bannerTeamM);
- inv.setItem(teamTailleTemp, bannerTeam);
- }
- ItemStack piston = new ItemStack(Material.PISTON_BASE, 1);
- ItemMeta pistonM = piston.getItemMeta();
- pistonM.setDisplayName(ChatColor.GRAY+"Configuration");
- piston.setItemMeta(pistonM);
- inv.setItem(45, piston);
- p.openInventory(inv);
- }
- else{
- p.sendMessage(ChatColor.GREEN+"[TaupeGun]"+ChatColor.RED+" Vous n'avez pas les permissions pour utiliser cette commande.");
- }
- }
- if(args[1].equalsIgnoreCase("add")){
- e.setCancelled(true);
- if(args[2] != null){
- String nomTeam = args[2];
- System.out.println(TaupeGun.getInstance().teamsList.size());
- TaupeGun.getInstance().teamsList.add(nomTeam);
- System.out.println(TaupeGun.getInstance().teamsList.size());
- }
- }
- }
- }
- else
- {
- p.sendMessage(ChatColor.RED+"La partie a déjà commencé !");
- }
- }
- public void confChoix(String team, Player p){
- Inventory infoTeam = Bukkit.createInventory(null, 27, "Confirmation de la suppression");
- ItemStack optionTrue = new ItemStack(Material.STAINED_CLAY, 1, (short) 13);
- ItemMeta optionTrueM = optionTrue.getItemMeta();
- optionTrueM.setDisplayName(ChatColor.GREEN+"✘ Confirmer");
- optionTrueM.setLore(Arrays.asList(team));
- optionTrue.setItemMeta(optionTrueM);
- infoTeam.setItem(11, optionTrue);
- ItemStack optionFalse = new ItemStack(Material.STAINED_CLAY, 1, (short) 14);
- ItemMeta optionFalseM = optionFalse.getItemMeta();
- optionFalseM.setDisplayName(ChatColor.RED+"✘ Annuler");
- optionFalseM.setLore(Arrays.asList(team));
- optionFalse.setItemMeta(optionFalseM);
- infoTeam.setItem(15, optionFalse);
- p.openInventory(infoTeam);
- }
- public void newTeam(String name, int color){
- Team owner = board.registerNewTeam(name);
- owner.setPrefix("§"+codeColor.codeColorBP(color));
- System.out.println(owner.getPrefix());
- }
- public void deleteTeam(String name){
- Team owner = board.getTeam(name);
- owner.unregister();
- }
- public void joinTeam(String name, String p){
- Team owner = board.getTeam(name);
- owner.addEntry(p);
- for(Player player : Bukkit.getServer().getOnlinePlayers()){
- if(p.equals(player.getName())){
- // player.setDisplayName(owner.getPrefix()+p+ChatColor.WHITE);
- // player.setPlayerListName(owner.getPrefix()+p);
- }
- }
- }
- public void leaveTeam(String name, String p){
- Team owner = board.getTeam(name);
- owner.removeEntry(p);
- for(Player player : Bukkit.getServer().getOnlinePlayers()){
- if(p.equals(player.getName())){
- player.setDisplayName(ChatColor.WHITE+p);
- player.setPlayerListName(ChatColor.WHITE+p);
- }
- }
- }
- public void inventoryConfig(Player p){
- Inventory config = Bukkit.createInventory(null, 9, "Menu de configuration");
- ItemStack taupe = new ItemStack(Material.ANVIL, 1);
- ItemMeta taupeM = taupe.getItemMeta();
- taupeM.setDisplayName(ChatColor.AQUA+"Taupe par team ➧ "+TaupeGun.getInstance().nbrTaupe);
- taupe.setItemMeta(taupeM);
- config.setItem(0, taupe);
- ItemStack reduc = new ItemStack(Material.COMPASS, 1);
- ItemMeta reducM = reduc.getItemMeta();
- reducM.setDisplayName(ChatColor.AQUA+"Episode de réduction ➧ "+TaupeGun.getInstance().episReduc);
- reduc.setItemMeta(reducM);
- config.setItem(2, reduc);
- ItemStack barrier = new ItemStack(Material.BARRIER, 1);
- ItemMeta barrierM = barrier.getItemMeta();
- barrierM.setDisplayName(ChatColor.AQUA+"Taille du mur ➧ -"+TaupeGun.getInstance().wallSize+"/"+TaupeGun.getInstance().wallSize);
- barrier.setItemMeta(barrierM);
- config.setItem(4, barrier);
- ItemStack potion = new ItemStack(Material.POTION, 1);
- ItemMeta potionM = potion.getItemMeta();
- if(TaupeGun.getInstance().potion2 == true){
- potionM.setDisplayName(ChatColor.AQUA+"Potion II ➧ "+ChatColor.GREEN+"Activé");
- }
- else{
- potionM.setDisplayName(ChatColor.AQUA+"Potion II ➧ "+ChatColor.RED+"Désactivé");
- }
- potion.setItemMeta(potionM);
- config.setItem(6, potion);
- ItemStack superTaupe = new ItemStack(Material.ENCHANTMENT_TABLE, 1);
- ItemMeta superTaupeM = taupe.getItemMeta();
- if(TaupeGun.getInstance().superTaupe == true){
- superTaupeM.setDisplayName(ChatColor.AQUA+"Super taupe ➧ "+ChatColor.GREEN+"Activé");
- }
- else{
- superTaupeM.setDisplayName(ChatColor.AQUA+"Super taupe ➧ "+ChatColor.RED+"Désactivé");
- }
- superTaupe.setItemMeta(superTaupeM);
- config.setItem(8, superTaupe);
- p.openInventory(config);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement