Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.bywox.uhcrun.events;
- import net.bywox.uhcrun.Main;
- import net.bywox.uhcrun.game.UHCGame;
- import net.bywox.uhcrun.game.UHCState;
- import org.bukkit.Bukkit;
- import org.bukkit.GameMode;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import java.util.UUID;
- public class UHCJoin implements Listener {
- static int task;
- static int timer = 30;
- @EventHandler
- public void join(PlayerJoinEvent e){
- //LORSQUE UN JOUEUR REJOIN LA GAME
- Player p = e.getPlayer();
- //SI LE JEU EST EN MODE ATTENTE
- if(UHCState.isState(UHCState.WAIT)){
- //ON RECUPERE LE JOUEUR QUI SOUHAITE REJOINDRE LE JEU
- //ON VERIFIE QUE LE JOUEUR N'EST PAS DANS LA LISTE
- if(Main.getInstance().playerInGame.contains(p.getUniqueId())){
- //SI IL N'EST PAS DANS LA LISTE, ON VA L'AJOUTER
- Main.getInstance().playerInGame.add(p.getUniqueId());
- //ON VA CHECK SI LE NOMBRE DE JOUEUR EST EGAL A 1
- if(Main.getInstance().playerInGame.size() == 1){
- //ON START LE CHRONOMETRE
- task = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getInstance(), new Runnable(){
- @Override
- public void run() {
- //ON ENLEVE 1 A CHAQUE SECONDE POUR QUE LE CHRONO PUISSENT BAISSER
- timer--;
- setLevel(timer);
- if(timer == 15){
- //LE JEU COMMENCE DANS 15 SEC
- for(UUID uuid : Main.getInstance().playerInGame){
- Player pl = Bukkit.getPlayer(uuid);
- pl.sendMessage("§e[§6UHCRun§e] §bLe jeu commence dans §a15 §bsecondes !");
- }
- }
- if(timer == 0){
- //ON ARRETE LE CHRONO
- Bukkit.getScheduler().cancelTask(task);
- //ON LANCE LA GAME
- UHCGame.start();
- }
- }
- },20,20);
- }
- }
- }else{
- p.setGameMode(GameMode.SPECTATOR);
- p.sendMessage("§e[§6UHCRun§e] §bLe jeu a commencé, vous êtes désormais un spectateur");
- }
- }
- //ON VA METTRE DES NIVEAUX DANS LA BARRE D'XP DES JOUEURS DE LA GAME EN FONCTION DU TIMER
- public void setLevel(int timer){
- //ON RECUP L'UUID DES JOUEURS DE LA GAME
- for(UUID uuid : Main.getInstance().playerInGame){
- Player pl = Bukkit.getPlayer(uuid);
- pl.setLevel(timer);
- }
- }
- @EventHandler
- public void quit(PlayerQuitEvent e){
- //ON RECUP LE JOUEUR QUI S'EST DECO
- Player p = e.getPlayer();
- Main.getInstance().playerInGame.remove(p.getUniqueId());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement