Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. package net.bywox.uhcrun.events;
  2.  
  3. import net.bywox.uhcrun.Main;
  4. import net.bywox.uhcrun.game.UHCGame;
  5. import net.bywox.uhcrun.game.UHCState;
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.GameMode;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.player.PlayerJoinEvent;
  12. import org.bukkit.event.player.PlayerQuitEvent;
  13.  
  14. import java.util.UUID;
  15.  
  16. public class UHCJoin implements Listener {
  17.  
  18. static int task;
  19. static int timer = 30;
  20.  
  21. @EventHandler
  22. public void join(PlayerJoinEvent e){
  23. //LORSQUE UN JOUEUR REJOIN LA GAME
  24. Player p = e.getPlayer();
  25.  
  26. //SI LE JEU EST EN MODE ATTENTE
  27. if(UHCState.isState(UHCState.WAIT)){
  28. //ON RECUPERE LE JOUEUR QUI SOUHAITE REJOINDRE LE JEU
  29.  
  30. //ON VERIFIE QUE LE JOUEUR N'EST PAS DANS LA LISTE
  31. if(Main.getInstance().playerInGame.contains(p.getUniqueId())){
  32.  
  33. //SI IL N'EST PAS DANS LA LISTE, ON VA L'AJOUTER
  34. Main.getInstance().playerInGame.add(p.getUniqueId());
  35.  
  36. //ON VA CHECK SI LE NOMBRE DE JOUEUR EST EGAL A 1
  37. if(Main.getInstance().playerInGame.size() == 1){
  38. //ON START LE CHRONOMETRE
  39.  
  40. task = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable(){
  41.  
  42. @Override
  43. public void run() {
  44.  
  45. //ON ENLEVE 1 A CHAQUE SECONDE POUR QUE LE CHRONO PUISSENT BAISSER
  46. timer--;
  47. setLevel(timer);
  48.  
  49. if(timer == 15){
  50. //LE JEU COMMENCE DANS 15 SEC
  51.  
  52. for(UUID uuid : Main.getInstance().playerInGame){
  53. Player pl = Bukkit.getPlayer(uuid);
  54. pl.sendMessage("§e[§6UHCRun§e] §bLe jeu commence dans §a15 §bsecondes !");
  55. }
  56.  
  57. }
  58.  
  59. if(timer == 0){
  60. //ON ARRETE LE CHRONO
  61. Bukkit.getScheduler().cancelTask(task);
  62. //ON LANCE LA GAME
  63. UHCGame.start();
  64. }
  65.  
  66. }
  67.  
  68.  
  69. },20,20);
  70.  
  71. }
  72.  
  73. }
  74. }else{
  75. p.setGameMode(GameMode.SPECTATOR);
  76. p.sendMessage("§e[§6UHCRun§e] §bLe jeu a commencé, vous êtes désormais un spectateur");
  77. }
  78.  
  79. }
  80.  
  81. //ON VA METTRE DES NIVEAUX DANS LA BARRE D'XP DES JOUEURS DE LA GAME EN FONCTION DU TIMER
  82. public void setLevel(int timer){
  83. //ON RECUP L'UUID DES JOUEURS DE LA GAME
  84. for(UUID uuid : Main.getInstance().playerInGame){
  85. Player pl = Bukkit.getPlayer(uuid);
  86. pl.setLevel(timer);
  87. }
  88. }
  89.  
  90.  
  91. @EventHandler
  92. public void quit(PlayerQuitEvent e){
  93.  
  94. //ON RECUP LE JOUEUR QUI S'EST DECO
  95. Player p = e.getPlayer();
  96.  
  97. Main.getInstance().playerInGame.remove(p.getUniqueId());
  98. }
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement