Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.uba;
- import net.minecraft.server.v1_12_R1.WorldBorder;
- import java.io.File;
- import java.util.HashMap;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.Sound;
- import org.bukkit.World;
- import org.bukkit.World.Environment;
- import org.bukkit.WorldCreator;
- import org.bukkit.WorldType;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.Listener;
- import org.bukkit.permissions.PermissionAttachment;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.connorlinfoot.titleapi.TitleAPI;
- @SuppressWarnings("deprecation")
- public class main extends JavaPlugin implements Listener {
- //Defining Permissions
- HashMap<UUID, PermissionAttachment> perms = new HashMap<UUID, PermissionAttachment>();
- //Getting Instances
- InventorySave inventory = me.uba.InventorySave.getInstance();
- mcasettings settings = me.uba.mcasettings.getInstance();
- WorldManager wm = me.uba.WorldManager.getInstance();
- //Gets mcamenu
- private mcamenu menu;
- //Gets the loadouts
- private loadoutgui loadout;
- //Creates a getinstance for mcamenu
- private main() { }
- static main instance = new main();
- public static main getInstance() {
- return instance;
- }
- //When the plugin is enabled
- public void onEnable() {
- //Gets the config
- getConfig().options().copyDefaults(true);
- saveConfig();
- Bukkit.getServer().getLogger().severe("Minecraft Arcade Enabled!");
- //Sets up mcasettings
- settings.setup(this);
- //Sets up the GUI's
- menu = new mcamenu(this);
- loadout = new loadoutgui(this);
- }
- public void onDisable() {
- Bukkit.getServer().getLogger().severe("Minecraft Arcade Disabled!");
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(cmd.getName().equalsIgnoreCase("mcacreate")) {
- Player p = (Player) sender;
- if (args.length == 0) {
- p.sendMessage(ChatColor.RED + "Please type in the world you would like to create!");
- return true;
- }
- if(args.length >= 1){
- String levelname = "";
- for (String a : args){
- levelname = levelname + " " + a;
- }
- levelname = levelname.trim();
- if(p.hasPermission("mca.create")) {
- if(this.getConfig().getString(p.getUniqueId() + "levelname") == null) {
- p.sendMessage(ChatColor.GREEN +"Empty Level " + this.getConfig().getString(p.getUniqueId() + "levelname", levelname) + " Created!");
- p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 2F, 1F);
- this.getConfig().set(p.getUniqueId() + "levelname", levelname);
- this.saveConfig();
- Bukkit.getServer().createWorld(new WorldCreator(p.getName()).environment(Environment.NORMAL).type(WorldType.FLAT));
- Bukkit.getWorld(p.getName()).setGameRuleValue("doMobSpawning", "false");
- //sets Setup Completed to false
- this.getConfig().set(p.getUniqueId() + "setupcomplete", false);
- p.sendMessage(ChatColor.GREEN + "To edit your map, you can do /mcaedit and it will teleport you to your map!");
- p.sendMessage(ChatColor.GOLD + "[!] Inorder to make your map playable, you must do /mcasetup! [!]");
- //sets Missions to sandbox
- this.getConfig().set(p.getUniqueId() + "mission", "sandbox");
- p.sendMessage(ChatColor.GOLD + "----------");
- p.sendMessage(ChatColor.GOLD + "[!] Your current Level mission is sandbox by default. you can change this with /mcasetmission <assault , journey> [!]");
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "You are not allowed to use this command!");
- }
- } else {
- p.sendMessage(ChatColor.RED + "You already have a level!!");
- return true;
- }
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcahelp")) {
- Player p = (Player) sender;
- p.sendMessage(ChatColor.GREEN + "Mine" + ChatColor.AQUA + "craft " + ChatColor.YELLOW + " ARCADE");
- p.sendMessage(ChatColor.BLUE + "/mcajoin <playername> - Joins a players Arcade level!");
- p.sendMessage(ChatColor.BLUE + "/mcainfo <playername> - Shows a players Arcade info!");
- p.sendMessage(ChatColor.BLUE + "/mcaleave - Teleports you back to your spawn!");
- p.sendMessage("");
- p.sendMessage(ChatColor.YELLOW + "LEVEL EDITOR");
- p.sendMessage(ChatColor.YELLOW + "/mcacreate <levelname> - creates a level! (You can only have 1 level!)");
- p.sendMessage(ChatColor.YELLOW + "/mcadelete - Deletes your current level!");
- p.sendMessage(ChatColor.YELLOW + "/mcaedit - Teleports you to your level!");
- p.sendMessage(ChatColor.YELLOW + "/mcasetup - Sets up your level!");
- p.sendMessage(ChatColor.YELLOW + "/mcanpc - Opens the npc creator menu!");
- p.sendMessage(ChatColor.YELLOW + "/mcaloadout - Shows the loadout editor!");
- p.sendMessage(ChatColor.YELLOW + "/mcagui - Shows your level properties menu!");
- p.sendMessage(ChatColor.YELLOW + "/mcasetspawn - Sets your level spawn!");
- p.sendMessage(ChatColor.YELLOW + "/mcafinish - Finishes the level creation");
- p.sendMessage(ChatColor.YELLOW + "/mcasetmission <Journey , Assault> - Sets your mission");
- if(p.hasPermission("mca.admin")) {
- p.sendMessage("");
- p.sendMessage(ChatColor.RED + "ADMIN COMMANDS");
- p.sendMessage(ChatColor.RED + "/mcasetmainspawn - Sets the main spawn where players will be teleported when they exit a level map!");
- p.sendMessage(ChatColor.RED + "/mcapunish <user> - Removes the user's ability to make levels.");
- p.sendMessage(ChatColor.RED + "/mcawarn <user> <message> - Warns the user if they have done something wrong");
- p.sendMessage(ChatColor.RED + "/mcaperms - Shows all of the plugin permissions");
- } else {
- return true;
- }
- return true;
- }
- if(cmd.getName().equalsIgnoreCase("mcaperms")) {
- Player p = (Player) sender;
- if(p.hasPermission("mca.perms")) {
- p.sendMessage(ChatColor.AQUA + "Minecraft Arcade Permissions");
- p.sendMessage(ChatColor.YELLOW + "----------------------------");
- p.sendMessage(ChatColor.RED + "Admin Permissions");
- p.sendMessage(ChatColor.RED + "mca.warn - Allows access to /mcawarn <user> <reason>");
- p.sendMessage(ChatColor.RED + "mca.punish - Allows access to /mcapunish <user>");
- p.sendMessage(ChatColor.RED + "mca.perms - Allows access to /mcaperms");
- p.sendMessage(ChatColor.RED + "mca.setmainspawn - Allows access to /mcasetmainspawn");
- p.sendMessage(ChatColor.YELLOW + "----------------------------");
- p.sendMessage(ChatColor.GREEN + "Player Permissions");
- p.sendMessage(ChatColor.GREEN + "mca.create - Allows access to /mcacreate <levelname>");
- p.sendMessage(ChatColor.GREEN + "mca.setmission - Allows access to /mcacreate <levelname>");
- p.sendMessage(ChatColor.GREEN + "mca.gui - Allows access to /mcagui");
- p.sendMessage(ChatColor.GREEN + "mca.loadout - Allows access to /mcaloadout");
- p.sendMessage(ChatColor.GREEN + "mca.join - Allows access to /mcajoin <user>");
- p.sendMessage(ChatColor.YELLOW + "----------------------------");
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "You cannot do this!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcawarn")) {
- Player target = getServer().getPlayer(args[0]);
- Player p = (Player) sender;
- if(p.hasPermission("mca.warn")) {
- if(args.length < 2)
- {
- p.sendMessage(ChatColor.RED + "<!> ERROR <!>");
- p.sendMessage(ChatColor.RED + "Usage: /mcawarn <player> <reason>");
- }
- // Send to all
- else
- {
- // Form total string
- String message = " ";
- for(int i = 0; i < args.length; i++)
- message += " " + args[i];
- //Do stuff
- target.sendMessage(ChatColor.RED + "[WARN]" + ChatColor.GOLD + message);
- p.sendMessage(ChatColor.RED + target.getName() + " has been warned! Reason:" + ChatColor.GOLD + message);
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "You are not allowed to do this!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcapunish")) {
- Player p = (Player) sender;
- if(p.hasPermission("mca.punish")) {
- int length = args.length;
- if(length == 1) {
- boolean playerFound = false;
- for(Player ptp : Bukkit.getServer().getOnlinePlayers()) {
- if(ptp.getName().equalsIgnoreCase(args[0])) {
- PermissionAttachment attachment = ptp.addAttachment(this);
- perms.put(ptp.getUniqueId(), attachment);
- perms.get(ptp.getUniqueId()).unsetPermission("mca.create");
- perms.get(ptp.getUniqueId()).unsetPermission("mca.setmission");
- this.getConfig().set(ptp.getUniqueId() + "levelname", null);
- saveConfig();
- return true;
- }
- }
- if (playerFound == false) {
- p.sendMessage(ChatColor.RED + args[0] + " is not an online player!");
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "<!> ERROR <!>");
- p.sendMessage(ChatColor.RED + "Incorrect Usage");
- return true;
- }
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcasetmission")) {
- Player p = (Player) sender;
- if(p.hasPermission("mca.setmission")) {
- if(args.length == 0) {
- p.sendMessage(ChatColor.GREEN + "Please Choose A Mission!");
- p.sendMessage(ChatColor.GOLD + "[Assault] [Journey]");
- return true;
- }
- else if(args.length == 1) {
- if(args[0].equalsIgnoreCase("assault")) {
- p.sendMessage(ChatColor.GREEN + "Your level mission has been set to Assault!");
- this.getConfig().set(p.getUniqueId() + "mission", "assault");
- saveConfig();
- return true;
- }
- else if (args[0].equalsIgnoreCase("journey")) {
- p.sendMessage(ChatColor.GREEN + "Your level mission has been set to Journey!");
- this.getConfig().set(p.getUniqueId() + "mission", "journey");
- saveConfig();
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "Invalid mission " + ChatColor.GOLD + args[0]);
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "You cannot do this!");
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcaedit")) {
- Player p = (Player) sender;
- if(this.getConfig().getString(p.getUniqueId() + "levelname") == null) {
- p.sendMessage(ChatColor.RED + "You do not have a level! Make one with /mcacreate <levelname)");
- return true;
- } else {
- Location level = new Location(this.getServer().getWorld(p.getName()), this.getServer().getWorld(p.getName()).getSpawnLocation().getX(), this.getServer().getWorld(p.getName()).getSpawnLocation().getY(), this.getServer().getWorld(p.getName()).getSpawnLocation().getZ());
- p.teleport(level);
- p.sendMessage(ChatColor.GREEN + "You are now editing your map!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcasetmainspawn")) {
- Player p = (Player) sender;
- if(p.hasPermission("mca.setmainspawn")) {
- this.getConfig().set("spawn.world", p.getLocation().getWorld().getName());
- this.getConfig().set("spawn.x", p.getLocation().getX());
- this.getConfig().set("spawn.y", p.getLocation().getY());
- this.getConfig().set("spawn.z", p.getLocation().getZ());
- saveConfig();
- p.sendMessage(ChatColor.GREEN + "Main spawn set!");
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "You do not have permission to do this!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcasetspawn")) {
- Player p = (Player) sender;
- if(p.getLocation().getWorld().getName().equalsIgnoreCase(p.getName())) {
- Bukkit.getWorld(p.getName()).setSpawnLocation(p.getLocation());
- p.sendMessage(ChatColor.GREEN + "Level Spawn Set!");
- this.getConfig().set(p.getUniqueId() + "SpawnIsSet", "true");
- saveConfig();
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "You need to be in your level world!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcagui")) {
- Player p = (Player) sender;
- if(p.getLocation().getWorld().getName().equalsIgnoreCase(p.getName())) {
- if(p.hasPermission("mca.gui")) {
- menu.show(p);
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "You cannot do this!");
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "You need to be in your level to do this!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcaloadout")) {
- Player p = (Player) sender;
- if(p.getLocation().getWorld().getName().equalsIgnoreCase(p.getName())) {
- if(p.hasPermission("mca.loadout")) {
- loadout.openLoadout(p);
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "You cannot do this!");
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "You need to be in your level to do this!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcaleave")) {
- Player p = (Player) sender;
- World w = Bukkit.getServer().getWorld(this.getConfig().getString("spawn.world"));
- double x = this.getConfig().getDouble("spawn.x");
- double y = this.getConfig().getDouble("spawn.y");
- double z = this.getConfig().getDouble("spawn.z");
- if(p.getWorld().equals(w)) {
- p.sendMessage(ChatColor.RED + "You are already at the spawn!");
- return true;
- } else {
- p.teleport(new Location(w, x, y, z));
- p.sendMessage(ChatColor.GOLD + "You left the current level");
- inventory.restoreInventory(p);
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcadelete")) {
- Player p = (Player) sender;
- if(this.getConfig().getString(p.getUniqueId() + "levelname") == null) {
- p.sendMessage(ChatColor.RED + "You cannot delete your level because you do not have a level!");
- p.sendMessage(ChatColor.GREEN + "Create one with /mcacreate <levelname>");
- return true;
- } else {
- //Removes level name
- this.getConfig().set(p.getUniqueId() + "levelname", null);
- p.sendMessage(ChatColor.RED + "Your level has been deleted!");
- World w = Bukkit.getServer().getWorld(this.getConfig().getString("spawn.world"));
- double x = this.getConfig().getDouble("spawn.x");
- double y = this.getConfig().getDouble("spawn.y");
- double z = this.getConfig().getDouble("spawn.z");
- p.teleport(new Location(w, x, y, z));
- //Sets SpawnIsSet to false
- this.getConfig().set(p.getUniqueId() + "SpawnIsSet", "true");
- saveConfig();
- //Deletes the world
- World delete = Bukkit.getWorld(p.getName());
- File deleteFolder = delete.getWorldFolder();
- World unload = Bukkit.getWorld(p.getName());
- wm.unloadWorld(unload);
- wm.deleteWorld(deleteFolder);
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcasetup")) {
- Player p = (Player) sender;
- if(p.getLocation().getWorld().getName().equalsIgnoreCase(p.getName())) {
- WorldBorder wb = new WorldBorder();
- if(this.getConfig().getDouble("BoundarySize") <= 5) {
- if(this.getConfig().getDouble("BoundarySize") > 100)
- p.sendMessage(ChatColor.RED + "ERROR! Boundary Size Is Too Small! Contact an adminstrator!");
- p.sendMessage(ChatColor.RED + "Setup Cancelled!");
- return true;
- } else {
- //Sets the Boundary Size
- wb.setCenter(p.getLocation().getX(), p.getLocation().getZ());
- wb.setSize(this.getConfig().getDouble("BoundarySize"));
- Bukkit.getWorld(this.getConfig().getString(p.getUniqueId() + "levelname", "levelname")).getWorldBorder();
- this.getConfig().set(p.getUniqueId() + "setupcomplete", true);
- p.sendMessage(ChatColor.GREEN + "Setup Finished!");
- return true;
- }
- } else {
- p.sendMessage(ChatColor.RED + "You have to be in your level in order to execute this command!");
- return true;
- }
- }
- if(cmd.getName().equalsIgnoreCase("mcainfo")) {
- Player p = (Player) sender;
- int length = args.length;
- if(length == 1) {
- for(Player ptv : Bukkit.getServer().getOnlinePlayers()) {
- if(ptv.getName().equalsIgnoreCase(args[0])) {
- p.sendMessage(ChatColor.GREEN + ptv.getName());
- p.sendMessage(ChatColor.BLUE + "Level Name: " + ChatColor.GREEN + this.getConfig().getString(p.getUniqueId() + "levelname", "levelname"));
- p.sendMessage(ChatColor.BLUE + "Level Mission: " + ChatColor.GREEN + this.getConfig().getString(p.getUniqueId() + "mission"));
- return true;
- }
- }
- }
- else {
- p.sendMessage(ChatColor.RED + "Command typed incorrectly or player is not online!");
- return true;
- }
- }
- {
- }
- if(cmd.getName().equalsIgnoreCase("mcajoin")) {
- Player p = (Player) sender;
- int length = args.length;
- if(length == 1) {
- for(Player ltp : Bukkit.getServer().getOnlinePlayers()) {
- if(ltp.getName().equalsIgnoreCase(args[0])) {
- if(p.hasPermission("mca.join")) {
- if(this.getConfig().getString(p.getUniqueId() + "levelname") == null) {
- p.sendMessage(ChatColor.RED + "This player does not have a level!");
- return true;
- } else {
- if(this.getConfig().getString(p.getUniqueId() + "setupcomplete").equals("false")) {
- p.sendMessage(ChatColor.RED + "This player's level is not setup correctly!");
- return true;
- } else{
- if(this.getConfig().getString(ltp.getUniqueId() + "mission").equals("assault")) {
- Location leveltoplay = new Location(this.getServer().getWorld(ltp.getName()), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getX(), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getY(), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getZ());
- p.teleport(leveltoplay);
- //Player Setup
- p.setGameMode(GameMode.ADVENTURE);
- inventory.saveInventory(p);
- p.getInventory().clear();
- //Game Start
- TitleAPI.sendTitle(p.getPlayer(), 20, 100, 20, ChatColor.RED + "▐" + ChatColor.GOLD + "▐" + ChatColor.YELLOW + "▐" + ChatColor.AQUA + "▐" + ChatColor.WHITE + " Assault " + ChatColor.AQUA + "▐" + ChatColor.YELLOW + "▐" + ChatColor.GOLD + "▐" + ChatColor.RED + "▐");
- TitleAPI.sendSubtitle(p.getPlayer(), 20, 100, 20, ChatColor.WHITE + "Eliminate All Enemies");
- p.playSound(p.getLocation(), Sound.ENTITY_ENDERDRAGON_GROWL, 2F, 1F);
- p.sendMessage(ChatColor.GOLD + "Command Index -");
- p.sendMessage(ChatColor.GOLD + "/mcaleave - Leaves the current game");
- p.sendMessage(ChatColor.GOLD + "/mcareport <reason> - Reports the current game");
- return true;
- }
- else if(this.getConfig().getString(ltp.getUniqueId() + "mission").equals("journey")) {
- Location leveltoplay = new Location(this.getServer().getWorld(ltp.getName()), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getX(), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getY(), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getZ());
- p.teleport(leveltoplay);
- //Player Setup
- p.setGameMode(GameMode.ADVENTURE);
- inventory.saveInventory(p);
- p.getInventory().clear();
- //Game Start
- TitleAPI.sendTitle(p.getPlayer(), 20, 100, 20, ChatColor.RED + "▐" + ChatColor.GOLD + "▐" + ChatColor.YELLOW + "▐" + ChatColor.AQUA + "▐" + ChatColor.WHITE + " Journey " + ChatColor.AQUA + "▐" + ChatColor.YELLOW + "▐" + ChatColor.GOLD + "▐" + ChatColor.RED + "▐");
- TitleAPI.sendSubtitle(p.getPlayer(), 20, 100, 20, ChatColor.WHITE + "Get To The Extraction Point");
- p.playSound(p.getLocation(), Sound.ENTITY_ENDERDRAGON_GROWL, 2F, 1F);
- p.sendMessage(ChatColor.GOLD + "Command Index -");
- p.sendMessage(ChatColor.GOLD + "/mcaleave - Leaves the current game");
- p.sendMessage(ChatColor.GOLD + "/mcareport <reason> - Reports the current game");
- return true;
- }
- else if(this.getConfig().getString(ltp.getUniqueId() + "mission").equals("sandbox")) {
- Location leveltoplay = new Location(this.getServer().getWorld(ltp.getName()), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getX(), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getY(), this.getServer().getWorld(ltp.getName()).getSpawnLocation().getZ());
- p.teleport(leveltoplay);
- //Player Setup
- p.setGameMode(GameMode.ADVENTURE);
- inventory.saveInventory(p);
- p.getInventory().clear();
- //Game Start
- TitleAPI.sendTitle(p.getPlayer(), 20, 100, 20, ChatColor.RED + "▐" + ChatColor.GOLD + "▐" + ChatColor.YELLOW + "▐" + ChatColor.AQUA + "▐" + ChatColor.WHITE + " Sandbox " + ChatColor.AQUA + "▐" + ChatColor.YELLOW + "▐" + ChatColor.GOLD + "▐" + ChatColor.RED + "▐");
- TitleAPI.sendSubtitle(p.getPlayer(), 20, 100, 20, ChatColor.WHITE + "Do Whatever You Want");
- p.playSound(p.getLocation(), Sound.ENTITY_ENDERDRAGON_GROWL, 2F, 1F);
- p.sendMessage(ChatColor.GOLD + "Command Index -");
- p.sendMessage(ChatColor.GOLD + "/mcaleave - Leaves the current game");
- p.sendMessage(ChatColor.GOLD + "/mcareport <reason> - Reports the current game");
- return true;
- } else {
- p.sendMessage(ChatColor.RED + "This player has no mission!");
- return true;
- }
- }
- }
- }
- else {
- p.sendMessage(ChatColor.RED + "You do not have permission to do this!");
- return true;
- }
- }
- }
- }
- else {
- p.sendMessage(ChatColor.RED + "Command typed incorrectly or player is not online!");
- return true;
- }
- }
- {
- return false;
- }
- }
- }
Add Comment
Please, Sign In to add comment