public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
        Player player = ((Player) sender);

        if (command.getName().equalsIgnoreCase("spawn")) {

            if (args.length == 1 && sender.hasPermission(plugin.permissions.SENDSPAWN)) {

                if (args[0].equalsIgnoreCase("all")) {
                    plugin.getServer().broadcastMessage(plugin.message(ChatColor.GREEN) + "All players are being teleported to spawn by " + sender.getName());
                    for (Player p : plugin.getServer().getOnlinePlayers()) {
                        p.teleport(plugin.spawn.getSpawnLocation());
                        p.setFlying(false);
                    }
                    return true;
                }

                Player target = plugin.getServer().getPlayer(args[0]);

                if (target == null) {
                    sender.sendMessage(plugin.message(ChatColor.RED) + "Player " + args[0] + " is not online.");
                    return true;
                }

                sender.sendMessage(plugin.message(ChatColor.GRAY) + "Sending " + target.getDisplayName() + " to spawn");
                target.sendMessage(plugin.message(ChatColor.GRAY) + sender.getName() + " has sent you to spawn");

                target.teleport(plugin.spawn.getSpawnLocation());
                target.setFlying(false);

                return true;
            }

            if (!(sender instanceof Player)) {
                sender.sendMessage(plugin.message(ChatColor.RED) + "This command cannot be executed from the console");
                return true;
            }

            if (!sender.hasPermission(plugin.permissions.SPAWN)) {
                double spawnX = plugin.spawn.getSpawnLocation().getBlockX();
                double spawnZ = plugin.spawn.getSpawnLocation().getBlockZ();
                sender.sendMessage(plugin.message(ChatColor.GRAY) + "Spawn is located at (" + spawnX + ", " + spawnZ + ")");
                return true;
            }

            player.sendMessage(plugin.message(ChatColor.GRAY) + "Teleporting to spawn");
            player.teleport(plugin.spawn.getSpawnLocation());
            player.setFlying(false);
            return true;
        }

        return false;
    }