daily pastebin goal
32%
SHARE
TWEET

Untitled

a guest Jan 19th, 2019 74 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package be.hokkaydo.lguhc;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. import java.util.Collection;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9.  
  10. import org.bukkit.Bukkit;
  11. import org.bukkit.ChatColor;
  12. import org.bukkit.GameMode;
  13. import org.bukkit.Location;
  14. import org.bukkit.Material;
  15. import org.bukkit.command.Command;
  16. import org.bukkit.command.CommandSender;
  17. import org.bukkit.entity.Entity;
  18. import org.bukkit.entity.Player;
  19. import org.bukkit.event.EventHandler;
  20. import org.bukkit.event.Listener;
  21. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  22. import org.bukkit.event.entity.EntityDamageEvent;
  23. import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
  24. import org.bukkit.event.entity.PlayerDeathEvent;
  25. import org.bukkit.event.inventory.InventoryClickEvent;
  26. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  27. import org.bukkit.event.player.PlayerJoinEvent;
  28. import org.bukkit.event.player.PlayerQuitEvent;
  29. import org.bukkit.event.player.PlayerRespawnEvent;
  30. import org.bukkit.inventory.Inventory;
  31. import org.bukkit.inventory.ItemStack;
  32. import org.bukkit.inventory.meta.ItemMeta;
  33. import org.bukkit.plugin.java.JavaPlugin;
  34. import org.bukkit.potion.PotionEffect;
  35. import org.bukkit.potion.PotionEffectType;
  36.  
  37. import net.md_5.bungee.api.chat.ClickEvent;
  38. import net.md_5.bungee.api.chat.ComponentBuilder;
  39. import net.md_5.bungee.api.chat.HoverEvent;
  40. import net.md_5.bungee.api.chat.TextComponent;
  41.  
  42. public class Main extends JavaPlugin implements Listener{
  43.         Boolean RezSoso = false;
  44.         Boolean RezIpdl = false;
  45.         Boolean ipdl = false;
  46.         Boolean ancientDead = false;
  47.         Boolean hasShot = false;
  48.         static Boolean hasSee = false;
  49.         Player contamined;
  50.         Boolean isContaminingEnded = false;
  51.         int flair = 3;
  52.         Player master;
  53.        
  54.         Player salva1;
  55.         Player salva2;
  56.         Player lastSalva;
  57.         static Main instance;
  58.         Boolean isCoupleSet = false;
  59.        
  60.         HashMap<Player, Integer> numberMsgSisters = new HashMap<>();
  61.         RolesManager rm = new RolesManager();
  62.         CheckWin cw = new CheckWin();
  63.         SpawnManager sm = new SpawnManager();
  64.         ConfigManager cm = new ConfigManager();
  65.         Chrono c = new Chrono();
  66.        
  67.         HashMap<Player, String> lastDeathMSG = new HashMap<>();
  68.        
  69.         Map<Player, Location> lastDeathLoc = new HashMap<Player,Location>();
  70.         Map<Player, Player> lastDeathKillerPlayer = new HashMap<>();
  71.         public static boolean start;
  72.        
  73.         public static Map<Player, ScoreboardSign> boards = new HashMap<>();
  74.         public static Map<Player, CustomScoreboard> compo1 = new HashMap<>();
  75.         public static Map<Player, CustomScoreboard> compo2 = new HashMap<>();
  76.        
  77.         String prefix = "§b§l[§6§lLOUPS-GAROUS§b§l]§r";
  78.         Player Couple = null;
  79.        
  80.         @Override
  81.         public void onEnable() {
  82.             instance = this;
  83.             System.out.println(" __________________________________________________ ");
  84.             System.out.println("|                                                  |");
  85.             System.out.println("|                  LGUHC V0.1                      |");
  86.             System.out.println("|              Plugin par Hokkaydo                 |");
  87.             System.out.println("|                                                  |");
  88.             System.out.println("|        Afin de configurer le plugin selon        |");
  89.             System.out.println("|    vos envies, veuillez vous rendre dans votre   |");
  90.             System.out.println("|     dossier de serveur, ensuite allez dans le    |");
  91.             System.out.println("|     dossier \"plugins\" puis ouvrez le dossier     |");
  92.             System.out.println("|     \"LGUHC\" et ouvrez le fichier config.yml      |");
  93.             System.out.println("|   Modifiez les options selon votre convenance !  |");
  94.             System.out.println("|                                                  |");
  95.             System.out.println("|        Pour tout renseignement additionel,       |");
  96.             System.out.println("|    Veuillez contacter Hokkaydo#7384 sur Discord  |");
  97.             System.out.println("|__________________________________________________|");
  98.             System.out.println("                                                    ");
  99.  
  100.             getServer().getPluginManager().registerEvents(this, this);
  101.             getCommand("lg").setExecutor(this);
  102.             getCommand("test").setExecutor(this);
  103.             getCommand("rules").setExecutor(this);
  104.             getCommand("bypasstime").setExecutor(this);
  105.             cm.registerConfig(this);
  106.         }
  107.        
  108.         @Override
  109.         public void onDisable() {
  110.             for(Player p : Bukkit.getOnlinePlayers()) {
  111.                 p.setMaxHealth(20);
  112.                 p.setHealth(20);
  113.             }
  114.             getServer().getWorld(ConfigManager.world).setGameRuleValue("doDaylightCycle", "true");
  115.             Bukkit.dispatchCommand(getServer().getConsoleSender(), "gamerule reducedDebugInfo false");
  116.             Bukkit.dispatchCommand(getServer().getConsoleSender(), "gamerule sendCommandFeedback true");
  117.             Bukkit.dispatchCommand(getServer().getConsoleSender(), "gamerule naturalRegeneration false");
  118.             for(ScoreboardSign sign : boards.values()) {
  119.                 sign.destroy();
  120.             }  
  121.            
  122.             for(CustomScoreboard sign : compo1.values()) {
  123.                 sign.getScoreboard().resetScores("d");
  124.             }
  125.            
  126.             for(CustomScoreboard sign : compo2.values()) {
  127.                 sign.getScoreboard().resetScores("d");
  128.             }
  129.             for(Player p : Bukkit.getOnlinePlayers()) {
  130.                 p.setScoreboard(Bukkit.getScoreboardManager().getMainScoreboard());
  131.             }
  132.             for(Player p : Bukkit.getOnlinePlayers()) {
  133.                 p.setPlayerListName(p.getName());
  134.                 p.setDisplayName(p.getName());
  135.             }
  136.         }
  137.        
  138.         @Deprecated
  139.         @Override
  140.         public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  141.             if(sender instanceof Player) {
  142.                 Player p = (Player)sender;
  143.                 if(command.getName().toString().equalsIgnoreCase("lg")) {
  144.                     if(start) {
  145.                         try {
  146.                             try {
  147.                                 if(args[0].equalsIgnoreCase("msg")) {
  148.                                     StringBuilder string = new StringBuilder();
  149.                                     for(String arg : args) {
  150.                                         if(!args[0].equals(arg)) {
  151.                                             string.append(arg + " ");
  152.                                         }
  153.                                     }
  154.                                     lastDeathMSG.put(p, string.toString());
  155.                                     p.sendMessage(prefix+"§a Votre dernière volonté a bien été enregistréé ! Elle sera diffusée à tous à votre mort");
  156.                                 }else if(args[0].equalsIgnoreCase("sauver")) {
  157.                                     if(!ipdl) {
  158.                                         if(!RezSoso) {
  159.                                             try {
  160.                                             if(args[1] != null) {
  161.                                                 if(lastDeathLoc.containsKey(Bukkit.getPlayer(args[1]))) {
  162.                                                     Bukkit.getPlayer(args[1]).teleport(sm.getRandomLocation(Bukkit.getPlayer(args[1]), this));
  163.                                                     Bukkit.getPlayer(args[1]).sendMessage(prefix+"§a La Sorcière a décidé de vous ressusciter !");
  164.                                                     p.sendMessage(prefix+ "§a " + Bukkit.getPlayer(args[1]).getName() + " a bien été ressuscité !");
  165.                                                     lastDeathLoc.remove(Bukkit.getPlayer(args[1]));
  166.                                                     if(Bukkit.getPlayer(args[1]).equals(salva1)){
  167.                                                         Bukkit.getPlayer(args[1]).addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 20*(600-Chrono.timeSalva1), 1, false, false));
  168.                                                     }else if(Bukkit.getPlayer(args[1]).equals(salva2)) {
  169.                                                         Bukkit.getPlayer(args[1]).addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 20*(600-Chrono.timeSalva2), 1, false, false));
  170.                                                     }
  171.                                                     if(CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).getRole().equals(Roles.ANCIEN)) {
  172.                                                         Bukkit.getPlayer(args[1]).addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 20*60*60*5, 0, false, false));
  173.                                                     }else if(CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).getRole().equals(Roles.RENARD)){
  174.                                                         Bukkit.getPlayer(args[1]).addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 20*60*60*5, 0, false, false));
  175.                                                     }
  176.                                                    
  177.                                                     RezSoso = true;
  178.                                                 }else {
  179.                                                     p.sendMessage( prefix + "§c Le joueur est introuvable");
  180.                                                 }
  181.                                             }else {
  182.                                                 p.sendMessage(prefix + "§c Veuillez préciser un joueur");
  183.                                             }
  184.                                             }catch(ArrayIndexOutOfBoundsException e) {
  185.                                                 p.sendMessage(prefix + "§c Veuillez préciser un joueur");
  186.                                             }
  187.                                         }else {
  188.                                             p.sendMessage(prefix + "§c Vous avez déjà  utilisé votre pouvoir");
  189.                                         }
  190.                                     }else {
  191.                                         p.sendMessage(prefix + "§c Vous n'êtes pas Sorcière");
  192.                                     }
  193.                                 }else if(args[0].equalsIgnoreCase("infecter")) {
  194.                                     if(CustomPlayer.playersAlive.get(((Player) sender).getUniqueId()).getRole().equals(Roles.IPDL)) {
  195.                                         if(!RezIpdl) {
  196.                                             try {
  197.                                                 if(args[1] != null) {
  198.                                                     if(lastDeathLoc.containsKey(Bukkit.getPlayer(args[1]))) {
  199.                                                         Bukkit.getPlayer(args[1]).teleport(sm.getRandomLocation(Bukkit.getPlayer(args[1]), this));
  200.                                                         Bukkit.getPlayer(args[1]).sendMessage(prefix+"§a L'Infect Père des Loups a décidé de vous ressusciter dans son camp !");
  201.                                                         p.sendMessage(prefix+ "§a " + Bukkit.getPlayer(args[1]).getName() + " a bien été infecté !");
  202.                                                         lastDeathLoc.remove(Bukkit.getPlayer(args[1]));
  203.                                                         CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).setInfected(true);
  204.                                                         CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).setCamp(Camp.LG);;
  205.                                                         cw.checkWin(this);
  206.                                                         RezIpdl = true;
  207.                                                     }else {
  208.                                                         p.sendMessage(prefix + "§c Le joueur est introuvable");
  209.                                                     }
  210.                                                 }else {
  211.                                                     p.sendMessage(prefix + "§c Veuillez préciser un joueur");
  212.                                                 }
  213.                                             }catch(ArrayIndexOutOfBoundsException e) {
  214.                                                 p.sendMessage(prefix + "§c Veuillez préciser un joueur");
  215.                                             }
  216.                                         }else {
  217.                                             p.sendMessage(prefix + "§c Vous avez déjà  utilisé votre pouvoir");
  218.                                         }
  219.                                     }else {
  220.                                             p.sendMessage(prefix + "§c Vous n'êtes pas Infect Père des Loups");
  221.                                     }
  222.                                 }else if(args[0].equalsIgnoreCase("voir")) {
  223.                                     if(CustomPlayer.playersAlive.get(((Player) sender).getUniqueId()).getRole().equals(Roles.VOYANTE)) {
  224.                                         if(Chrono.minutes % 10 == 0 && !hasSee) {
  225.                                             if(!args[1].equals(null)) {
  226.                                                 try {
  227.                                                 sender.sendMessage(prefix + " Ce joueur est " + CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).getRole().getName());
  228.                                                 hasSee = true;
  229.                                                     if(ConfigManager.isVoyanteBavarde()) {
  230.                                                         Bukkit.broadcastMessage(prefix+ " La Voyante Bavarde a espionné un joueur qui est " + CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).getRole().getName());
  231.                                                     }                                              
  232.                                                 }catch(NullPointerException e) {
  233.                                                     sender.sendMessage(prefix + " Joueur introuvable !");
  234.                                                 }
  235.                                             }
  236.                                         }else {
  237.                                             System.out.println(Chrono.minutes  + " " + hasSee);
  238.                                             sender.sendMessage(prefix + " Veuillez attendre le prochain jour pour voir le rôle d'un joueur");
  239.                                         }
  240.                                     }else {
  241.                                         sender.sendMessage(prefix + " Vous n'êtes pas Vvoyante !");
  242.                                     }
  243.                                    
  244.                                 }else if(args[0].equalsIgnoreCase("love")) {
  245.                                     if(CustomPlayer.playersAlive.get(((Player) sender).getUniqueId()).getRole().equals(Roles.CUPIDON)) {
  246.                                         if(!isCoupleSet) {
  247.                                             try {
  248.                                                 Player coupleUn = Bukkit.getPlayer(args[1]);
  249.                                                 Player coupleDeux = Bukkit.getPlayer(args[2]);
  250.                                                
  251.                                                 if(!coupleUn.equals(coupleDeux) && !coupleUn.equals(sender) && !coupleDeux.equals(sender)) {
  252.                                                     if(CustomPlayer.playersAlive.containsKey(coupleUn.getUniqueId()) && CustomPlayer.playersAlive.containsKey(coupleUn.getUniqueId())) {
  253.                                                     CustomPlayer.playersAlive.get(coupleUn.getUniqueId()).setCouple(true);
  254.                                                     CustomPlayer.playersAlive.get(coupleDeux.getUniqueId()).setCouple(true);
  255.                                                     CustomPlayer.coupleMap.put(coupleUn.getUniqueId(), CustomPlayer.playersAlive.get(coupleUn.getUniqueId()));
  256.                                                     CustomPlayer.coupleMap.put(coupleDeux.getUniqueId(), CustomPlayer.playersAlive.get(coupleDeux.getUniqueId()));
  257.                                                     coupleUn.sendMessage(prefix+"§a Vous êtes amoureux de " + coupleDeux.getName() + ". Si l'un d'entre vous vient à mourir, le second le suivra de chagrin dans sa tombe !");
  258.                                                     coupleDeux.sendMessage(prefix+"§a Vous êtes amoureux de " + coupleUn.getName() + ". Si l'un d'entre vous vient à mourir, le second le suivra de chagrin dans sa tombe !");
  259.                                                     p.sendMessage(prefix + "§a Vos flèches ont transpercés les coeurs des deux jeunes amoureux. Si l'un d'eux vient à mourir, le second succombera de chagrin");
  260.                                                     isCoupleSet = true;
  261.                                                     }else {
  262.                                                         sender.sendMessage(prefix + "§c Veuillez choisir deux joueurs vivants");
  263.                                                     }
  264.                                                    
  265.                                                 }else {
  266.                                                     sender.sendMessage(prefix + "§c Veuillez choisir deux joueurs différents de vous-même");
  267.                                                 }
  268.                                             }catch(ArrayIndexOutOfBoundsException e) {
  269.                                                 sender.sendMessage(prefix + "§c Joueurs non trouvés");
  270.                                             }
  271.                                         }else {
  272.                                            
  273.                                         }
  274.                                     }else {
  275.                                         sender.sendMessage(prefix + "§c Vous n'êtes pas Cupidon !"); 
  276.                                     }
  277.                                 }else if(args[0].equalsIgnoreCase("tirer")) {
  278.                                     if(CustomPlayer.PLAYERS.get(((Player) sender).getUniqueId()).getRole().equals(Roles.CHASSEUR)) {
  279.                                         if(!CustomPlayer.playersAlive.containsKey(((Player) sender).getUniqueId())) {
  280.                                             if(!hasShot) {
  281.                                                 try {
  282.                                                     hasShot = true;
  283.                                                     Bukkit.getPlayer(args[1]).setHealth(Bukkit.getPlayer(args[1]).getHealth() - 10);
  284.                                                     p.sendMessage(prefix + "§6 Le chasseur a décidé de tirer sur " + Bukkit.getPlayer(args[1]).getDisplayName() + " qui a perdu 5 coeurs jusqu'au lendemain");
  285.                                                     c.timeChasseur(this, Bukkit.getPlayer(args[1]));
  286.                                                 }catch(NullPointerException e) {
  287.                                                     p.sendMessage(prefix + "§c Joueur introuvable");
  288.                                                 }
  289.                                             }else {
  290.                                                 p.sendMessage(prefix + "§c Vous avez déjà tiré");
  291.                                             }
  292.                                         }else {
  293.                                             p.sendMessage(prefix + "§c Attendez d'être mort pour exécuter cette commande");
  294.                                         }
  295.                                     }else {
  296.                                         p.sendMessage(prefix + "§c Vous n'êtes pas Chasseur");
  297.                                     }
  298.                                     }else if(args[0].equalsIgnoreCase("flairer")) {
  299.                                         if(CustomPlayer.playersAlive.containsKey(p.getUniqueId()) && CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().equals(Roles.RENARD)) {
  300.                                             if(flair > 0) {
  301.                                                 try {
  302.                                                     flair--;
  303.                                                     if(Bukkit.getPlayer(args[1]).getLocation().distance(p.getLocation()) > 5) {
  304.                                                         Roles role = CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).getRole();
  305.                                                         if(role.equals(Roles.IPDL) || role.equals(Roles.LG) || role.equals(Roles.LGB)) {
  306.                                                             p.sendMessage(prefix + "§6Ce joueur appartient au camp des Loups-Garous !");
  307.                                                         }else {
  308.                                                             p.sendMessage(prefix + "§6 Ce joueur n'appartient pas au camps des Loups-Garous !");
  309.                                                         }
  310.                                                     }
  311.                                                 }catch(NullPointerException npe) {
  312.                                                     p.sendMessage(prefix + "Joueur introuvable");
  313.                                                 }
  314.                                             }else {
  315.                                                 p.sendMessage(prefix + "§c Vous avez déjà épuisé tous vos flairs");
  316.                                             }
  317.                                         }else {
  318.                                             p.sendMessage(prefix + "§c Vous n'êtes pas Renard");
  319.                                         }
  320.                                     }else if(args[0].equalsIgnoreCase("contaminer")) {
  321.                                         if(CustomPlayer.playersAlive.containsKey(p.getUniqueId()) && CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().equals(Roles.LGGRIS)) {
  322.                                             if(Chrono.minutes < 25 && Chrono.hours < 1 && contamined == null) {
  323.                                                 try {
  324.                                                     contamined = Bukkit.getPlayer(args[1]);
  325.                                                     if(!CustomPlayer.playersAlive.get(contamined.getUniqueId()).getCamp().equals(Camp.LG) || CustomPlayer.playersAlive.get(contamined.getUniqueId()).getRole().equals(Roles.LGB) ) {
  326.                                                         if(!CustomPlayer.playersAlive.get(contamined.getUniqueId()).getRole().equals(Roles.ANCIEN)) {
  327.                                                             c.timeToBeContaminated(this, p, Bukkit.getPlayer(args[1]));
  328.                                                             contamined = Bukkit.getPlayer(CustomPlayer.playersAlive.get(Bukkit.getPlayer(args[1]).getUniqueId()).getUniqueId());
  329.                                                             p.sendMessage(prefix+ "§a " + contamined.getName() + " a bien été désigné comme la cible à contaminer !");
  330.                                                         }else {
  331.                                                             p.sendMessage(prefix + "§6 Vous avez essayé de vous attaquer au Grand Sage du village ! Fuyez, vous êtes découvert !");                                                 Bukkit.getPlayer(args[1]).sendMessage(p.getName() + " a tenté de s'attaquer à vous, vous ne saviez pas grand chose à propos de lui mais maintenant vous commencer à apercevoir ses affreux bubons que seuls les Loups Contagieux portent sur leur horrible poil !");
  332.                                                                 contamined = p;
  333.                                                         }
  334.                                                     }else {
  335.                                                         p.sendMessage(prefix+ "Ce joueur est déjà un Loup-Garou !");
  336.                                                     }
  337.                                                 }catch(NullPointerException npe) {
  338.                                                     p.sendMessage(prefix + "§c Joueur introuvable");
  339.                                                 }
  340.                                             }else {
  341.                                                 if(contamined != null) {
  342.                                                     p.sendMessage(prefix + "§c Vous avez déjà choisi une victime");
  343.                                                 }else {
  344.                                                     System.out.println(Chrono.minutes + " " + Chrono.hours);
  345.                                                 }
  346.                                             }
  347.                                         }else {
  348.                                             p.sendMessage(prefix + "§c Vous n'êtes pas Loup Gris");
  349.                                         }
  350.                                     }else if(args[0].equalsIgnoreCase("maitre")) {
  351.                                         if(CustomPlayer.playersAlive.containsKey(p.getUniqueId()) && CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().equals(Roles.ES)) {
  352.                                             if(Chrono.minutes < 25 && Chrono.hours < 0 && master == null) {
  353.                                                 try {
  354.                                                     if(CustomPlayer.playersAlive.containsKey(master.getUniqueId()) && CustomPlayer.PLAYERS.containsKey(master.getUniqueId())) {
  355.                                                         master = Bukkit.getPlayer(args[1]);
  356.                                                         p.sendMessage(prefix + "§a Vous avez choisi " + master.getName() + " comme maître. S'il vient à mourir, vous passerez dans le campd es Liups-Garous et devrez gagner avec eux");
  357.                                                     }else {
  358.                                                         if(!CustomPlayer.playersAlive.containsKey(master.getUniqueId()) && CustomPlayer.PLAYERS.containsKey(master.getUniqueId())) {
  359.                                                             p.sendMessage(prefix + "§c Ce joueur est déjà  mort");
  360.                                                         }else {
  361.                                                             p.sendMessage(prefix + "§c Ce joueur ne joue pas cette partie");
  362.                                                         }
  363.                                                     }
  364.                                                 }catch(NullPointerException npe) {
  365.                                                     p.sendMessage(prefix + "§c Joueur introuvable");
  366.                                                 }
  367.                                             }else {
  368.                                                 if(master != null) {
  369.                                                     p.sendMessage(prefix + "§c Vous avez déjà choisi un maître");
  370.                                                 }else {
  371.                                                     p.sendMessage(prefix + "§c Le délai est dépassé");
  372.                                                 }
  373.                                             }
  374.                                         }else {
  375.                                             p.sendMessage(prefix + "§c Vous n'êtes pas Enfant Sauvage");
  376.                                         }
  377.                                     }else if(args[0].equalsIgnoreCase("salvation")) {
  378.                                         if(CustomPlayer.playersAlive.containsKey(p.getUniqueId()) && CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().equals(Roles.SALVATEUR)) {
  379.                                             if(Chrono.minutes % 10 == 0 || (Chrono.minutes - 1) % 10 == 0) {
  380.                                                 try {
  381.                                                     if(!Bukkit.getPlayer(args[1]).equals(lastSalva)) {
  382.                                                         if(salva1 == null) {
  383.                                                             salva1 = Bukkit.getPlayer(args[1]);
  384.                                                             salva1.sendMessage(prefix+ "§a Le Salvateur vous a accordé sa protection. Vous diposez de NoFall et Résistance 2 jusqu'au prochain jour !");
  385.                                                             c.timeToBeUnsalvated(this, 1);
  386.                                                             lastSalva = Bukkit.getPlayer(args[1]);
  387.                                                             p.sendMessage(prefix+"§a Vous avez bien accordé votre salvation à " + salva1.getName() + ". Il bénéficie donc de NoFall et Résistance 2 jusqu'au prochain jour !");
  388.                                                         }else {
  389.                                                             salva2 = Bukkit.getPlayer(args[1]);
  390.                                                             salva2.sendMessage(prefix+ "§a Le Salvateur vous a accordé sa protection. Vous diposez de NoFall et Résistance 2 jusqu'au prochain jour !");
  391.                                                             c.timeToBeUnsalvated(this, 2);
  392.                                                             lastSalva = Bukkit.getPlayer(args[1]);
  393.                                                             p.sendMessage(prefix+"§a Vous avez bien accordé votre salvation à " + salva2.getName() + ". Il bénéficie donc de NoFall et Résistance 2 jusqu'au prochain jour !");
  394.                                                         }
  395.                                                         Bukkit.getPlayer(args[1]).addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 20*60*10, 1, false, false));
  396.                                                     }else {
  397.                                                         p.sendMessage(prefix + "§c Vous ne pouvez pas donner la salvation deux fois de suite au même joueur");
  398.                                                     }
  399.                                                 }catch(NullPointerException npe) {
  400.                                                     p.sendMessage("§c Joueur introuvable");
  401.                                                 }
  402.                                             }else {
  403.                                                 p.sendMessage(prefix + "§c Vous ne pouvez donner la salvation à un joueur que durant la première minute de la journée");
  404.                                             }
  405.                                         }
  406.                                     }else if(args[0].equalsIgnoreCase("soeur")) {
  407.                                         if(CustomPlayer.playersAlive.containsKey(p.getUniqueId()) && CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().equals(Roles.SOEUR)) {
  408.                                             if(!numberMsgSisters.containsKey(p) || numberMsgSisters.get(p) < 3) {
  409.                                                 for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  410.                                                     if(cp.getRole().equals(Roles.SOEUR)) {
  411.                                                         if(cp.getUniqueId() != p.getUniqueId()) {
  412.                                                             StringBuilder string = new StringBuilder();
  413.                                                             for(String arg : args) {
  414.                                                                 string.append(arg);
  415.                                                             }
  416.                                                             Bukkit.getPlayer(cp.getUniqueId()).sendMessage("[Reçu de " + p.getName() + "] " + string.toString());
  417.                                                             p.sendMessage(prefix+"§a Message envoyé avec succès !");
  418.                                                             if(!numberMsgSisters.containsKey(p)) {
  419.                                                                 numberMsgSisters.put(p, 1);
  420.                                                             }else {
  421.                                                                 numberMsgSisters.put(p, numberMsgSisters.get(p) + 1);
  422.                                                             }
  423.                                                         }
  424.                                                     }
  425.                                                 }
  426.                                             }else {
  427.                                                 p.sendMessage(prefix + "§c Vous ne pouvez communiquer avec votre soeur que 3 fois par jour");
  428.                                             }
  429.                                         }else {
  430.                                             p.sendMessage(prefix + "§c Vous n'êtes pas Soeur");
  431.                                         }
  432.                                     }else if(args[0].equalsIgnoreCase("role")) {
  433.                                         if(CustomPlayer.playersAlive.containsKey(p.getUniqueId())) {
  434.                                             p.sendMessage(CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().getMsgReveal());
  435.                                             if(CustomPlayer.playersAlive.get(p.getUniqueId()).getCamp().equals(Camp.LG)) {
  436.                                                 StringBuilder lgList = new StringBuilder();
  437.                                                 for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  438.                                                     if(cp.getCamp().equals(Camp.LG)) {
  439.                                                         lgList.append(Bukkit.getPlayer(cp.getUniqueId()).getName() + " ");
  440.                                                     }
  441.                                                 }
  442.                                                 p.sendMessage(prefix+"§4 Les pseudos des Loups-Garous sont : \n§c" + lgList);
  443.                                             }
  444.                                         }else {
  445.                                             p.sendMessage(prefix+"§c Vous n'êtes pas un joueur de la partie");
  446.                                         }
  447.                                     }else if(args[0].equalsIgnoreCase("start")) {
  448.                                         if(p.isOp()) {
  449.                                             p.sendMessage(prefix+"§aLa commande est en cours de développement. Veuillez utiliser /test ;)");
  450.                                         }else {
  451.                                             p.sendMessage(prefix+ "§cVous n'avez pas la permission d'utiliser cette commande");
  452.                                         }
  453.                                     }
  454.                             }catch(ArrayIndexOutOfBoundsException e) {
  455.                                 p.performCommand("/help");
  456.                             }
  457.                         }catch(NullPointerException e) {
  458.                             p.sendMessage(prefix + "§c Les rôles n'ont pas encore été révélés !");
  459.                         }catch(NoClassDefFoundError e) {
  460.                             e.printStackTrace();
  461.                             p.sendMessage(prefix+"§4 Vous ne jouez pas dans la partie");
  462.                         }
  463.                     }
  464.                     if(args[0].equalsIgnoreCase("help")) {
  465.                         p.sendMessage("                                                    ");
  466.                         p.sendMessage("                                                    ");
  467.                         p.sendMessage("                                                    ");
  468.                         p.sendMessage("                                                    ");
  469.                         p.sendMessage("                                                    ");
  470.                         p.sendMessage("                                                    ");
  471.                         p.sendMessage("                                                    ");
  472.                         p.sendMessage("                                                    ");
  473.                         p.sendMessage("                                                    ");
  474.                         p.sendMessage("                                                    ");
  475.                         p.sendMessage("                                                    ");
  476.                         p.sendMessage("              " + prefix + "                        ");
  477.                         p.sendMessage("§6Voici toutes les commandes liées au Loup-Garou UHC");
  478.                         p.sendMessage("§c==================================================");
  479.                         if(p.isOp()) {
  480.                                 p.sendMessage("§9/lg start :§c Permet de lancer la partie");
  481.                                 p.sendMessage("§9/lg config : §cPermet de modifier la configuration");
  482.                                 p.sendMessage("§d------------------------------------------------");
  483.                             }
  484.                         p.sendMessage("§9/lg sauver : §2Permet à la Sorcière de ressusciter un joueur mort");
  485.                         p.sendMessage("§9/lg infecter : §2Permet à l'Infect Père des Loups de ressusciter et d'infecter un joueur afin que celui-ci passe dans son camp");
  486.                         p.sendMessage("§9/lg voir : §2Permet à la Voyante d'espionner le rôle d'un joueur la première minute de chaque jour");
  487.                         p.sendMessage("§9/lg love : §2Permet au Cupidon de rendre amoureuses 2 personnes dans les 2 minutes qui suivent l'annonce des rôles");
  488.                         p.sendMessage("§9/lg tirer : §2Permet au Chasseur de retirer 5 coeurs à une cible lors de sa mort");
  489.                         p.sendMessage("§9/lg flairer : §2Permet au Renard de savoir si un joueur fait partie du camp des Loups - Garous ou du camp des Villageois. Maximum 3 dans la partie !");
  490.                         p.sendMessage("§9/lg contaminer : §2Permet au Loup Gris de choisir une victime à contaminer dnas les 2 minutes qui suivent l'annonce des rôles");
  491.                         p.sendMessage("§9/lg maitre : §2Permet à l'Enfant Sauvage de choisir un maître dnas les 2 minutes qui suivent l'annonce des rôles");
  492.                         p.sendMessage("§9/lg salvation :§2 Permet au Salvateur d'accorder la salvation à un joueur");
  493.                         p.sendMessage("§9/lg soeur : §2Permet à une Soeur d'envoyer un message à sa Soeur. Maximum 3 messages par jour chacune !");
  494.                         p.sendMessage("§9/lg msg :§2 Permet d'enregistrer une dernière volonté diffusée à votre mort");
  495.                         p.sendMessage("§c==================================================");
  496.                     }else if(args[0].equalsIgnoreCase("config")) {
  497.                         if(start) {
  498.                             p.sendMessage(prefix+ "§cERREUR : La partie a déjà commencé");
  499.                             return false;
  500.                         }
  501.                         p.sendMessage("En dev");
  502.                         Inventory mainConfigInv = Bukkit.createInventory(null, 54, "§9Configuration");
  503.                         ItemStack numberOf = ItemBuilder(Material.SKULL_ITEM, 0, 1, "§cRôles", new ArrayList<>(Arrays.asList("§6Permet de définir les rôles présents", "§6ou non dans la partie !")));
  504.                         mainConfigInv.setItem(10, numberOf);
  505.                         mainConfigInv.setItem(20, ConfigManager.ancien > 0 ? ItemBuilder(Material.INK_SACK, (byte) 10, 1, "§aAncien", null) : ItemBuilder(Material.INK_SACK, (byte)8, 1, "§cAncien", null));
  506.                         ItemStack border = ItemBuilder(Material.BARRIER, 0, 1, "§9Bordure", new ArrayList<>(Arrays.asList("§6Permet de gérer la tailles des bordures,", "§6ainsi que le temps de rétraction et le moment où", "§6la rétractation se produira")));
  507.                         mainConfigInv.setItem(16, border);
  508.                         p.openInventory(mainConfigInv);
  509.                     }
  510.                    
  511.                 }else if (command.getName().toString().equalsIgnoreCase("test")) {
  512.                     if(!p.isOp()) {
  513.                         p.sendMessage(prefix+"§cVous n'êtes pas autorisé à effectuer cette commande");
  514.                         return false;
  515.                     }
  516.                     int numberOfPlayer = 0;
  517.                     for(Player pl : Bukkit.getOnlinePlayers()) {
  518.                         if(pl.getGameMode().equals(GameMode.SURVIVAL)) {
  519.                             numberOfPlayer++;
  520.                         }
  521.                     }
  522.                     if(numberOfPlayer < ConfigManager.maxRoles) {
  523.                         p.sendMessage(prefix + "§4 Il n'y a pas assez de joueurs par rapport au nombre de rôles !");
  524.                         return false;
  525.                     }
  526.                     if(numberOfPlayer > ConfigManager.maxRoles) {
  527.                         p.sendMessage(prefix + "§4 Il y a trop de joueurs par rapport au nombre de rôles !");
  528.                         return false;
  529.                     }
  530.                     Bukkit.getWorld(ConfigManager.world).getWorldBorder().setSize(ConfigManager.wbStartSize*2);
  531.                     Bukkit.getWorld(ConfigManager.world).getWorldBorder().setCenter(new Location(Bukkit.getWorld(ConfigManager.world), 0, 0, 0));
  532.                     Bukkit.dispatchCommand(getServer().getConsoleSender(), "gamerule sendCommandFeedback false");
  533.                     Bukkit.dispatchCommand(getServer().getConsoleSender(), "time set 0");
  534.                     start = true;
  535.                     for(Player pl : Bukkit.getOnlinePlayers()) {
  536.                         if(pl.getGameMode().equals(GameMode.SURVIVAL)) {
  537.                             ScoreboardSign sb = new ScoreboardSign(pl, ConfigManager.gameName);
  538.                             sb.create();
  539.                             boards.put(pl, sb);
  540.                            
  541.                             int compo = Chrono.activeRoles.size();
  542.                             if(compo > 14) {
  543.                                 CustomScoreboard compo1 = new CustomScoreboard(p, 1, "Composition 1/2");
  544.                                 Main.compo1.put(pl, compo1);
  545.                                 CustomScoreboard compo2 = new CustomScoreboard(p, 2, "Composition 2/2");
  546.                                 Main.compo2.put(pl, compo2);
  547.                             }else {
  548.                                 CustomScoreboard compo1 = new CustomScoreboard(p, 1, "Composition");
  549.                                 Main.compo1.put(pl, compo1);
  550.                             }
  551.                            
  552.                             pl.setMaxHealth(20);
  553.                             pl.setHealth(20);
  554.                             pl.setSaturation(20);
  555.                             pl.setPlayerListName(pl.getName());
  556.                             pl.setCustomName(pl.getName());
  557.                             pl.setDisplayName(pl.getName());
  558.                             pl.setDisplayName(pl.getName());
  559.                             for(PotionEffect potion : pl.getActivePotionEffects()) {
  560.                                 pl.removePotionEffect(potion.getType());
  561.                             }
  562.                         }
  563.                     }
  564.                     c.startTimer(this);
  565.                     c.test1(this);
  566.                    
  567.                 }else if(command.getName().toString().equalsIgnoreCase("rules")) {
  568.                     p.sendMessage(prefix+"§aEn cours de développement ;)");
  569.                 }else if(command.getName().toString().equalsIgnoreCase("bypasstime")) {
  570.                     Chrono.hours = Integer.valueOf(args[0]);
  571.                     Chrono.minutes = Integer.valueOf(args[1]);
  572.                     Chrono.seconds = Integer.valueOf(args[2]);
  573.                 }
  574.             }
  575.             return false;
  576.         }
  577.        
  578.         public ItemStack ItemBuilder(Material material, int data, int amount, String name, List<String> lore) {
  579.             ItemStack item = new ItemStack(material, amount, (byte)data);
  580.             ItemMeta itemMeta = item.getItemMeta();
  581.             itemMeta.setDisplayName(name);
  582.             itemMeta.setLore(lore);
  583.             item.setItemMeta(itemMeta);
  584.             return item;
  585.         }
  586.        
  587.         @EventHandler
  588.         @Deprecated
  589.         public void onEntityDamageEvent(EntityDamageByEntityEvent e) {
  590.             if(start) {
  591.                 if(e.getEntity() instanceof Player) {
  592.                     Player damaged = (Player)e.getEntity();
  593.                     Entity damager = e.getDamager();
  594.                     if(Bukkit.getPlayer(damager.getUniqueId()) != null && Bukkit.getPlayer(damager.getUniqueId()).hasPotionEffect(PotionEffectType.INCREASE_DAMAGE)) {
  595.                         e.setDamage((e.getDamage()/100)*ConfigManager.nerf_strenght_percent);
  596.                     }
  597.                     if(e.getEntity() instanceof Player && e.getDamager() instanceof Player) {
  598.                         if(Chrono.minutes < ConfigManager.pvp_active_time || Chrono.hours > 0) {
  599.                             e.setCancelled(true);
  600.                             return;
  601.                         }
  602.                     }
  603.                    
  604.                     if(damaged.getHealth() < damaged.getLastDamage() + 0.5) {
  605.                         if(CustomPlayer.playersAlive.get(e.getEntity().getUniqueId()).getRole().equals(Roles.ANCIEN)) {
  606.                             if(!ancientDead) {
  607.                                 e.setCancelled(true);
  608.                                 damaged.setHealth(20.0);
  609.                                 damaged.teleport(sm.getRandomLocation(damaged, this));
  610.                                 damaged.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 20*60*60*5, 0, false, false));
  611.                                 ancientDead = true;
  612.                                 return;
  613.                             }
  614.                     }  
  615.                         Player soso = null;
  616.                         Player ipdl = null;
  617.                         for(CustomPlayer cp : CustomPlayer.PLAYERS.values()) {
  618.                             if(cp.getRole().equals(Roles.SORCIERE)) {
  619.                                 soso  =Bukkit.getPlayer(cp.getUniqueId());
  620.                             }else if(cp.getRole().equals(Roles.IPDL)){
  621.                                 ipdl = Bukkit.getPlayer(cp.getUniqueId());
  622.                             }
  623.                         }
  624.                        
  625.                             if(!RezSoso || !RezIpdl) {
  626.                                     lastDeathLoc.put(damaged, damaged.getLocation());
  627.                                     e.setCancelled(true);
  628.                                     damaged.setHealth(20.0);
  629.                                     damaged.teleport(Bukkit.getWorld(ConfigManager.world).getSpawnLocation());
  630.                                     c.startRezTime(this, damaged);
  631.                                     if(!RezSoso && soso != null) {
  632.                                         TextComponent texte = new TextComponent(prefix+"§a Un joueur est mort ! Exécutez la commande /lg sauver " + damaged.getDisplayName() + " ou cliquez sur ce message si vous souhaitez le ressusciter !");
  633.                                     texte.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/lg sauver " + damaged.getDisplayName()));
  634.                                     texte.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Cliquez ici pour ressusciter " + damaged.getDisplayName()).create()));
  635.                                     soso.spigot().sendMessage(texte);
  636.                                     }
  637.                                     if(CustomPlayer.playersAlive.get(damager.getUniqueId()).getCamp().equals(Camp.LG)
  638.                                             && !RezIpdl && ipdl != null) {
  639.                                         TextComponent texte = new TextComponent(prefix+"§a Un joueur est mort ! Exécutez la commande /lg infecter " + damaged.getDisplayName() + " ou cliquez sur ce message si vous souhaitez le ressusciter dans votre camp !");
  640.                                         texte.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/lg infecter " + damaged.getDisplayName()));
  641.                                         texte.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(prefix +" §aCliquez ici pour infecter " + damaged.getDisplayName()).create()));
  642.                                         ipdl.spigot().sendMessage(texte);
  643.                                     }
  644.                                        
  645.                                    
  646.                                     return;
  647.                                 }else {
  648.                                     damaged.teleport(lastDeathLoc.get(damaged));
  649.                                     damaged.setHealth(0);
  650.                                     damaged.sendMessage(prefix+" §cVotre aventure au sein du village s'arrête ici ! Merci de changer de channel !");
  651.                                     if(damager instanceof Player) {
  652.                                         lastDeathKillerPlayer.put(damaged, (Player)damager);
  653.                                     }
  654.                                     cw.checkWin(this);
  655.                                 }                      
  656.                     }
  657.                 }
  658.             }else {
  659.                 e.setCancelled(true);
  660.             }
  661.         }  
  662.         @SuppressWarnings("deprecation")
  663.         @EventHandler
  664.         public void onDamage(EntityDamageEvent e) {
  665.             if(start) {
  666.                 if(e.getEntity() instanceof Player) {
  667.                     if(!e.getCause().equals(DamageCause.ENTITY_ATTACK)) {
  668.                         System.out.println(e.getCause());
  669.                         Player damaged = (Player) e.getEntity();
  670.                         if((e.getEntity().equals(salva1) || e.getEntity().equals(salva2)) && e.getCause().equals(DamageCause.FALL)) {
  671.                             e.setCancelled(true);
  672.                             return;
  673.                         }
  674.                         if(damaged.getHealth() < damaged.getLastDamage() + 0.25) {
  675.                             System.out.println(e.getCause());
  676.                             if(CustomPlayer.playersAlive.get(e.getEntity().getUniqueId()).getRole().equals(Roles.ANCIEN)) {
  677.                                 if(!ancientDead) {
  678.                                     e.setCancelled(true);
  679.                                     damaged.setHealth(20.0);
  680.                                     damaged.teleport(sm.getRandomLocation(damaged, this));
  681.                                     ancientDead = true;
  682.                                     return;
  683.                                 }
  684.                         }  
  685.  
  686.                             Player soso = null;
  687.                             lastDeathLoc.put(damaged, damaged.getLocation());
  688.                             for(CustomPlayer cp : CustomPlayer.PLAYERS.values()) {
  689.                                 if(cp.getRole().equals(Roles.SORCIERE)) {
  690.                                     soso  =Bukkit.getPlayer(cp.getUniqueId());
  691.                                 }
  692.                             }
  693.                                 if(!RezSoso && soso != null) {
  694.                                         e.setCancelled(true);
  695.                                         damaged.setHealth(20.0);
  696.                                         damaged.teleport(Bukkit.getWorld(ConfigManager.world).getSpawnLocation());
  697.                                         c.startRezTime(this, damaged);
  698.                                         if(!RezSoso) {
  699.                                             TextComponent texte = new TextComponent(prefix+"§a Un joueur est mort ! Exécutez la commande /lg sauver " + damaged.getDisplayName() + " ou cliquez sur ce message si vous souhaitez le ressusciter");
  700.                                             texte.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/lg sauver " + damaged.getDisplayName()));
  701.                                             texte.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(prefix +" §aCliquez ici pour ressusciter " + damaged.getDisplayName()).create()));
  702.                                             soso.spigot().sendMessage(texte);
  703.                                             }
  704.                                         return;
  705.                                     }else {
  706.                                         damaged.teleport(lastDeathLoc.get(damaged));
  707.                                         damaged.setHealth(0);
  708.                                     }
  709.                         }
  710.                     }
  711.                 }
  712.             }else {
  713.                 e.setCancelled(true);
  714.             }
  715.         }
  716.        
  717.         @EventHandler
  718.         @Deprecated
  719.         public void onDeath(PlayerDeathEvent e) {
  720.             if(e.getEntity().equals(Couple)) return;
  721.             if(start) {
  722.                 Player p = e.getEntity();
  723.                 e.setDeathMessage("");
  724.                 if(lastDeathMSG.get(e.getEntity()) != null) {
  725.                     for(Player pl : Bukkit.getOnlinePlayers()) {
  726.                         pl.sendMessage("§7§o[" + p.getName() + "] " + lastDeathMSG.get(e.getEntity()));
  727.                     }
  728.                 }
  729.                 for(Player pl : Bukkit.getOnlinePlayers()) {
  730.                     pl.sendMessage("§c====================================================="
  731.                             + "\n§2Le village a perdu un de ses membres, " + p.getDisplayName() + " qui était " + CustomPlayer.playersAlive.get(p.getUniqueId()).getRole().getName()
  732.                             + "\n§c=====================================================");
  733.                 }
  734.                 if(CustomPlayer.playersAlive.containsKey(e.getEntity().getUniqueId()) && CustomPlayer.playersAlive.get(p.getUniqueId()).getCouple()) {
  735.                     CustomPlayer premierCouple = CustomPlayer.coupleMap.get(p.getUniqueId());
  736.                     CustomPlayer.coupleMap.remove(p.getUniqueId());
  737.                     Collection<CustomPlayer> secondCouple = CustomPlayer.coupleMap.values();
  738.                     for(CustomPlayer couple : secondCouple) {
  739.                         if(couple.getCouple()) {
  740.                             Couple = Bukkit.getPlayer(couple.getUniqueId());
  741.                             Bukkit.getPlayer(couple.getUniqueId()).setHealth(0);
  742.                             Bukkit.broadcastMessage("§c====================================================="
  743.                                     + "\n§2Dans un élan de chagrin " + Bukkit.getPlayer(couple.getUniqueId()).getDisplayName() + " qui était " + couple.getRole().getName() + " a décidé de rejoindre " + p.getDisplayName() + " dans sa tombe. RIP"
  744.                                     + "\n§c=====================================================");
  745.                             CustomPlayer.playersAlive.remove(couple.getUniqueId());
  746.                             CustomPlayer.coupleMap.put(p.getUniqueId(), premierCouple);
  747.                         }
  748.                     }
  749.                    
  750.                 }
  751.                 CustomPlayer.playersAlive.remove(p.getUniqueId());
  752.                 if(CustomPlayer.PLAYERS.get(p.getUniqueId()).getRole().equals(Roles.CHASSEUR)) {
  753.                     TextComponent text = new TextComponent(prefix + "Vous pouvez tirer un dernier coup sur un joueur de votre choix afin de lui faire perdre 5 coeurs jusqu'au lendemain. Exécutez la commande /lg tirer [pseudo] ou cliquez sur ce message");
  754.                     text.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Exécutez la commande /lg tirer [pseudo] ou cliquez sur ce message").create()));
  755.                     text.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/lg tirer "));
  756.                     p.spigot().sendMessage(text);
  757.                 }
  758.                 p.setPlayerListName("§7§o" + p.getName() + " [" + CustomPlayer.PLAYERS.get(p.getUniqueId()).getRole().getName() + "]");
  759.                 if(lastDeathKillerPlayer.containsKey(p)) {
  760.                     Roles killerRole  = CustomPlayer.PLAYERS.get(lastDeathKillerPlayer.get(p).getUniqueId()).getRole();
  761.                     if(killerRole.equals(Roles.ASSASSIN) || CustomPlayer.PLAYERS.get(lastDeathKillerPlayer.get(p).getUniqueId()).getCamp().equals(Camp.LG)) {
  762.                         Bukkit.getPlayer(CustomPlayer.PLAYERS.get(lastDeathKillerPlayer.get(p).getUniqueId()).getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 60*20, 0, false, false));
  763.                         Bukkit.getPlayer(CustomPlayer.PLAYERS.get(lastDeathKillerPlayer.get(p).getUniqueId()).getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.ABSORPTION, 60*20, 0, false, false));
  764.                     }
  765.                 }
  766.                 e.getDrops().add(new ItemStack(Material.GOLDEN_APPLE));
  767.                 if(master != null && master.equals(e.getEntity())) {
  768.                     for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  769.                         if(cp.getRole().equals(Roles.ES)) {
  770.                             Bukkit.getPlayer(cp.getUniqueId()).sendMessage(prefix + "§6 Votre modèle est mort, vous faites désormais partie de la communauté des Loups-Garous et disposez des mêmes pouvoirs !");
  771.                             cp.setCamp(Camp.LG);
  772.                         }
  773.                     }
  774.                 }
  775.                 cw.checkWin(this);
  776.             }
  777.         }
  778.        
  779.         @EventHandler
  780.         public void onJoin(PlayerJoinEvent e) {
  781.             Player p = e.getPlayer();
  782.             e.setJoinMessage("§8[§a+§8] " + p.getName() + " (§e" + getServer().getOnlinePlayers().size() + "§8/§e" + getServer().getMaxPlayers() + "§8)");
  783.             int compo = Chrono.activeRoles.size();
  784.                 if(start) {
  785.                     if(CustomPlayer.PLAYERS.containsKey(p.getUniqueId())) {
  786.                         if(!CustomPlayer.playersAlive.containsKey(p.getUniqueId())) {
  787.                             p.setPlayerListName("§7§o" + p.getName() + " [" + CustomPlayer.PLAYERS.get(p.getUniqueId()).getRole().getName() + "]");
  788.                         }
  789.                     }
  790.                     if(!boards.containsKey(p)) {
  791.                         ScoreboardSign sb = new ScoreboardSign(p, "LGUHC");
  792.                         sb.create();
  793.                         boards.put(p, sb); 
  794.                     }else {
  795.                         boards.get(p).create();    
  796.                     }
  797.                     if(compo > 14) {
  798.                         if(!compo1.containsKey(p)) {
  799.                             CustomScoreboard compo1 = new CustomScoreboard(p, 1, "Composition 1/2");
  800.                             Main.compo1.put(p, compo1);
  801.                         }else {
  802.                             compo1.get(p).create(p);
  803.                         }
  804.                        
  805.                         if(!compo2.containsKey(p)) {
  806.                             CustomScoreboard compo2 = new CustomScoreboard(p, 2, "Composition 2/2");
  807.                             Main.compo1.put(p, compo2);
  808.                         }else {
  809.                             compo2.get(p).create(p);
  810.                         }
  811.                     }else {
  812.                         if(!Main.compo1.containsKey(p)) {
  813.                             CustomScoreboard compo1 = new CustomScoreboard(p, 1, "Composition");
  814.                             Main.compo1.put(p, compo1);
  815.                         }
  816.                     }
  817.             }
  818.         }
  819.        
  820.         @EventHandler
  821.         public void onQuit(PlayerQuitEvent e) {
  822.             int numberOfPlayer = getServer().getOnlinePlayers().size()-1;
  823.             Player p = e.getPlayer();
  824.             e.setQuitMessage(ChatColor.BLACK + "§8[§4-§8] " + p.getName() + " (§e" + numberOfPlayer + "§8/§e" + getServer().getMaxPlayers() + "§8)");
  825.         }
  826.        
  827.         @EventHandler
  828.         public void preprocessEvent(PlayerCommandPreprocessEvent e) {
  829.             if(e.getMessage().startsWith("/help")){
  830.                 e.setMessage("/lg help");
  831.             }
  832.         }
  833.        
  834.         @EventHandler
  835.         public void onInventoryClick(InventoryClickEvent e) {
  836.         }  
  837.        
  838.         @EventHandler
  839.         public void respawnEvent(PlayerRespawnEvent e) {
  840.             e.getPlayer().setGameMode(GameMode.SPECTATOR);
  841.             e.getPlayer().sendMessage(prefix+" §cVotre aventure au sein du village s'arrête ici ! Merci de changer de channel !");
  842.         }
  843. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top