mrkirby153

Main

Jul 21st, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.22 KB | None | 0 0
  1. package me.mrkirby153.ThePlague;
  2.  
  3. import java.io.File;
  4. import java.util.ArrayList;
  5. import me.mrkirby153.ThePlague.Arena.TaskManagers.ClockTaskManager;
  6. import me.mrkirby153.ThePlague.Arena.TaskManagers.InfectedPlayerManager;
  7. import me.mrkirby153.ThePlague.Arena.TaskManagers.PlagueTimer;
  8. import me.mrkirby153.ThePlague.lib.Chat;
  9. import me.mrkirby153.ThePlague.lib.InventoryManager;
  10. import me.mrkirby153.ThePlague.lib.PermissionHelper;
  11. import me.mrkirby153.ThePlague.listeners.GameListener;
  12. import org.bukkit.Bukkit;
  13. import org.bukkit.ChatColor;
  14. import org.bukkit.GameMode;
  15. import org.bukkit.Location;
  16. import org.bukkit.World;
  17. import org.bukkit.command.Command;
  18. import org.bukkit.command.CommandSender;
  19. import org.bukkit.configuration.file.FileConfiguration;
  20. import org.bukkit.entity.Player;
  21. import org.bukkit.plugin.PluginDescriptionFile;
  22. import org.bukkit.plugin.java.JavaPlugin;
  23.  
  24. public class ThePlague extends JavaPlugin{
  25.     //The instance of the plugin
  26.     private static ThePlague instance = new ThePlague();
  27.     //Game Specific variables
  28.     public static ArrayList<String> ingamePlayers = new ArrayList();
  29.     public static ArrayList<String> infectedPlayers = new ArrayList();
  30.     public static ArrayList<String> deadPlayers = new ArrayList();
  31.     public static boolean gameRunning = false;
  32.     public static int respawnX;
  33.     public static int respawnY;
  34.     public static int respawnZ;
  35.     public static float respawnPitch;
  36.     public static float respawnYaw;
  37.     public static World respawnWorld;
  38.     public static Location respawnLocation;
  39.    
  40.     private  int deadX;
  41.     private int deadY;
  42.     private int deadZ;
  43.     private float deadPitch;
  44.     private float deadYaw;
  45.     private World deadWorld;
  46.     private Location deadLocation;
  47.    
  48.     private float outX;
  49.     private float outY;
  50.     private float outZ;
  51.     private float outPitch;
  52.     private float outYaw;
  53.     private World outWorld;
  54.     private Location outLocation;
  55.     //System Variables
  56.     private FileConfiguration config = null;
  57.     private File configFile = null;
  58.     private PluginDescriptionFile pdfFile = this.getDescription();
  59.     private InventoryManager inventoryManager = new InventoryManager();
  60.    
  61.    
  62.    
  63.     @Override
  64.     public void onEnable() {
  65.         new GameListener(this);
  66.         this.saveDefaultConfig();
  67.         // this.reloadCustomConfig();
  68.         respawnLocation = new Location(respawnWorld, (double)respawnX, (double)respawnY, (double)respawnZ,respawnPitch, respawnYaw);
  69.         deadLocation = new Location(deadWorld, (double) deadX, (double) deadY, (double) deadZ, deadPitch, deadYaw);
  70.         outLocation = new Location(outWorld, outX, outY, outZ, outPitch, outYaw);
  71.        
  72.        
  73.     }
  74.    
  75.     @Override
  76.     public void onDisable(){
  77.         Chat.sendChatToConsole("Saving config...");
  78.         this.saveModifyedConfig();
  79.     }
  80.    
  81.     public static ThePlague getInstance(){
  82.         return instance;
  83.     }
  84.    
  85.     @Override
  86.     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  87.         if(label.equalsIgnoreCase("ThePlague")){
  88.             Player player;
  89.             if(args.length == 1){
  90.                 if(args[0].equalsIgnoreCase("stats")){
  91.                     if(sender instanceof Player){
  92.                         player = (Player) sender;
  93.                         if(PermissionHelper.checkPermission(player, "ThePlague.user.stats")){
  94.                             this.displayStats(player);
  95.                             return true;
  96.                         }else{
  97.                             sender.sendMessage(Chat.permissionError());
  98.                             return true;
  99.                         }
  100.                     }else{
  101.                         this.displayStats(sender);
  102.                         return true;
  103.                     }
  104.                 }else
  105.                     if(args[0].equalsIgnoreCase("help")){
  106.                         this.displayHelp(sender);
  107.                         return true;
  108.                     }else
  109.                         if(args[0].equalsIgnoreCase("join")){
  110.                             if(sender instanceof Player){
  111.                                 player = (Player) sender;
  112.                                 if(PermissionHelper.checkPermission(player, "ThePlague.users.join")){
  113.                                     if(ingamePlayers.size() < 24){
  114.                                         inventoryManager.saveInventory(player);
  115.                                         Chat.sendChatToPlayer(player, "Joining arena...");
  116.                                         ingamePlayers.add(sender.getName());
  117.                                         player.setGameMode(GameMode.ADVENTURE);
  118.                                         player.getInventory().clear();
  119.                                         player.teleport(respawnLocation);
  120.                                         return true;
  121.                                     }else{
  122.                                         Chat.sendChatToPlayer(player, "Unable to join arena as there are 24 players in the arena");
  123.                                         Chat.sendChatToPlayer(player, "Purchase VIP at ");
  124.                                     }
  125.                                 }else{
  126.                                     sender.sendMessage(Chat.permissionError());
  127.                                     return true;
  128.                                 }
  129.                             }else{
  130.                                 sender.sendMessage(Chat.commandError("You MUST be a player to preform this command"));
  131.                                 return true;
  132.                             }
  133.                         }
  134.                 if(args[0].equalsIgnoreCase("leave")){
  135.                     if(sender instanceof Player){
  136.                         player =(Player) sender;
  137.                         if(PermissionHelper.checkPermission(player, "ThePlague.users.leave")){
  138.                             if(ingamePlayers.contains(player.getName())){
  139.                                 Chat.sendChatToPlayer(player, "Leaving arena...");
  140.                                 inventoryManager.loadInventory(player);
  141.                                 ingamePlayers.remove(sender.getName());
  142.                                 player.setGameMode(GameMode.SURVIVAL);
  143.                                 player.getInventory().clear();
  144.                                 player.teleport(outLocation);
  145.                                 return true;
  146.                             }else{
  147.                                 Chat.sendChatToPlayer(player, "You are not in the arena!");
  148.                             }
  149.                         }else{
  150.                             sender.sendMessage(Chat.permissionError());
  151.                             return true;
  152.                         }
  153.                     }else{
  154.                         sender.sendMessage(Chat.commandError("You MUST be a player to preform this command!"));
  155.                         return true;
  156.                     }
  157.                 }
  158.                 if(args[0].equalsIgnoreCase("start")){
  159.                     if(ingamePlayers.size() >= 1){
  160.                         if(sender instanceof Player){
  161.                             Player plyr = (Player) sender;
  162.                             if(PermissionHelper.checkPermission(plyr, "ThePlague.admin.start")){
  163.                                 ClockTaskManager clockTaskManager = new ClockTaskManager(this);
  164.                                 InfectedPlayerManager infectedPlayerManager = new InfectedPlayerManager(this);
  165.                                 PlagueTimer plagueTimer = new PlagueTimer(this);
  166.                                 Chat.sendChatToAll(ChatColor.AQUA + plyr.getName() + " has started a new ThePlague game! Do /theplague join to get in on the action!");
  167.                                 gameRunning = true;
  168.                                 return true;
  169.                             }else{
  170.                                 plyr.sendMessage(Chat.permissionError());
  171.                             }
  172.                         }else{
  173.                             ClockTaskManager clockTaskManager = new ClockTaskManager(this);
  174.                             InfectedPlayerManager infectedPlayerManager = new InfectedPlayerManager(this);
  175.                             PlagueTimer plagueTimer = new PlagueTimer(this);
  176.                             Chat.sendChatToAll(ChatColor.AQUA + "CONSOLE has started a new ThePlague game! Do /theplague to get in on the action!");
  177.                             gameRunning = true;
  178.                             return true;
  179.                         }
  180.                     }else{
  181.                         sender.sendMessage(ChatColor.DARK_PURPLE + "[The Plague] " + ChatColor.WHITE + "No players are in the arena!");
  182.                     }
  183.                 }
  184.                 if(args[0].equalsIgnoreCase("reload")){
  185.                     this.reloadCustomConfig();
  186.                     sender.sendMessage(ChatColor.DARK_PURPLE + "[The Plague] " + ChatColor.WHITE +"Configuration file reloaded!");
  187.                     return true;
  188.                 }
  189.                 if(args[0].equalsIgnoreCase("set")){
  190.                     sender.sendMessage(ChatColor.GREEN + "Commands:");
  191.                     Chat.commandHelp(sender, "ThePlague set respawn", "Sets the respawn point based on YOUR Coordinates and direction");
  192.                     Chat.commandHelp(sender, "ThePlague set deathRespawn", "Sets the place where the dead respawn at");
  193.                     Chat.commandHelp(sender, "ThePlague set exit", "Sets the place where the players are teleported after the game or when they leave the game");
  194.                 }
  195.                
  196.             }
  197.             if(args.length == 2){
  198.                 if(args[0].equalsIgnoreCase("set")){
  199.                     if(args[1].equalsIgnoreCase("respawn")){
  200.                         if(sender instanceof Player){
  201.                             Player plyer = (Player) sender;
  202.                             if(PermissionHelper.checkPermission(plyer, "ThePlague.admin.setSpawn")){
  203.                                 Chat.sendChatToPlayer(plyer, "Setting respanw point...");
  204.                                 Location var1 = plyer.getLocation();
  205.                                 respawnX = var1.getBlockX();
  206.                                 respawnY = var1.getBlockY();
  207.                                 respawnZ = var1.getBlockZ();
  208.                                 respawnPitch = var1.getPitch();
  209.                                 respawnYaw = var1.getYaw();
  210.                                 respawnWorld = var1.getWorld();
  211.                                
  212.                                 System.out.println(respawnX +":"+respawnY+":"+respawnZ+":"+respawnPitch+":"+respawnYaw+":"+respawnWorld);
  213.                                 this.saveModifyedConfig();
  214.                             }else{
  215.                                 plyer.sendMessage(Chat.permissionError());
  216.                             }
  217.                         }else{
  218.                             Chat.sendChatToConsole("You MUST be a player to preform this command!");
  219.                             return true;
  220.                         }
  221.                     }
  222.                     if(args[1].equalsIgnoreCase("deathRespawn")){
  223.                         if(sender instanceof Player){
  224.                             Player plyr = (Player) sender;
  225.                             if(PermissionHelper.checkPermission(plyr, "ThePlague.admin.setSpawn")){
  226.                                 Chat.sendChatToPlayer(plyr, "Setting respawn point for dead...");
  227.                                 Location var1 = plyr.getLocation();
  228.                                 deadX = var1.getBlockX();
  229.                                 deadY = var1.getBlockX();
  230.                                 deadZ = var1.getBlockZ();
  231.                                 deadPitch = var1.getPitch();
  232.                                 deadYaw = var1.getYaw();
  233.                                 deadWorld = var1.getWorld();
  234.                                 this.saveModifyedConfig();
  235.                             }else{
  236.                                 plyr.sendMessage(Chat.permissionError());
  237.                             }
  238.                         }else{
  239.                             Chat.sendChatToConsole("You MUST be a player to preform this command!");
  240.                            
  241.                         }
  242.                         return true;
  243.                     }
  244.                     if(args[1].equalsIgnoreCase("exit")){
  245.                         if(sender instanceof Player){
  246.                             Player plyr = (Player) sender;
  247.                             if(PermissionHelper.checkPermission(plyr, "ThePlague.admin.setSpawn")){
  248.                                 Chat.sendChatToPlayer(plyr, "Setting exit point...");
  249.                                 Location var1 = plyr.getLocation();
  250.                                 outX = var1.getBlockX();
  251.                                 outY = var1.getBlockY();
  252.                                 outZ = var1.getBlockZ();
  253.                                 outPitch = var1.getPitch();
  254.                                 outYaw = var1.getYaw();
  255.                                 outWorld = var1.getWorld();
  256.                                 this.saveModifyedConfig(); return true;
  257.                             }else
  258.                                 plyr.sendMessage(Chat.permissionError());
  259.                         }else{
  260.                             Chat.sendChatToConsole("You MUST be a player to preform this comand!");
  261.                         }
  262.                         return true;
  263.                     }
  264.                 }
  265.             }
  266.         }
  267.         return false;
  268.     }
  269.    
  270.    
  271.     private void displayHelp(CommandSender sender){
  272.         sender.sendMessage(ChatColor.GREEN + "The Plague help");
  273.         sender.sendMessage(ChatColor.GOLD + "Commands:");
  274.         Chat.commandHelp(sender, "ThePlague join", "Joins the game");
  275.         Chat.commandHelp(sender, "ThePlague leave", "Leaves the game");
  276.         Chat.commandHelp(sender, "ThePlague stats", "Shows the statistics of the current game");
  277.         Chat.commandHelp(sender, "ThePlague set", "Shows Arena Setup commands");
  278.     }
  279.    
  280.     private void displayStats(CommandSender sender) {
  281.         sender.sendMessage(ChatColor.GOLD + "----The Plague Statitstics----");
  282.         if(this.gameRunning){
  283.             sender.sendMessage(ChatColor.AQUA + "Game Running: " + ChatColor.GREEN + "Yes");
  284.             sender.sendMessage(ChatColor.AQUA + "Players ingame: " + ChatColor.GOLD + ingamePlayers.size() + "/24");
  285.             sender.sendMessage(ChatColor.AQUA + "Players infected: " + ChatColor.GOLD + infectedPlayers.size() + "/24");
  286.             sender.sendMessage(ChatColor.AQUA + "Players dead: " + ChatColor.GOLD + deadPlayers.size());
  287.             sender.sendMessage(ChatColor.AQUA + "Players left: " + (ingamePlayers.size() - infectedPlayers.size()));
  288.             sender.sendMessage(ChatColor.GOLD + "==============================");
  289.         }else{
  290.             sender.sendMessage(ChatColor.RED + "There is no game running!");
  291.             sender.sendMessage(ChatColor.GOLD + "==========================");
  292.         }
  293.     }
  294.    
  295.     private void saveModifyedConfig(){
  296.         //        Chat.sendChatToConsole("Saving config...");
  297.         getConfig().set("respawn.x", respawnX);
  298.         getConfig().set("respawn.y", respawnY);
  299.         getConfig().set("respawn.z", respawnZ);
  300.         getConfig().set("respawn.pitch", respawnPitch);
  301.         getConfig().set("respawn.yaw", respawnYaw);
  302.         getConfig().set("respawn.worldName", respawnWorld);
  303.        
  304.         getConfig().set("dead.x", deadX);
  305.         getConfig().set("dead.y", deadY);
  306.         getConfig().set("dead.z", deadZ);
  307.         getConfig().set("dead.pitch", deadPitch);
  308.         getConfig().set("dead.yaw", deadYaw);
  309.         getConfig().set("dead.worldname", deadWorld);
  310.        
  311.         getConfig().set("out.x", outX);
  312.         getConfig().set("out.y", outY);
  313.         getConfig().set("out.z", outZ);
  314.         getConfig().set("out.pitch", outPitch);
  315.         getConfig().set("out.yaw", outYaw);
  316.         getConfig().set("out.worldName", outWorld);
  317.     }
  318.    
  319.     private void reloadCustomConfig(){
  320.         respawnX = getConfig().getInt("respawn.x");
  321.         respawnY = getConfig().getInt("respawn.y");
  322.         respawnZ = getConfig().getInt("respawn.z");
  323.         respawnPitch = getConfig().getInt("respawn.pitch");
  324.         respawnYaw = getConfig().getInt("respawn.yaw");
  325.         if(getConfig().getString("respawn.worldName") != null)
  326.             respawnWorld = Bukkit.getWorld(getConfig().getString("respawn.worldName"));
  327.         deadX = getConfig().getInt("dead.x");
  328.         deadY = getConfig().getInt("dead.y");
  329.         deadZ = getConfig().getInt("dead.z");
  330.         deadPitch = getConfig().getInt("dead.pitch");
  331.         deadYaw = getConfig().getInt("dead.yaw");
  332.         if(getConfig().getString("dead.worldName") != null)
  333.             deadWorld = Bukkit.getWorld(getConfig().getString("dead.worldName"));
  334.         outX = getConfig().getInt("out.x");
  335.         outY = getConfig().getInt("out.y");
  336.         outZ = getConfig().getInt("out.z");
  337.         outPitch = getConfig().getInt("out.pitch");
  338.         outYaw = getConfig().getInt("out.yaw");
  339.         if(getConfig().getString("out.worldName") != null)
  340.             outWorld = Bukkit.getWorld(getConfig().getString("out.worldName"));
  341.     }
  342. }
Advertisement
Add Comment
Please, Sign In to add comment