Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法找到命令并执行_Java_Minecraft_Eclipse Luna - Fatal编程技术网

Java 无法找到命令并执行

Java 无法找到命令并执行,java,minecraft,eclipse-luna,Java,Minecraft,Eclipse Luna,我正在给我的minecraft服务器添加一个传送到这里的命令。每当我在服务器中键入命令时, 什么也没发生,甚至连“未知命令”消息都没有。我正确地设置了executor(因为它不是主类,就像我的其他命令一样工作得很好…并且该命令已在plugin.yml中注册):/不知道发生了什么…帮助? 我正在使用EclipseLuna和1.8spigetAPI 传送类 package me.Zahachos.ServerManager.commands; import java.util.HashMap; i

我正在给我的minecraft服务器添加一个传送到这里的命令。每当我在服务器中键入命令时, 什么也没发生,甚至连“未知命令”消息都没有。我正确地设置了executor(因为它不是主类,就像我的其他命令一样工作得很好…并且该命令已在plugin.yml中注册):/不知道发生了什么…帮助? 我正在使用EclipseLuna和1.8spigetAPI

传送类

package me.Zahachos.ServerManager.commands;

import java.util.HashMap;
import java.util.UUID;

import me.Zahachos.ServerManager.Main;
import me.Zahachos.ServerManager.managers.MessageManager;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;

public class Teleport implements CommandExecutor {

    public static HashMap<UUID, Integer> tpa = new HashMap<UUID, Integer>();
    public static HashMap<UUID, Integer> tph = new HashMap<UUID, Integer>();
    public static HashMap<UUID, UUID> tpaccept = new HashMap<UUID, UUID>();

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {

        if (cmd.getName().equalsIgnoreCase("tp")) {

            if (sender.hasPermission("sm.tp.tp")) {

                if (args.length == 0) {
                    MessageManager.getInstance().severe(sender, "Please specify a player!");
                    return true;
                }
                if (args.length == 1) {

                    if(!(sender instanceof Player)) {
                        MessageManager.getInstance().severe(sender, "The console connot teleport! Specify a second player!");
                        return true;
                    }

                    Player p = (Player) sender;

                    Player target = null;
                    for (Player test : Bukkit.getOnlinePlayers()) {
                        if (test.getName().equals(args[0])) {
                            target = test;
                            break;
                        }
                    }

                    if (target == null) {
                        MessageManager.getInstance().severe(p, "Either that player doesn't exist or he isn't online!");
                        return true;
                    }

                    MessageManager.getInstance().good(p, "You have been teleported to " + target.getName());
                    p.teleport(target);
                    MessageManager.getInstance().info(target, p.getName() + " has teleported to you!");
                    return true;
                }

                if (args.length == 2) {

                    Player target = null;
                    for (Player test : Bukkit.getOnlinePlayers()) {
                        if (test.getName().equals(args[0])) {
                            target = test;
                            break;
                        }
                    }

                    Player target1 = null;
                    for (Player test1 : Bukkit.getOnlinePlayers()) {
                        if (test1.getName().equals(args[1])) {
                            target1 = test1;
                            break;
                        }
                    }

                    if (target == null || target1 == null) {
                        sender.sendMessage(ChatColor.RED + "One of the players doesn't exist or isn't online!");
                        return true;
                    }

                    target.teleport(target1);
                    MessageManager.getInstance().info(target, target1.getName() + " was teleported to you by " + sender.getName() + ".");
                    MessageManager.getInstance().info(target1, "You were teleported to " + target.getName() + " by " + sender.getName() + ".");
                    sender.sendMessage(ChatColor.GREEN + target.getName() + " has been teleported to " + target1.getName() + ".");
                }

                if (args.length > 2) {
                    MessageManager.getInstance().severe(sender, "Too many arguments!");
                    return true;
                }
            }
            MessageManager.getInstance().severe(sender, "Unfortunately you can't do that.");
            return true;

        }

        if (cmd.getName().equalsIgnoreCase("tpall")) {

            if (sender.hasPermission("sm.tp.tpall")) {

                if (!(sender instanceof Player)) {
                    MessageManager.getInstance().severe(sender, "The console can't teleport players to him!");
                    return true;
                }

                if (args.length > 0) {
                    MessageManager.getInstance().severe(sender, "Too many arguments!");
                    return true;
                }

                Player p = (Player) sender;

                for (Player player : Bukkit.getOnlinePlayers()) {
                    player.teleport(p);
                    MessageManager.getInstance().info(player, p.getName() + " has teleported everyone to him.");
                }

                MessageManager.getInstance().good(p, "Everyone one the server was teleported to you!");
                return true;
            }

            MessageManager.getInstance().severe(sender, "Unfortunately you can't do that.");
            return true;
        }

        if (cmd.getName().equalsIgnoreCase("tpa")) {

            if (sender.hasPermission("sm.tp.tpa")) {

                if (!(sender instanceof Player)) {
                    MessageManager.getInstance().severe(sender, "The console cannot teleport!");
                    return true;
                }

                Player p = (Player) sender;

                if (args.length == 0) {
                    MessageManager.getInstance().severe(p, "Please specify a player!");
                    return true;
                }

                if (args.length == 1) {

                    Player target = null;

                    for (Player test : Bukkit.getOnlinePlayers()) {
                        if (test.getName().equals(args[0])) {
                            target = test;
                            break;
                        }
                    }

                    if (target == null) {
                        MessageManager.getInstance().severe(p, "Either that player doesn't exist or he isn't online!");
                        return true;
                    }

                    tpa.put(target.getUniqueId(), 60);
                    tpaccept.put(target.getUniqueId(), p.getUniqueId());

                    if (tpa.size() == 1) {

                        new BukkitRunnable() {

                            @Override
                            public void run() {
                                if (!tpa.isEmpty()) {
                                    for (UUID uuid : tpa.keySet()) {
                                        Player player = Bukkit.getPlayer(uuid);
                                        tpa.put(uuid, tpa.get(uuid) - 1);
                                        if (tpa.get(uuid) == 10) {
                                            if (player.isOnline()) {
                                                MessageManager.getInstance().info(player, "Your teleport request will expire in 10 seconds!");
                                            }
                                        }
                                        if (tpa.get(uuid) == 0) {
                                            if (player.isOnline()) {
                                                MessageManager.getInstance().severe(player, "Your teleport request has expired!");
                                            }
                                            tpa.remove(uuid);
                                            tpaccept.remove(tpaccept.values().remove(uuid));
                                            if (tpa.isEmpty()) {
                                                this.cancel();
                                            }
                                        }
                                    }
                                } else {
                                    this.cancel();
                                }
                            }
                        }.runTaskTimer(Main.plugin, 20L, 20L);

                    }
                    MessageManager.getInstance().custom(target, ChatColor.YELLOW + "Player " + p.getName() + " has requested to teleport to you! Use  " + ChatColor.YELLOW + ChatColor.BOLD + "/tpaccept" + ChatColor.RESET + ChatColor.YELLOW + " to teleport him!");
                    return true;
                }

                MessageManager.getInstance().severe(p, "Too many arguments!");
                return true;
            }

            MessageManager.getInstance().severe(sender, "Unfortunately you can't do that.");
            return true;
        }

        if (cmd.getName().equalsIgnoreCase("tphere")) {

            if (sender.hasPermission("sm.tp.tph")) {

                if (!(sender instanceof Player)) {
                    MessageManager.getInstance().severe(sender, "The console cannot teleport!");
                    return true;
                }

                Player p = (Player) sender;

                if (args.length == 0) {
                    MessageManager.getInstance().severe(p, "Please specify a player!");
                    return true;
                }

                if (args.length == 1) {

                    Player target = null;

                    for (Player test : Bukkit.getOnlinePlayers()) {
                        if (test.getName().equals(args[0])) {
                            target = test;
                            break;
                        }
                    }

                    if (target == null) {
                        MessageManager.getInstance().severe(p, "Either that player doesn't exist or he isn't online!");
                        return true;
                    }

                    tph.put(target.getUniqueId(), 60);
                    tpaccept.put(target.getUniqueId(), p.getUniqueId());

                    if (tph.size() == 1) {

                        new BukkitRunnable() {

                            @Override
                            public void run() {
                                if (!tph.isEmpty()) {
                                    for (UUID uuid : tph.keySet()) {
                                        Player player = Bukkit.getPlayer(uuid);
                                        tph.put(uuid, tph.get(uuid) - 1);
                                        if (tph.get(uuid) == 10) {
                                            if (player.isOnline()) {
                                                MessageManager.getInstance().info(player, "Your teleport request will expire in 10 seconds!");
                                            }
                                        }
                                        if (tph.get(uuid) == 0) {
                                            if (player.isOnline()) {
                                                MessageManager.getInstance().severe(player, "Your teleport request has expired!");
                                            }
                                            tph.remove(uuid);
                                            tpaccept.remove(tpaccept.values().remove(uuid));
                                            if (tph.isEmpty()) {
                                                this.cancel();
                                            }
                                        }
                                    }
                                } else {
                                    this.cancel();
                                }
                            }
                        }.runTaskTimer(Main.plugin, 20L, 20L);

                    }
                    MessageManager.getInstance().custom(target, ChatColor.YELLOW + "Player " + p.getName() + " has requested to teleport to you! Use  " + ChatColor.YELLOW + ChatColor.BOLD + "/tpaccept" + ChatColor.RESET + ChatColor.YELLOW + " to teleport him!");
                    return true;
                }

                MessageManager.getInstance().severe(p, "Too many arguments!");
                return true;
            }

            MessageManager.getInstance().severe(sender, "Unfortunately you can't do that.");
            return true;
        }

        if (cmd.getName().equalsIgnoreCase("tpaccept")) {

            if (sender.hasPermission("sm.tp.tpa")) {

                if (!(sender instanceof Player)) {
                    MessageManager.getInstance().severe(sender, "The console cannot teleport!");
                    return true;
                }

                Player p = (Player) sender;

                if (args.length == 0) {
                    if (tpa.containsKey(p.getUniqueId()) || tpaccept.containsKey(p.getUniqueId())) {
                        Player target = Bukkit.getPlayer(tpaccept.get(p.getUniqueId()));
                        target.teleport(p);
                        tpaccept.remove(p.getUniqueId());
                        tpa.remove(p.getUniqueId());
                        return true;
                    } else if (tpaccept.containsKey(p.getUniqueId()) || tpaccept.containsKey(p.getUniqueId())) {
                        Player target = Bukkit.getPlayer(tpaccept.get(p.getUniqueId()));
                        target.teleport(p);
                        tpaccept.remove(p.getUniqueId());
                        tpa.remove(p.getUniqueId());
                        return true;
                    } else {
                        MessageManager.getInstance().severe(p, "You don't have any active requests!");
                        return true;
                    }
                }

                MessageManager.getInstance().severe(p, "Too many arguments!");
                return true;
            }

            MessageManager.getInstance().severe(sender, "Unfortunately you can't do that.");
            return true;
        }
        return true;
    }
}
plugin.yml

name: ServerManager
main: me.Zahachos.ServerManager.Main
authors: [Zahachos, KarateMan]
version: 0.02
description: This manages the Zaphno's Network.

commands:

    heal:
        usage: /<command> [player]
        aliases: [health, gethealth]
        description: Heal yourself and others.

    feed:
        usage: /<command> [player]
        aliases: [food, getfood, hunger]
        description: Feed yourself and others.

    regenerate:
        usage: /<command> [player]
        aliases: [regen, regeneration]
        description: Heal and feed yourself and others.

    tp:
        usage: /<command> [player] [player2]
        aliases: [regen, regeneration]
        description: Teleport to a player, or another player to one.

    tpall:
        usage: /<command>
        aliases: [teleportall, teleporteveryone]
        description: Teleport everyone to you.    

    tpa:
        usage: /<command> [player]
        aliases: [askteleport]
        description: Ask a player to teleport to him.

    tph:
        usage: /<command> [player]
        aliases: [teleporthere, teleporth]
        description: Ask a player to teleport them to you.

    tpaccept:
        usage: /<command>
        aliases: [teleportaccept, acceptteleport]
        description: Accepts the last teleport request.

    freeze:
        usage: /<command> [username]
        aliases: [freezeplayer]
        description: Freeze or unfreeze a player!

    warp:
        usage: /<command> [warp_name]
        description: Teleport to a saved location!

    setwarp:
        usage: /<command> [warp_name]
        description: Set a warp location!

    delwarp:
        usage: /<command> [warp_name]
        aliases: [deletewarp]
        description: Delete a warp!

    mute:
        usage: /<command> [username] [duration] [reason]
        aliases: [muteplayer]
        description: Temporarily mute a player!

    tempmute:
        usage: /<command>
        aliases: [muteplayer]
        description: Mute a player!

    unmute:
        usage: /<command> [username]
        aliases: [unmuteplayer]
        description: Unmute a player!

    tempban:
        usage: /<command> [username] [duration] [reason]
        aliases: [tempbanplayer]
        description: Temporarily ban a player!

    pardon:
        usage: /<command> [username]
        aliases: [pardonplayer, unban]
        description: Pardon/Unban a player!

    ban:
        usage: /<command> [username] [reason]
        aliases: [setbanned, banplayer]
        description: Permanently ban a player!

    kick:
        usage: /<command> [username] [reason]
        aliases: [setbanned, banplayer]
        description: Kick a player!

    spawn:
        usage: /<command>
        description: Go to the server spawn!

    setspawn:
        usage: /<command>
        description: Set the server spawn!


permissions:

    sm.tp.*:
        description: Use all tp commands!
        children:
            sm.tp.tph: true
            sm.tp.tpa: true
            sm.tp.tp: true
            sm.tp.tpall: true
        default: op

    sm.health.*:
        description: Use all health commands!
        children:
            sm.health.heal: true
            sm.health.feed: true
            sm.health.regen: true
        default: op

    sm.mute.*:
        description: Use all mute commands!
        children:
            sm.mute.mute: true
            sm.mute.unmute: true
            sm.mute.canChat: true
            sm.mute.tempmute: true
        default: op

    sm.ban.*:
        description: Use all ban commands!
        children:
            sm.ban.pardon: true
            sm.ban.ban: true
            sm.ban.kick: true
            sm.ban.tempban: true
        default: op

    sm.warp.*:
        description: Use all warp commands!
        children:
            sm.warp.set: true
            sm.warp.warp: true
            sm.warp.delete: true
        default: op


    sm.heath.heal:
        default: op
        description: Heal a player!

    sm.heath.feed:
        default: op
        description: Feed a player!

    sm.heath.regen:
        default: op
        description: Heal and feed a player!    

    sm.tp.tp:
        default: op
        description: Teleport to a player, or another player to one!    

    sm.tp.tpall:
        default: op
        description: Teleport everyone to you!    

    sm.tp.tph:
        default: op
        description: Ask a player to teleport them to you.      

    sm.tp.tpa:
        default: op
        description: Teleport only if a player accepts!

    sm.mute.mute:
        default: op
        description: Mute a player!

    sm.mute.unmute:
        default: op
        description: Unmute a player!

    sm.mute.canChat:
        default: op
        description: Sets if a muted player can chat!

    sm.ban.tempban:
        default: op
        description: Temporarily ban a player!

    sm.ban.pardon:
        default: op
        description: Pardon/Unban a player!

    sm.ban.ban:
        default: op
        description: Permanently ban a player!

    sm.ban.kick:
        default: op
        description: Kick a player!

    sm.mute.tempmute:
        default: op
        description: Temporarily mute a player!

    sm.freeze:
        default: op
        description: Freeze or unfreeze a player!

    sm.warp.warp:
        default: op
        description: Teleport to a saved location!

    sm.warp.set:
        default: op
        description: Set a warp location!

    sm.warp.delete:
        default: op
        description: Delete a warp!

    sm.setspawn:
        default: op
        description: Set the server spawn!
名称:服务器管理器
main:me.Zahachos.ServerManager.main
作者:[Zahachos,KarateMan]
版本:0.02
描述:管理Zaphno的网络。
命令:
治愈:
用法:/[player]
别名:[健康,gethealth]
描述:治愈自己和他人。
提要:
用法:/[player]
别名:[食物,获取食物,饥饿]
描述:养活自己和他人。
重新生成:
用法:/[player]
别名:[再生,再生]
描述:治愈并喂养自己和他人。
tp:
用法:/[player][player2]
别名:[再生,再生]
描述:传送到一个玩家,或另一个玩家传送到一个玩家。
t电话:
用法:/
别名:[传送所有,传送每个人]
描述:传送每个人到你身边。
tpa:
用法:/[player]
别名:[askteleport]
描述:要求玩家传送给他。
tph:
用法:/[player]
别名:[Teleporther,teleporth]
描述:请玩家将它们传送给你。
t接受:
用法:/
别名:[传送接受,传送接受]
描述:接受最后一次传送请求。
冻结:
用法:/[用户名]
别名:[冻结玩家]
描述:冻结或解冻玩家!
弯曲:
用法:/[warp\u name]
描述:传送到保存的位置!
setwarp:
用法:/[warp\u name]
描述:设置扭曲位置!
德尔瓦普:
用法:/[warp\u name]
别名:[deletewarp]
描述:删除扭曲!
静音:
用法:/[用户名][持续时间][原因]
别名:[muteplayer]
描述:暂时使玩家静音!
临时静音:
用法:/
别名:[muteplayer]
说明:使玩家静音!
取消静音:
用法:/[用户名]
别名:[取消静音播放器]
描述:取消对玩家的静音!
坦潘:
用法:/[用户名][持续时间][原因]
别名:[tempbanplayer]
描述:暂时禁止玩家!
请原谅:
用法:/[用户名]
别名:[玩家,unban]
描述:赦免/解除对玩家的禁令!
禁令:
用法:/[用户名][原因]
别名:[受挫,banplayer]
描述:永久禁止玩家!
踢:
用法:/[用户名][原因]
别名:[受挫,banplayer]
描述:踢一个球员!
产卵:
用法:/
描述:转到服务器繁殖!
固定兵:
用法:/
描述:设置服务器繁殖!
权限:
sm.tp.*:
说明:使用所有tp命令!
儿童:
sm.tp.tph:正确
sm.tp.tpa:正确
sm.tp.tp:正确
sm.tp.tpall:正确
默认值:op
sm.健康。*:
说明:使用所有运行状况命令!
儿童:
sm.health.heal:正确
sm.health.feed:正确
sm.health.regen:对
默认值:op
sm.mute.*:
说明:使用所有静音命令!
儿童:
sm.mute.mute:true
sm.mute.unmute:true
是的
sm.mute.tempmute:真
默认值:op
sm.ban.*:
说明:使用所有ban命令!
儿童:
请原谅:是的
sm.ban.ban:对
sm.ban.kick:对
sm.ban.tempban:对
默认值:op
sm.warp.*:
描述:使用所有扭曲命令!
儿童:
sm.warp.set:真
sm.warp.warp:对
sm.warp.delete:true
默认值:op
sm.heath.heal:
默认值:op
描述:治疗一个玩家!
sm.heath.feed:
默认值:op
描述:喂一个玩家!
sm.heath.regen:
默认值:op
描述:治疗并喂养玩家!
sm.tp.tp:
默认值:op
描述:传送到一个玩家,或另一个玩家到一个!
sm.tp.tpall:
默认值:op
描述:传送每个人到你身边!
sm.tp.tph:
默认值:op
描述:请玩家将它们传送给你。
sm.tp.tpa:
默认值:op
说明:仅当玩家接受时进行远程传送!
sm.mute.mute:
默认值:op
说明:使玩家静音!
sm.mute.unmute:
默认值:op
描述:取消对玩家的静音!
sm.mute.canChat:
默认值:op
描述:设置静音玩家是否可以聊天!
sm.ban.tempban:
默认值:op
描述:暂时禁止玩家!
请原谅:
默认值:op
描述:赦免/解除对玩家的禁令!
sm.ban.ban:
默认值:op
描述:永久禁止玩家!
sm.ban.kick:
默认值:op
描述:踢一个球员!
sm.mute.tempmute:
默认值:op
描述:暂时使玩家静音!
sm.冻结:
默认值:op
描述:冻结或解冻玩家!
sm.warp.warp:
默认值:op
描述:传送到保存的位置!
sm.warp.set:
默认值:op
描述:设置扭曲位置!
sm.warp.delete:
默认值:op
描述:删除扭曲!
sm.setspawn:
默认值:op
描述:设置服务器繁殖!

根据您所说的,那么问题一定出在您的插件文件中,而不是plugin.ym或main类中。
name: ServerManager
main: me.Zahachos.ServerManager.Main
authors: [Zahachos, KarateMan]
version: 0.02
description: This manages the Zaphno's Network.

commands:

    heal:
        usage: /<command> [player]
        aliases: [health, gethealth]
        description: Heal yourself and others.

    feed:
        usage: /<command> [player]
        aliases: [food, getfood, hunger]
        description: Feed yourself and others.

    regenerate:
        usage: /<command> [player]
        aliases: [regen, regeneration]
        description: Heal and feed yourself and others.

    tp:
        usage: /<command> [player] [player2]
        aliases: [regen, regeneration]
        description: Teleport to a player, or another player to one.

    tpall:
        usage: /<command>
        aliases: [teleportall, teleporteveryone]
        description: Teleport everyone to you.    

    tpa:
        usage: /<command> [player]
        aliases: [askteleport]
        description: Ask a player to teleport to him.

    tph:
        usage: /<command> [player]
        aliases: [teleporthere, teleporth]
        description: Ask a player to teleport them to you.

    tpaccept:
        usage: /<command>
        aliases: [teleportaccept, acceptteleport]
        description: Accepts the last teleport request.

    freeze:
        usage: /<command> [username]
        aliases: [freezeplayer]
        description: Freeze or unfreeze a player!

    warp:
        usage: /<command> [warp_name]
        description: Teleport to a saved location!

    setwarp:
        usage: /<command> [warp_name]
        description: Set a warp location!

    delwarp:
        usage: /<command> [warp_name]
        aliases: [deletewarp]
        description: Delete a warp!

    mute:
        usage: /<command> [username] [duration] [reason]
        aliases: [muteplayer]
        description: Temporarily mute a player!

    tempmute:
        usage: /<command>
        aliases: [muteplayer]
        description: Mute a player!

    unmute:
        usage: /<command> [username]
        aliases: [unmuteplayer]
        description: Unmute a player!

    tempban:
        usage: /<command> [username] [duration] [reason]
        aliases: [tempbanplayer]
        description: Temporarily ban a player!

    pardon:
        usage: /<command> [username]
        aliases: [pardonplayer, unban]
        description: Pardon/Unban a player!

    ban:
        usage: /<command> [username] [reason]
        aliases: [setbanned, banplayer]
        description: Permanently ban a player!

    kick:
        usage: /<command> [username] [reason]
        aliases: [setbanned, banplayer]
        description: Kick a player!

    spawn:
        usage: /<command>
        description: Go to the server spawn!

    setspawn:
        usage: /<command>
        description: Set the server spawn!


permissions:

    sm.tp.*:
        description: Use all tp commands!
        children:
            sm.tp.tph: true
            sm.tp.tpa: true
            sm.tp.tp: true
            sm.tp.tpall: true
        default: op

    sm.health.*:
        description: Use all health commands!
        children:
            sm.health.heal: true
            sm.health.feed: true
            sm.health.regen: true
        default: op

    sm.mute.*:
        description: Use all mute commands!
        children:
            sm.mute.mute: true
            sm.mute.unmute: true
            sm.mute.canChat: true
            sm.mute.tempmute: true
        default: op

    sm.ban.*:
        description: Use all ban commands!
        children:
            sm.ban.pardon: true
            sm.ban.ban: true
            sm.ban.kick: true
            sm.ban.tempban: true
        default: op

    sm.warp.*:
        description: Use all warp commands!
        children:
            sm.warp.set: true
            sm.warp.warp: true
            sm.warp.delete: true
        default: op


    sm.heath.heal:
        default: op
        description: Heal a player!

    sm.heath.feed:
        default: op
        description: Feed a player!

    sm.heath.regen:
        default: op
        description: Heal and feed a player!    

    sm.tp.tp:
        default: op
        description: Teleport to a player, or another player to one!    

    sm.tp.tpall:
        default: op
        description: Teleport everyone to you!    

    sm.tp.tph:
        default: op
        description: Ask a player to teleport them to you.      

    sm.tp.tpa:
        default: op
        description: Teleport only if a player accepts!

    sm.mute.mute:
        default: op
        description: Mute a player!

    sm.mute.unmute:
        default: op
        description: Unmute a player!

    sm.mute.canChat:
        default: op
        description: Sets if a muted player can chat!

    sm.ban.tempban:
        default: op
        description: Temporarily ban a player!

    sm.ban.pardon:
        default: op
        description: Pardon/Unban a player!

    sm.ban.ban:
        default: op
        description: Permanently ban a player!

    sm.ban.kick:
        default: op
        description: Kick a player!

    sm.mute.tempmute:
        default: op
        description: Temporarily mute a player!

    sm.freeze:
        default: op
        description: Freeze or unfreeze a player!

    sm.warp.warp:
        default: op
        description: Teleport to a saved location!

    sm.warp.set:
        default: op
        description: Set a warp location!

    sm.warp.delete:
        default: op
        description: Delete a warp!

    sm.setspawn:
        default: op
        description: Set the server spawn!