Advertisement
Guest User

rush

a guest
Aug 30th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.01 KB | None | 0 0
  1. package fr.paragoumba.rush;
  2.  
  3. import fr.paragoumba.rush.Arena.Arena;
  4. import fr.paragoumba.rush.Arena.ArenaInstance;
  5. import fr.paragoumba.rush.Commands.*;
  6. import fr.paragoumba.rush.Listeners.*;
  7. import org.bukkit.*;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.plugin.PluginManager;
  10. import org.bukkit.plugin.java.JavaPlugin;
  11. import org.bukkit.scoreboard.*;
  12.  
  13. import java.io.File;
  14.  
  15. /**
  16.  * Created by parag on 29/07/2016.
  17.  */
  18.  
  19. public class rush extends JavaPlugin {
  20.     public static rush plugin;
  21.  
  22.     int task;
  23.     int seconds = 0;
  24.     int minutes = 0;
  25.  
  26.     Arena arena;
  27.  
  28.     @Override
  29.     public void onEnable() {
  30.  
  31.         PluginManager pm = this.getServer().getPluginManager();
  32.         plugin = this;
  33.         arena = ArenaInstance.getInstance().getArena();
  34.  
  35.         if (!(getServer().getWorld("world").getWorldFolder().exists())) {
  36.             WorldCreator w = new WorldCreator("world");
  37.             w.environment(World.Environment.NORMAL);
  38.             w.type(WorldType.FLAT);
  39.             w.generatorSettings("3;minecraft:air;127;decoration;2;");
  40.             w.createWorld();
  41.         }
  42.  
  43.         //Events
  44.         pm.registerEvents(new onPlayerJoin(this), this);
  45.         pm.registerEvents(new onPlayerQuit(this), this);
  46.  
  47.         pm.registerEvents(new onPlayerDeath(this), this);
  48.  
  49.         pm.registerEvents(new onPlayerInteract(this), this);
  50.         pm.registerEvents(new onPlayerInteractAtInventory(this), this);
  51.  
  52.         pm.registerEvents(new onRain(this), this);
  53.  
  54.         //Commands
  55.         getCommand("game").setExecutor(new gameCommand(this));
  56.         getCommand("team").setExecutor(new teamCommand(this));
  57.  
  58.         File config = new File(getDataFolder(), "config.yml");
  59.  
  60.         try {
  61.  
  62.             if (!config.exists()) {
  63.                 getConfig().options().copyDefaults(true);
  64.                 saveConfig();
  65.                 saveDefaultConfig();
  66.             }
  67.         } catch (Exception e) {
  68.             e.printStackTrace();
  69.         }
  70.  
  71.         arena.setDefault();
  72.     }
  73.  
  74.     @Override
  75.     public void onDisable() {
  76.     }
  77.  
  78.     public void setScoreboard(Player player, boolean timer){
  79.  
  80.         ScoreboardManager manager = Bukkit.getScoreboardManager();
  81.         Scoreboard board = manager.getNewScoreboard();
  82.         Objective objective = board.registerNewObjective("scoreboard", "dummy");
  83.         objective.setDisplayName(ChatColor.BOLD + "" +ChatColor.YELLOW + "Rush");
  84.         objective.setDisplaySlot(DisplaySlot.SIDEBAR);
  85.         Score blank = objective.getScore(ChatColor.GOLD + "");
  86.         Score players = objective.getScore("Joueur(s) : " + arena.getNumberOfPlayers());
  87.         Score playersKilled = objective.getScore("Joueur(s) tué(s) : " + arena.getKills(player));
  88.         Score blank1 = objective.getScore(ChatColor.AQUA + " ");
  89.         Score time;
  90.         if (timer){
  91.             time = objective.getScore("Temps de jeu : " + minutes + ":" + seconds);
  92.         } else {
  93.             time = objective.getScore("En attente de joueurs ...");
  94.         }
  95.         Score blank2 = objective.getScore(ChatColor.BLACK + "  ");
  96.         Score ip = objective.getScore(ChatColor.GOLD + "    play.elygames.fr");
  97.         blank.setScore(6);
  98.         players.setScore(5);
  99.         playersKilled.setScore(4);
  100.         blank1.setScore(3);
  101.         time.setScore(2);
  102.         blank2.setScore(1);
  103.         ip.setScore(0);
  104.         player.setScoreboard(board);
  105.     }
  106.  
  107.     public void startCountdown(){
  108.         task = Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
  109.             @Override
  110.             public void run() {
  111.                 seconds++;
  112.                 if (seconds == 60){
  113.                     seconds = 0;
  114.                     minutes++;
  115.                 }
  116.                 for (Player player : getServer().getOnlinePlayers()){
  117.                     setScoreboard(player, true);
  118.                 }
  119.             }
  120.         }, 20, 20);
  121.     }
  122.  
  123.     @SuppressWarnings("deprecation")
  124.     public void launchGame(){
  125.  
  126.         for (Player player : getServer().getOnlinePlayers()){
  127.             if (player.getGameMode() == GameMode.ADVENTURE){
  128.                 player.getInventory().clear();
  129.                 if (arena.getTeam(player).equalsIgnoreCase("")){
  130.                     player.setGameMode(GameMode.SPECTATOR);
  131.                     player.sendMessage(ChatColor.YELLOW + "Vous avez été mis en spectateur.");
  132.                 } else {
  133.                     player.teleport(arena.getSpawn(Integer.valueOf(arena.getTeam(player))));
  134.                     player.setGameMode(GameMode.SURVIVAL);
  135.                 }
  136.  
  137.  
  138.                 player.sendTitle(ChatColor.YELLOW + "La partie commence !", ChatColor.YELLOW + "Vous êtes dans l'équipe ");
  139.             }
  140.         }
  141.         startCountdown();
  142.     }
  143.  
  144.     public void stopGame(){
  145.  
  146.         for (Player player : getServer().getOnlinePlayers()){
  147.             if (player.getGameMode() == GameMode.SURVIVAL){
  148.                 player.setGameMode(GameMode.SPECTATOR);
  149.                 setScoreboard(player, false);
  150.             }
  151.         }
  152.     }
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement