Advertisement
Guest User

Main class

a guest
Jun 15th, 2014
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.30 KB | None | 0 0
  1. package me.phantom64.teamdeathmatch;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import me.phantom64.teamdeathmatch.commands.CommandJoin;
  7. import me.phantom64.teamdeathmatch.commands.CommandKickAll;
  8. import me.phantom64.teamdeathmatch.commands.CommandLeave;
  9. import me.phantom64.teamdeathmatch.commands.CommandSetSpawn;
  10. import me.phantom64.teamdeathmatch.listeners.AsyncPlayerChat;
  11. import me.phantom64.teamdeathmatch.listeners.BlockListener;
  12. import me.phantom64.teamdeathmatch.listeners.EntityDamage;
  13. import me.phantom64.teamdeathmatch.listeners.EntityDamageByEntity;
  14. import me.phantom64.teamdeathmatch.listeners.FoodLevelChange;
  15. import me.phantom64.teamdeathmatch.listeners.InventoryClick;
  16. import me.phantom64.teamdeathmatch.listeners.PlayerDeath;
  17. import me.phantom64.teamdeathmatch.listeners.PlayerDropItem;
  18. import me.phantom64.teamdeathmatch.listeners.PlayerJoin;
  19. import me.phantom64.teamdeathmatch.listeners.PlayerQuit;
  20. import me.phantom64.teamdeathmatch.utils.GameManager;
  21. import me.phantom64.teamdeathmatch.utils.LocationHandler;
  22. import me.phantom64.teamdeathmatch.utils.TeamManager;
  23. import me.phantom64.teamdeathmatch.utils.TeamManager.Team;
  24.  
  25. import org.bukkit.Bukkit;
  26. import org.bukkit.ChatColor;
  27. import org.bukkit.command.Command;
  28. import org.bukkit.command.CommandSender;
  29. import org.bukkit.entity.Player;
  30. import org.bukkit.event.Listener;
  31. import org.bukkit.plugin.java.JavaPlugin;
  32.  
  33. /**
  34.  * Color symbol: §
  35.  * Red team color: §c
  36.  * Blue team color: §9
  37.  */
  38.  
  39. /**
  40.  * TO-DO:
  41.  *
  42.  */
  43.  
  44. public class TeamDeathMatch extends JavaPlugin {
  45.  
  46.     public static GameManager gameManager;
  47.     public static TeamManager teamManager;
  48.     public static LocationHandler locationHandler;
  49.  
  50.     public static GameManager getGameManager() {
  51.         return gameManager;
  52.     }
  53.  
  54.     public static TeamManager getTeamManager() {
  55.         return teamManager;
  56.     }
  57.  
  58.     public static LocationHandler getLocationHandler() {
  59.         return locationHandler;
  60.     }
  61.  
  62.     public static List<Player> red = new ArrayList<Player>();
  63.     public static List<Player> blue = new ArrayList<Player>();
  64.  
  65.     public static List<Player> getRed() {
  66.         return red;
  67.     }
  68.  
  69.     public static List<Player> getBlue() {
  70.         return blue;
  71.     }
  72.  
  73.     @Override
  74.     public void onEnable() {
  75.         saveConfig();
  76.         registerListeners(new PlayerDeath(), new PlayerJoin(),
  77.                 new PlayerQuit(), new AsyncPlayerChat(), new BlockListener(),
  78.                 new InventoryClick(), new PlayerDropItem(),
  79.                 new EntityDamageByEntity(), new EntityDamage(),
  80.                 new FoodLevelChange());
  81.         gameManager = new GameManager(this);
  82.         teamManager = new TeamManager(this);
  83.         locationHandler = new LocationHandler(this);
  84.     }
  85.  
  86.     private void registerListeners(Listener... listeners) {
  87.         for (Listener listener : listeners) {
  88.             getServer().getPluginManager().registerEvents(listener, this);
  89.             getLogger().info(
  90.                     "Event " + listener.getClass().getSimpleName()
  91.                             + " has been registered.");
  92.         }
  93.         getLogger().info("All events registered.");
  94.     }
  95.  
  96.     public static void addPlayersToTeamLists() {
  97.         red.clear();
  98.         blue.clear();
  99.         for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
  100.             if (TeamDeathMatch.getGameManager().isPlaying(pl)) {
  101.                 if (TeamDeathMatch.getTeamManager().getTeam(pl) == Team.RED) {
  102.                     red.add(pl);
  103.                 } else if (TeamDeathMatch.getTeamManager().getTeam(pl) == Team.BLUE) {
  104.                     blue.add(pl);
  105.                 }
  106.             }
  107.         }
  108.     }
  109.  
  110.     @Override
  111.     public boolean onCommand(CommandSender sender, Command cmd, String label,
  112.             String[] args) {
  113.  
  114.         if (label.equalsIgnoreCase("tdm")) {
  115.  
  116.             if (sender instanceof Player) {
  117.                 if (args.length == 0) {
  118.                     ((Player) sender)
  119.                             .sendMessage("§5TDM plugin made by §dPhantom_64§5! §5Available arguments: setspawn, join, leave");
  120.                 } else if (args[0].equalsIgnoreCase("setspawn")) {
  121.                     CommandSetSpawn.execute((Player) sender, args);
  122.                 } else if (args[0].equalsIgnoreCase("join")) {
  123.                     CommandJoin.execute(((Player) sender), args);
  124.                 } else if (args[0].equalsIgnoreCase("leave")) {
  125.                     CommandLeave.execute(((Player) sender), args);
  126.                 } else if (args[0].equalsIgnoreCase("kickall")) {
  127.                     CommandKickAll.execute(((Player)sender), args);
  128.                 } else {
  129.                     ((Player)sender).sendMessage("§dInvalid argument.");
  130.                 }
  131.             } else {
  132.                 sender.sendMessage(ChatColor.RED
  133.                         + "Only players can use this command.");
  134.             }
  135.  
  136.         }
  137.  
  138.         return true;
  139.  
  140.     }
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement