Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 15.49 KB | None | 0 0
  1. package be.hokkaydo.lguhc;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.Set;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.GameMode;
  9. import org.bukkit.Location;
  10. import org.bukkit.Statistic;
  11. import org.bukkit.entity.Entity;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.potion.PotionEffect;
  14. import org.bukkit.potion.PotionEffectType;
  15. import org.bukkit.scheduler.BukkitRunnable;
  16. import org.bukkit.scheduler.BukkitTask;
  17. import org.bukkit.scoreboard.DisplaySlot;
  18.  
  19. import net.md_5.bungee.api.ChatColor;
  20.  
  21. public class Chrono {
  22.    
  23.     static int episodes = 0;
  24.     static int minutes = 19;
  25.     static int seconds = 50;
  26.     static int hours = 0;
  27.     static int totalMinutes = 19;
  28.    
  29.     int timeContaminating = 0;
  30.    
  31.     static int timeSalva1 = 0;
  32.     static int timeSalva2 = 0;
  33.    
  34.     static ArrayList<Roles> activeRoles = new ArrayList<>();
  35.     static ArrayList<Roles> rolesCompo1 = new ArrayList<>();
  36.     static ArrayList<Roles> rolesCompo2 = new ArrayList<>();
  37.    
  38.     RolesManager rm = new RolesManager();
  39.     CheckWin cw = new CheckWin();
  40.    
  41.     String prefix = "§b§l[§6§lLOUPS-GAROUS§b§l]§r ";
  42.     @SuppressWarnings("deprecation")
  43.     public void startTimer(Main main) {
  44.  
  45.         Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  46.                 @Override
  47.                 public void run() {
  48.                         seconds++;
  49.                     if(seconds == 60) {
  50.                         seconds = 0;
  51.                         minutes++;
  52.                         totalMinutes++;
  53.                     }
  54.                    
  55.                     if(minutes == 60 && seconds == 0) {
  56.                         minutes = 0;
  57.                         hours++;
  58.                         episodes++;
  59.                     }
  60.                    
  61.                     if(minutes == 20 && seconds == 0 || minutes == 40 && seconds == 0) {
  62.                         episodes++;
  63.                         Main.hasSee = false;
  64.                         Bukkit.broadcastMessage("§b---------- Début épisode " + (episodes + 1 ) +  " ------------");
  65.                     }
  66.                    
  67.                     if(totalMinutes == ConfigManager.revealRoles && seconds == 0) {
  68.                         rm.rolesReveal(main);
  69.                         sbCenterTimer(main);
  70.                         Bukkit.dispatchCommand(main.getServer().getConsoleSender(), "gamerule reducedDebugInfo true");
  71.                     }
  72.                    
  73.                     if(minutes % 5 == 0 && minutes % 10 != 0 && seconds == 0) {
  74.                         for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  75.                             if(cp.getCamp().equals(Camp.LG)) {
  76.                                 Bukkit.getPlayer(cp.getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 5*60*20, 0 , false, false));
  77.                                 Bukkit.getPlayer(cp.getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 5*60*20, 0 , false, false));
  78.                             }
  79.                            
  80.                             if(cp.getRole().equals(Roles.PF)) {
  81.                                 Bukkit.getPlayer(cp.getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.INVISIBILITY, 5*60*20, 0 , false , false ));
  82.                                 Bukkit.getPlayer(cp.getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.WEAKNESS, 5*60*20, 0 , false , false ));
  83.                                 StringBuilder string = new StringBuilder();
  84.                                 for(Entity p : Bukkit.getPlayer(cp.getUniqueId()).getNearbyEntities(100, 100 , 100)) {
  85.                                     if(p instanceof Player) {
  86.                                         string.append(p + " ");
  87.                                     }
  88.                                 }
  89.                                 Bukkit.getPlayer(cp.getUniqueId()).sendMessage(prefix+"§9Voici les joueurs se trouvant dans un rayon de 100 blocs : " + string);;
  90.                             }
  91.                            
  92.                         }
  93.                        
  94.                         if(main.contamined != null && main.isContaminingEnded == true) {
  95.                             main.contamined.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 5*60*20, 0 , false, false));
  96.                             main.contamined.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 5*60*20, 0 , false, false));
  97.                         }
  98.                     }              
  99.                     if(minutes % 10 == 0 && seconds == 0) {
  100.                         main.numberMsgSisters.clear();
  101.                         Main.hasSee = false;
  102.                         for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  103.                             if(cp.getRole().equals(Roles.ASSASSIN)) {
  104.                                 Bukkit.getPlayer(cp.getUniqueId()).addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 5*60*20, 0 , false, false));
  105.                             }else if(cp.getRole().equals(Roles.OURS)) {
  106.                                 Player p = Bukkit.getPlayer(cp.getUniqueId());
  107.                                 List<Entity> list = p.getNearbyEntities(ConfigManager.mo_distance, ConfigManager.mo_distance, ConfigManager.mo_distance);
  108.                                 for(Entity e : list) {
  109.                                     if(CustomPlayer.playersAlive.containsKey(e.getUniqueId())) {
  110.                                         if(CustomPlayer.playersAlive.get(e.getUniqueId()).getCamp().equals(Camp.LG)) {
  111.                                             Bukkit.broadcastMessage(prefix+"§6Grrrrrrrrrrrr !");
  112.                                         }
  113.                                     }
  114.                                 }
  115.                             }
  116.                         }
  117.                     }
  118.                    
  119.                     if(minutes == ConfigManager.wbShrinkTime) {
  120.                         wbShrink(main);
  121.                     }
  122.                     for(Player p : Bukkit.getOnlinePlayers()) {
  123.                         Title.sendHeaderFooter(p, "§9§l" + ConfigManager.gameName + " §4|  " + "§9§lHost by §6" + ConfigManager.hostName, "§6/lg help, /helpop, §9 --§5 " + p.getStatistic(Statistic.PLAYER_KILLS) + " kills \n §bMade by Hokkaydo \n §bOriginal Plugin and idea by Lapin & TheGuill84");
  124.                     }
  125.  
  126.                     System.out.println(hours + " : " + minutes + " : " + seconds);
  127.                 }
  128.             },0L,20L);
  129.        
  130.     }
  131.     public void wbShrink(Main main) {
  132.         long time = ConfigManager.wbShrinkTime*60*20;
  133.         Bukkit.getWorld(ConfigManager.world).getWorldBorder().setSize(ConfigManager.wbFinalSize*2, time);
  134.     }
  135.     @Deprecated
  136.     public void timeChasseur(Main main, Player p) {
  137.         Bukkit.getScheduler().runTaskLater(main, new BukkitRunnable() {
  138.            
  139.             @Override
  140.             public void run() {
  141.                 p.setHealth(p.getMaxHealth());
  142.                
  143.             }
  144.         }, 20*60*10);
  145.        
  146.     }
  147.     BukkitTask timeToBeContaminated;
  148.     @SuppressWarnings("deprecation")
  149.     public void timeToBeContaminated(Main main, Player contaminer, Player contamined) {
  150.         timeToBeContaminated = Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  151.            
  152.             @Override
  153.             public void run() {
  154.                 if(contaminer.getLocation().distance(contamined.getLocation()) < ConfigManager.contaminatingDistance) {
  155.                     timeContaminating++;
  156.                 }
  157.                
  158.                 if(timeContaminating >= ConfigManager.contaminatingTime*60) {
  159.                     Bukkit.getScheduler().cancelTask(timeToBeContaminated.getTaskId());
  160.                     contamined.sendMessage(prefix+"§aTu as été contaminé par le Loup Gris, tu passes donc du côté des Loups-Garous");
  161.                     main.isContaminingEnded = true;
  162.                     cw.checkWin(main);
  163.                 }
  164.             }
  165.         }, 0L, 20L);
  166.     }
  167.     BukkitTask timeToBeUnsalvated;
  168.     @SuppressWarnings("deprecation")
  169.     public void timeToBeUnsalvated(Main main, int number) {
  170.         timeToBeUnsalvated = Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  171.             @Override
  172.             public void run() {
  173.                 if(number == 1) {
  174.                     if(timeSalva1 == 600) {
  175.                         main.salva1 = null;
  176.                         Bukkit.getScheduler().cancelTask(timeToBeUnsalvated.getTaskId());
  177.                     }else {
  178.                         timeSalva1++;
  179.                     }
  180.                 }else {
  181.                     if(timeSalva2 == 600) {
  182.                         main.salva2 = null;
  183.                         Bukkit.getScheduler().cancelTask(timeToBeUnsalvated.getTaskId());
  184.                     }else {
  185.                         timeSalva2++;
  186.                     }
  187.                 }
  188.             }
  189.         }, 0L, 20L);
  190.     }
  191.    
  192.     @Deprecated
  193.     public void sbCenterTimer(Main main) {
  194.         Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  195.            
  196.             @Override
  197.             public void run() {
  198.                 for(Player p : Bukkit.getOnlinePlayers()) {
  199.                     long centerDistance = Math.round(p.getLocation().distance(new Location(p.getWorld(), 0, 60, 0)));
  200.                     if(centerDistance < 300) {
  201.                         Title.sendActionBar(p, "§5Distance au centre §6➸ Entre 0 et 300 blocs");
  202.                         }
  203.                         else if(centerDistance > 300 && centerDistance < 600) {
  204.                             Title.sendActionBar(p, "§5Distance au centre §e➟ Entre 300 et 600 blocs");
  205.                            
  206.                         }
  207.                         else if(centerDistance > 600 && centerDistance < 900) {
  208.                             Title.sendActionBar(p, "§5Distance au centre §a➸ Entre 600 et 900 blocs");
  209.                         }
  210.                         else {
  211.                             Title.sendActionBar(p, "§5Distance au centre §3➸ Entre 900 et 1200 blocs");
  212.                         }
  213.                 }
  214.                 main.getServer().getWorld(ConfigManager.world).setTime(Bukkit.getWorld(ConfigManager.world).getTime() + 20);
  215.                
  216.             }
  217.         }, 0L, 20L);
  218.     }
  219.    
  220.     int compteur1 = 0;
  221.     BukkitTask boards1;
  222.     @SuppressWarnings("deprecation")
  223.     public void test1(Main main) {
  224.         boards1 = Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  225.            
  226.             @Override
  227.             public void run() {
  228.                 System.out.println(hours + " : " + minutes + " : " + seconds + " alslalslasl");
  229.                 compteur1++;
  230.                 for(ScoreboardSign sign : Main.boards.values()) {
  231.                     sign.create();
  232.                     if(hours>0) {
  233.                         if(minutes>9) {
  234.                             if(seconds>9) {
  235.                                 sign.setLine(4, "§3§lTimer:§r§6 " + hours + ":" + minutes + ":" + seconds);
  236.                             }else {
  237.                                 sign.setLine(4, "§3§lTimer:§r§6 " +  hours + ":" + minutes + ":0" + seconds);
  238.                             }
  239.                         }else {
  240.                             if(seconds>9) {
  241.                                 sign.setLine(4,"§3§lTimer:§r§6 " +  hours + ":0" + minutes + ":" + seconds);
  242.                             }else {
  243.                                 sign.setLine(4,"§3§lTimer:§r§6 " +  hours + ":0" + minutes + ":0" + seconds);
  244.                             }
  245.                         }
  246.                     }else {
  247.                         if(minutes>9) {
  248.                             if(seconds>9) {
  249.                                 sign.setLine(4,"§3§lTimer:§r§6 " +  minutes + ":" + seconds);
  250.                             }else {
  251.                                 sign.setLine(4,"§3§lTimer:§r§6 " +  minutes + ":0" + seconds);
  252.                             }
  253.                         }else {
  254.                             if(seconds>9) {
  255.                                 sign.setLine(4, "§3§lTimer:§r§6 " + "0" + minutes + ":" + seconds);
  256.                             }else {
  257.                                 sign.setLine(4,"§3§lTimer:§r§6 " +  "0" + minutes + ":0" + seconds);
  258.                             }
  259.                         }
  260.                     }
  261.                     System.out.println(sign.getLine(4));
  262.                     int numberOfAliveLg = 0;
  263.                     for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  264.                         if(cp.getRole().equals(Roles.LG) || cp.getRole().equals(Roles.IPDL) || cp.getRole().equals(Roles.LGB) || cp.getRole().equals(Roles.LGGRIS)) {
  265.                             numberOfAliveLg++;
  266.                         }
  267.                     }
  268.                     int players = 0;
  269.                     for(Player p : Bukkit.getOnlinePlayers()) {
  270.                         if(p.getGameMode().equals(GameMode.SURVIVAL)) {
  271.                             players++;
  272.                         }
  273.                     }
  274.                     sign.setObjectiveName(ChatColor.BOLD + "" + ChatColor.RED + "Elaxia" + ChatColor.YELLOW + "UHC");
  275.                     sign.setLine(0, "§3§l---------Host---------");
  276.                     sign.setLine(1, "§3Host : §6" + ConfigManager.hostName);
  277.                     sign.setLine(2, "§3Mode de jeu : §cLoup-Garou UHC");
  278.                     sign.setLine(3, "§l§3---------Time---------");
  279.                     sign.setLine(5, "§3Rôles : §6" + (ConfigManager.revealRoles - totalMinutes > 0 ? ConfigManager.revealRoles - totalMinutes + "m" : "§aDone !"));
  280.                     sign.setLine(6, "§3Bordure : §6"  + (ConfigManager.wbWhenShrink - totalMinutes > 0 ? ConfigManager.wbWhenShrink  - totalMinutes + "m" : "§aDone !"));
  281.                     sign.setLine(7, "§r§3§l------Info Joueurs------");
  282.                     sign.setLine(8, "§3Joueurs : §a" + (hours>0 || totalMinutes >= ConfigManager.revealRoles ? CustomPlayer.playersAlive.size() : players));
  283.                     sign.setLine(9, "§3Groupe : §a" + (hours>0 || totalMinutes >= ConfigManager.revealRoles ? numberOfAliveLg : players) + "§3 joueurs");
  284.                     sign.setLine(10, "§3§r§l§3------Info Bordure------");
  285.                     sign.setLine(11, "§3Distance : §6"  + String.valueOf(Math.round(Bukkit.getWorld(ConfigManager.world).getWorldBorder().getSize()/2)));
  286.                     sign.setLine(12, "§a" + compteur1);
  287.                     sign.setLine(13, "§e           play.elaxia.com           ");
  288.                 }
  289.                 /*if(compteur1 == 11) {
  290.                     compteur1 = 0;
  291.                     if(totalMinutes >= ConfigManager.revealRoles) {
  292.                         test2(main);
  293.                     Bukkit.getScheduler().cancelTask(boards1.getTaskId());
  294.                     }
  295.                 }*/
  296.                
  297.             }
  298.         }, 0L, 20L);
  299.     }
  300.     int compteur2 = 0;
  301.     BukkitTask boards2;
  302.     @SuppressWarnings("deprecation")
  303.     public void test2(Main main) {
  304.         boards2 = Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  305.             int numberRoles = rolesCompo1.size() + rolesCompo2.size();
  306.             Set<Player> test = Main.compo1.keySet();
  307.             @Override
  308.             public void run() {
  309.                 if(compteur2 == 0) {
  310.                     for(ScoreboardSign sign : Main.boards.values()) {
  311.                         sign.destroy();
  312.                     }
  313.                 }
  314.                 compteur2++;
  315.                 for(CustomScoreboard sign : Main.compo1.values()) {
  316.                     for(Player p : test) {
  317.                         if(Main.compo1.get(p).equals(sign)) {                  
  318.                                 int nombreRole = 0;
  319.                                 for(Roles role : rolesCompo1) {
  320.                                     nombreRole = 0;
  321.                                     for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  322.                                         if(cp.getRole().equals(role)) {
  323.                                             nombreRole++;
  324.                                         }
  325.                                     }
  326.                                     sign.getScoreboard().resetScores(role.getName());
  327.                                     if(nombreRole == 0 && Chrono.activeRoles.contains(role)) {
  328.                                         sign.setLine(-1, "§7§o§m" + role.getName());
  329.                                     }else {
  330.                                         sign.setLine(nombreRole, role.getName());
  331.                                     }
  332.                                 }          
  333.                             sign.getScoreboard().getObjective("d").setDisplaySlot(DisplaySlot.SIDEBAR);
  334.                             p.setScoreboard(sign.getScoreboard());
  335.  
  336.                         }
  337.                     }
  338.                 }
  339.                
  340.                 if(compteur2 == 11) {
  341.                     compteur2 = 0;
  342.                     if(numberRoles > 9) {
  343.                         test3(main);
  344.                     }else {
  345.                         for(ScoreboardSign sign : Main.boards.values()) {
  346.                             sign.destroy();
  347.                         }
  348.                         test1(main);
  349.                     }
  350.                     Bukkit.getScheduler().cancelTask(boards2.getTaskId());
  351.                 }
  352.                
  353.             }
  354.         }, 0L, 20L);
  355.     }
  356.     int pf = 1;
  357.     BukkitTask boards3;
  358.     int compteur3 = 0;
  359.     @SuppressWarnings("deprecation")
  360.     public void test3(Main main) {
  361.         boards3 = Bukkit.getScheduler().runTaskTimer(main, new BukkitRunnable() {
  362.             Set<Player> test2 = Main.compo2.keySet();
  363.             @Override
  364.             public void run() {
  365.                
  366.                 compteur3++;
  367.                
  368.                 for(Player p : test2) {
  369.                 for(CustomScoreboard sign : Main.compo2.values()) {
  370.                    
  371.                     int nombreRole = 0;
  372.                     for(Roles role : rolesCompo2) {
  373.                         nombreRole = 0;
  374.                         for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  375.                             if(cp.getRole().equals(role)) {
  376.                                 nombreRole++;
  377.                             }
  378.                         }
  379.                         if(nombreRole == 0 && Chrono.activeRoles.contains(role)) {
  380.                             sign.setLine(-1, "§7§o§m" + role.getName());
  381.                         }else {
  382.                             sign.setLine(nombreRole, role.getName());
  383.                         }
  384.                     }
  385.                
  386.                
  387.                 sign.getScoreboard().getObjective("d").setDisplaySlot(DisplaySlot.SIDEBAR);
  388.                 p.setScoreboard(sign.getScoreboard());
  389.                     //Dans le ConfigManager, cr�er 2 ArrayList qui contiennent les r�les et utiliser la m�thode refresh(); pour actualiser les scoreboards
  390.                 }
  391.             }
  392.                 if(compteur3 == 11) {
  393.                     compteur3 = 0;
  394.                     test1(main);
  395.                    
  396.                     Bukkit.getScheduler().cancelTask(boards3.getTaskId());
  397.                 }
  398.                
  399.             }
  400.         }, 0L, 20L);
  401.     }
  402.    
  403.     @SuppressWarnings("deprecation")
  404.     public static void revealLG(Main main) {
  405.         Bukkit.getScheduler().runTaskLater(main, new BukkitRunnable() {
  406.             @Override
  407.             public void run() {
  408.                         StringBuilder lgList = new StringBuilder();
  409.                         for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  410.                             if(cp.getCamp().equals(Camp.LG)) {
  411.                                 lgList.append(Bukkit.getPlayer(cp.getUniqueId()).getName() + " ");
  412.                             }
  413.                         }  
  414.                         for(CustomPlayer cp : CustomPlayer.playersAlive.values()) {
  415.                             if(cp.getCamp().equals(Camp.LG)) {
  416.                                 Bukkit.getPlayer(cp.getUniqueId()).sendMessage(main.prefix + "§4 Les pseudos des Loups-Garous sont : \n§c" + lgList);
  417.                             }
  418.                         }
  419.             }
  420.         }, 20*3L);
  421.     }
  422.    
  423.     Integer rezTime;
  424.     @Deprecated
  425.     public void startRezTime(Main main, Player damaged) {
  426.         rezTime = Bukkit.getScheduler().scheduleSyncRepeatingTask(main, new BukkitRunnable() {
  427.             Integer rezSeconds = 6;
  428.             @Override
  429.             public void run() {
  430.                 System.out.println("run");
  431.                  System.out.println(CustomPlayer.playersAlive);
  432.                 if(!main.RezIpdl && !main.RezSoso) {
  433.                     rezSeconds --;
  434.                 }else {
  435.                     Bukkit.getScheduler().cancelTask(rezTime);
  436.                 }
  437.                
  438.                 if(rezSeconds == 0) {
  439.                     damaged.teleport(main.lastDeathLoc.get(damaged));
  440.                     main.lastDeathLoc.remove(damaged);
  441.                     damaged.setHealth(0);
  442.                     Bukkit.getScheduler().cancelTask(rezTime);
  443.                 }
  444.                
  445.             }
  446.         }, 0L, 20L);
  447.        
  448.     }
  449. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement