Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.mrkirby153.ThePlague;
- import java.io.File;
- import java.util.ArrayList;
- import me.mrkirby153.ThePlague.Arena.TaskManagers.ClockTaskManager;
- import me.mrkirby153.ThePlague.Arena.TaskManagers.InfectedPlayerManager;
- import me.mrkirby153.ThePlague.Arena.TaskManagers.PlagueTimer;
- import me.mrkirby153.ThePlague.lib.Chat;
- import me.mrkirby153.ThePlague.lib.InventoryManager;
- import me.mrkirby153.ThePlague.lib.PermissionHelper;
- import me.mrkirby153.ThePlague.listeners.GameListener;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.PluginDescriptionFile;
- import org.bukkit.plugin.java.JavaPlugin;
- public class ThePlague extends JavaPlugin{
- //The instance of the plugin
- private static ThePlague instance = new ThePlague();
- //Game Specific variables
- public static ArrayList<String> ingamePlayers = new ArrayList();
- public static ArrayList<String> infectedPlayers = new ArrayList();
- public static ArrayList<String> deadPlayers = new ArrayList();
- public static boolean gameRunning = false;
- public static int respawnX;
- public static int respawnY;
- public static int respawnZ;
- public static float respawnPitch;
- public static float respawnYaw;
- public static World respawnWorld;
- public static Location respawnLocation;
- private int deadX;
- private int deadY;
- private int deadZ;
- private float deadPitch;
- private float deadYaw;
- private World deadWorld;
- private Location deadLocation;
- private float outX;
- private float outY;
- private float outZ;
- private float outPitch;
- private float outYaw;
- private World outWorld;
- private Location outLocation;
- //System Variables
- private FileConfiguration config = null;
- private File configFile = null;
- private PluginDescriptionFile pdfFile = this.getDescription();
- private InventoryManager inventoryManager = new InventoryManager();
- @Override
- public void onEnable() {
- new GameListener(this);
- this.saveDefaultConfig();
- // this.reloadCustomConfig();
- respawnLocation = new Location(respawnWorld, (double)respawnX, (double)respawnY, (double)respawnZ,respawnPitch, respawnYaw);
- deadLocation = new Location(deadWorld, (double) deadX, (double) deadY, (double) deadZ, deadPitch, deadYaw);
- outLocation = new Location(outWorld, outX, outY, outZ, outPitch, outYaw);
- }
- @Override
- public void onDisable(){
- Chat.sendChatToConsole("Saving config...");
- this.saveModifyedConfig();
- }
- public static ThePlague getInstance(){
- return instance;
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- if(label.equalsIgnoreCase("ThePlague")){
- Player player;
- if(args.length == 1){
- if(args[0].equalsIgnoreCase("stats")){
- if(sender instanceof Player){
- player = (Player) sender;
- if(PermissionHelper.checkPermission(player, "ThePlague.user.stats")){
- this.displayStats(player);
- return true;
- }else{
- sender.sendMessage(Chat.permissionError());
- return true;
- }
- }else{
- this.displayStats(sender);
- return true;
- }
- }else
- if(args[0].equalsIgnoreCase("help")){
- this.displayHelp(sender);
- return true;
- }else
- if(args[0].equalsIgnoreCase("join")){
- if(sender instanceof Player){
- player = (Player) sender;
- if(PermissionHelper.checkPermission(player, "ThePlague.users.join")){
- if(ingamePlayers.size() < 24){
- inventoryManager.saveInventory(player);
- Chat.sendChatToPlayer(player, "Joining arena...");
- ingamePlayers.add(sender.getName());
- player.setGameMode(GameMode.ADVENTURE);
- player.getInventory().clear();
- player.teleport(respawnLocation);
- return true;
- }else{
- Chat.sendChatToPlayer(player, "Unable to join arena as there are 24 players in the arena");
- Chat.sendChatToPlayer(player, "Purchase VIP at ");
- }
- }else{
- sender.sendMessage(Chat.permissionError());
- return true;
- }
- }else{
- sender.sendMessage(Chat.commandError("You MUST be a player to preform this command"));
- return true;
- }
- }
- if(args[0].equalsIgnoreCase("leave")){
- if(sender instanceof Player){
- player =(Player) sender;
- if(PermissionHelper.checkPermission(player, "ThePlague.users.leave")){
- if(ingamePlayers.contains(player.getName())){
- Chat.sendChatToPlayer(player, "Leaving arena...");
- inventoryManager.loadInventory(player);
- ingamePlayers.remove(sender.getName());
- player.setGameMode(GameMode.SURVIVAL);
- player.getInventory().clear();
- player.teleport(outLocation);
- return true;
- }else{
- Chat.sendChatToPlayer(player, "You are not in the arena!");
- }
- }else{
- sender.sendMessage(Chat.permissionError());
- return true;
- }
- }else{
- sender.sendMessage(Chat.commandError("You MUST be a player to preform this command!"));
- return true;
- }
- }
- if(args[0].equalsIgnoreCase("start")){
- if(ingamePlayers.size() >= 1){
- if(sender instanceof Player){
- Player plyr = (Player) sender;
- if(PermissionHelper.checkPermission(plyr, "ThePlague.admin.start")){
- ClockTaskManager clockTaskManager = new ClockTaskManager(this);
- InfectedPlayerManager infectedPlayerManager = new InfectedPlayerManager(this);
- PlagueTimer plagueTimer = new PlagueTimer(this);
- Chat.sendChatToAll(ChatColor.AQUA + plyr.getName() + " has started a new ThePlague game! Do /theplague join to get in on the action!");
- gameRunning = true;
- return true;
- }else{
- plyr.sendMessage(Chat.permissionError());
- }
- }else{
- ClockTaskManager clockTaskManager = new ClockTaskManager(this);
- InfectedPlayerManager infectedPlayerManager = new InfectedPlayerManager(this);
- PlagueTimer plagueTimer = new PlagueTimer(this);
- Chat.sendChatToAll(ChatColor.AQUA + "CONSOLE has started a new ThePlague game! Do /theplague to get in on the action!");
- gameRunning = true;
- return true;
- }
- }else{
- sender.sendMessage(ChatColor.DARK_PURPLE + "[The Plague] " + ChatColor.WHITE + "No players are in the arena!");
- }
- }
- if(args[0].equalsIgnoreCase("reload")){
- this.reloadCustomConfig();
- sender.sendMessage(ChatColor.DARK_PURPLE + "[The Plague] " + ChatColor.WHITE +"Configuration file reloaded!");
- return true;
- }
- if(args[0].equalsIgnoreCase("set")){
- sender.sendMessage(ChatColor.GREEN + "Commands:");
- Chat.commandHelp(sender, "ThePlague set respawn", "Sets the respawn point based on YOUR Coordinates and direction");
- Chat.commandHelp(sender, "ThePlague set deathRespawn", "Sets the place where the dead respawn at");
- Chat.commandHelp(sender, "ThePlague set exit", "Sets the place where the players are teleported after the game or when they leave the game");
- }
- }
- if(args.length == 2){
- if(args[0].equalsIgnoreCase("set")){
- if(args[1].equalsIgnoreCase("respawn")){
- if(sender instanceof Player){
- Player plyer = (Player) sender;
- if(PermissionHelper.checkPermission(plyer, "ThePlague.admin.setSpawn")){
- Chat.sendChatToPlayer(plyer, "Setting respanw point...");
- Location var1 = plyer.getLocation();
- respawnX = var1.getBlockX();
- respawnY = var1.getBlockY();
- respawnZ = var1.getBlockZ();
- respawnPitch = var1.getPitch();
- respawnYaw = var1.getYaw();
- respawnWorld = var1.getWorld();
- System.out.println(respawnX +":"+respawnY+":"+respawnZ+":"+respawnPitch+":"+respawnYaw+":"+respawnWorld);
- this.saveModifyedConfig();
- }else{
- plyer.sendMessage(Chat.permissionError());
- }
- }else{
- Chat.sendChatToConsole("You MUST be a player to preform this command!");
- return true;
- }
- }
- if(args[1].equalsIgnoreCase("deathRespawn")){
- if(sender instanceof Player){
- Player plyr = (Player) sender;
- if(PermissionHelper.checkPermission(plyr, "ThePlague.admin.setSpawn")){
- Chat.sendChatToPlayer(plyr, "Setting respawn point for dead...");
- Location var1 = plyr.getLocation();
- deadX = var1.getBlockX();
- deadY = var1.getBlockX();
- deadZ = var1.getBlockZ();
- deadPitch = var1.getPitch();
- deadYaw = var1.getYaw();
- deadWorld = var1.getWorld();
- this.saveModifyedConfig();
- }else{
- plyr.sendMessage(Chat.permissionError());
- }
- }else{
- Chat.sendChatToConsole("You MUST be a player to preform this command!");
- }
- return true;
- }
- if(args[1].equalsIgnoreCase("exit")){
- if(sender instanceof Player){
- Player plyr = (Player) sender;
- if(PermissionHelper.checkPermission(plyr, "ThePlague.admin.setSpawn")){
- Chat.sendChatToPlayer(plyr, "Setting exit point...");
- Location var1 = plyr.getLocation();
- outX = var1.getBlockX();
- outY = var1.getBlockY();
- outZ = var1.getBlockZ();
- outPitch = var1.getPitch();
- outYaw = var1.getYaw();
- outWorld = var1.getWorld();
- this.saveModifyedConfig(); return true;
- }else
- plyr.sendMessage(Chat.permissionError());
- }else{
- Chat.sendChatToConsole("You MUST be a player to preform this comand!");
- }
- return true;
- }
- }
- }
- }
- return false;
- }
- private void displayHelp(CommandSender sender){
- sender.sendMessage(ChatColor.GREEN + "The Plague help");
- sender.sendMessage(ChatColor.GOLD + "Commands:");
- Chat.commandHelp(sender, "ThePlague join", "Joins the game");
- Chat.commandHelp(sender, "ThePlague leave", "Leaves the game");
- Chat.commandHelp(sender, "ThePlague stats", "Shows the statistics of the current game");
- Chat.commandHelp(sender, "ThePlague set", "Shows Arena Setup commands");
- }
- private void displayStats(CommandSender sender) {
- sender.sendMessage(ChatColor.GOLD + "----The Plague Statitstics----");
- if(this.gameRunning){
- sender.sendMessage(ChatColor.AQUA + "Game Running: " + ChatColor.GREEN + "Yes");
- sender.sendMessage(ChatColor.AQUA + "Players ingame: " + ChatColor.GOLD + ingamePlayers.size() + "/24");
- sender.sendMessage(ChatColor.AQUA + "Players infected: " + ChatColor.GOLD + infectedPlayers.size() + "/24");
- sender.sendMessage(ChatColor.AQUA + "Players dead: " + ChatColor.GOLD + deadPlayers.size());
- sender.sendMessage(ChatColor.AQUA + "Players left: " + (ingamePlayers.size() - infectedPlayers.size()));
- sender.sendMessage(ChatColor.GOLD + "==============================");
- }else{
- sender.sendMessage(ChatColor.RED + "There is no game running!");
- sender.sendMessage(ChatColor.GOLD + "==========================");
- }
- }
- private void saveModifyedConfig(){
- // Chat.sendChatToConsole("Saving config...");
- getConfig().set("respawn.x", respawnX);
- getConfig().set("respawn.y", respawnY);
- getConfig().set("respawn.z", respawnZ);
- getConfig().set("respawn.pitch", respawnPitch);
- getConfig().set("respawn.yaw", respawnYaw);
- getConfig().set("respawn.worldName", respawnWorld);
- getConfig().set("dead.x", deadX);
- getConfig().set("dead.y", deadY);
- getConfig().set("dead.z", deadZ);
- getConfig().set("dead.pitch", deadPitch);
- getConfig().set("dead.yaw", deadYaw);
- getConfig().set("dead.worldname", deadWorld);
- getConfig().set("out.x", outX);
- getConfig().set("out.y", outY);
- getConfig().set("out.z", outZ);
- getConfig().set("out.pitch", outPitch);
- getConfig().set("out.yaw", outYaw);
- getConfig().set("out.worldName", outWorld);
- }
- private void reloadCustomConfig(){
- respawnX = getConfig().getInt("respawn.x");
- respawnY = getConfig().getInt("respawn.y");
- respawnZ = getConfig().getInt("respawn.z");
- respawnPitch = getConfig().getInt("respawn.pitch");
- respawnYaw = getConfig().getInt("respawn.yaw");
- if(getConfig().getString("respawn.worldName") != null)
- respawnWorld = Bukkit.getWorld(getConfig().getString("respawn.worldName"));
- deadX = getConfig().getInt("dead.x");
- deadY = getConfig().getInt("dead.y");
- deadZ = getConfig().getInt("dead.z");
- deadPitch = getConfig().getInt("dead.pitch");
- deadYaw = getConfig().getInt("dead.yaw");
- if(getConfig().getString("dead.worldName") != null)
- deadWorld = Bukkit.getWorld(getConfig().getString("dead.worldName"));
- outX = getConfig().getInt("out.x");
- outY = getConfig().getInt("out.y");
- outZ = getConfig().getInt("out.z");
- outPitch = getConfig().getInt("out.pitch");
- outYaw = getConfig().getInt("out.yaw");
- if(getConfig().getString("out.worldName") != null)
- outWorld = Bukkit.getWorld(getConfig().getString("out.worldName"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment