Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.greenadine.worldspawns;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Sound;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import net.minecraft.server.v1_9_R2.Material;
- public class CommandWorldspawns implements CommandExecutor {
- private Main main;
- SettingsManager settings = SettingsManager.getInstance();
- private String prefix = Main.prefix;
- private String noperm = Main.noperm;
- public CommandWorldspawns(Main main) {
- this.main = main;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(!(sender instanceof Player)) {
- CommandSender c = sender;
- if(args.length == 0) {
- c.sendMessage("");
- return true;
- }
- } else {
- Player p = (Player) sender;
- if(!p.hasPermission(new Permissions().command_main)) {
- p.sendMessage(prefix + noperm);
- return true;
- }
- if(args.length == 0) {
- p.sendMessage(prefix + ChatColor.WHITE + "Please use " + ChatColor.GRAY + "/" + label + " help" + ChatColor.WHITE + " to get a list of commands.");
- return true;
- }
- else if(args.length == 1) {
- if(args[0].equals("help")) {
- p.sendMessage(ChatColor.BLUE + "--> " + ChatColor.WHITE + "WorldSpawns Help" + ChatColor.BLUE + " <--");
- p.sendMessage(ChatColor.DARK_GRAY + "NOTE: [] = required, <> = optional.");
- sendCmd(p, label, "help", "Shows this list of commands.");
- sendCmd(p, label, "spawns", "Shows the list of spawn management commands.");
- sendCmd(p, label, "reload", "Reload the plugin and it's config.");
- sendCmd(p, label, "check [world]", "Check where the spawn is located of a world.");
- sendCmd(p, label, "reset", "Reset the spawn of all worlds.");
- p.sendMessage(ChatColor.DARK_GRAY + "" + ChatColor.ITALIC + "To reset the spawn of a single world, use /delspawn.");
- return true;
- }
- if(args[0].equals("spawns")) {
- p.sendMessage(ChatColor.BLUE + "--> " + ChatColor.WHITE + "WorldSpawns Help" + ChatColor.BLUE + " <--");
- p.sendMessage(ChatColor.DARK_GRAY + "NOTE: [] = required, <> = optional.");
- sendCmd(p, "spawn", "<world>", "Teleport to your current world's spawn, or another world's spawn");
- sendCmd(p, "setspawn", "", "Set the spawn of your current world.");
- sendCmd(p, "delspawn", "[world]", "Delete the spawn of your current world, or another world's spawn.");
- return true;
- }
- else if(args[0].equals("reload")) {
- try {
- main.reloadConfig();
- } catch(Exception e) {
- p.sendMessage(prefix + ChatColor.RED + "Failed to reload config! Report this problem to plugin developer and/or the server administrator(s).");
- return true;
- }
- p.sendMessage(prefix + ChatColor.WHITE + "Reloaded config!");
- return true;
- }
- else if(args[0].equals("check")) {
- p.sendMessage(prefix + ChatColor.RED + "Please define a world to check the spawn from. Usage: " + ChatColor.GOLD + "/" + label + " check [world]" + ChatColor.RED + ".");
- return true;
- }
- else if(args[0].equals("reset")) {
- settings.getSpawns().set("spawns" , null);
- settings.saveSpawns();
- p.sendMessage(prefix + ChatColor.GREEN + "All spawns have been reset.");
- playSound(p, Sound.ENTITY_FIREWORK_LARGE_BLAST);
- return true;
- } else {
- p.sendMessage(prefix + ChatColor.RED + "Unknown subcommand '" + args[0] + "'. Use " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + " to get a list of available commands.");
- }
- }
- else if(args.length == 2) {
- if(args[0].equals("help")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + ".");
- return true;
- }
- if(args[0].equals("spawns")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " spawns" + ChatColor.RED + ".");
- return true;
- }
- else if(args[0].equals("reload")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + ".");
- return true;
- }
- else if(args[0].equals("check")) {
- String worldname = args[1];
- double x = settings.getSpawns().getInt("spawns." + worldname + ".x");
- double y = settings.getSpawns().getInt("spawns." + worldname + ".y");
- double z = settings.getSpawns().getInt("spawns." + worldname + ".z");
- float yaw = settings.getSpawns().getInt("spawns." + worldname + ".yaw");
- float pitch = settings.getSpawns().getInt("spawns." + worldname + ".pitch");
- Location loc = new Location(null, x, y - 1, z, yaw, pitch);
- p.sendMessage(ChatColor.BLUE + "--> " + ChatColor.WHITE + "WorldSpawns - Spawn of " + ChatColor.GOLD + worldname + ChatColor.BLUE + " <--");
- if(settings.getSpawns().get("spawns." + worldname) == null) {
- p.sendMessage(ChatColor.WHITE + "The spawn of this world has not been set yet.");
- } else {
- p.sendMessage(ChatColor.GRAY + "X: " + ChatColor.WHITE + x + ".");
- p.sendMessage(ChatColor.GRAY + "Y: " + ChatColor.WHITE + y + ".");
- p.sendMessage(ChatColor.GRAY + "Z: " + ChatColor.WHITE + z + ".");
- p.sendMessage(ChatColor.GRAY + "Yaw: " + ChatColor.WHITE + yaw + ".");
- p.sendMessage(ChatColor.GRAY + "Pitch: " + ChatColor.WHITE + pitch + ".");
- if(loc.getBlock().getType().equals(Material.AIR)) {
- p.sendMessage(ChatColor.GRAY + "In air: " + ChatColor.WHITE + "true.");
- } else {
- p.sendMessage(ChatColor.GRAY + "In air: " + ChatColor.WHITE + "false.");
- }
- }
- return true;
- }
- else if(args[0].equals("reset")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " reset" + ChatColor.RED + ".");
- return true;
- } else {
- p.sendMessage(prefix + ChatColor.RED + "Unknown subcommand '" + args[0] + "'. Use " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + " to get a list of available commands.");
- return true;
- }
- } else {
- if(args[0].equals("help")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + ".");
- return true;
- }
- if(args[0].equals("spawns")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " spawns" + ChatColor.RED + ".");
- return true;
- }
- else if(args[0].equals("reload")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + ".");
- return true;
- }
- else if(args[0].equals("check")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " check [world]" + ChatColor.RED + ".");
- return true;
- }
- else if(args[0].equals("reset")) {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Usage: " + ChatColor.GOLD + "/" + label + " reset" + ChatColor.RED + ".");
- return true;
- } else {
- p.sendMessage(prefix + ChatColor.RED + "Too many arguments (" + args.length + "). Use " + ChatColor.GOLD + "/" + label + " help" + ChatColor.RED + " to get a list of available commands.");
- return true;
- }
- }
- }
- return false;
- }
- private void sendCmd(CommandSender sender, String label, String args, String desc) {
- sender.sendMessage(ChatColor.GRAY + "/" + label + " " + args + ChatColor.WHITE + " - " + desc);
- }
- private boolean enableSounds() {
- if(main.getConfig().getBoolean("settings.enablesounds") == true) {
- return true;
- } else {
- return false;
- }
- }
- private void playSound(Player player, Sound sound) {
- if(enableSounds()) {
- player.playSound(player.getLocation(), sound, 10, 1);
- } else {
- //Do nothing.
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement