1
0
mirror of https://e.coding.net/circlecloud/SimpleEssential.git synced 2025-01-06 12:18:56 +00:00

add register command tip...

Signed-off-by: j502647092 <jtb1@163.com>
This commit is contained in:
j502647092 2015-08-22 22:23:11 +08:00
parent fcdb4236fa
commit 31448d3408

View File

@ -1,16 +1,16 @@
/** /**
* *
*/ */
package cn.citycraft.SimpleEssential.command; package cn.citycraft.SimpleEssential.command;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandException; import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
/** /**
* 基础命令类 * 基础命令类
* *
* @author 蒋天蓓 * @author 蒋天蓓 2015年8月12日下午12:49:34
* 2015年8月12日下午12:49:34
*/ */
public abstract class BaseCommand { public abstract class BaseCommand {
private String name; private String name;
@ -24,66 +24,12 @@ public abstract class BaseCommand {
public BaseCommand(String name, String... aliases) { public BaseCommand(String name, String... aliases) {
this.name = name; this.name = name;
this.aliases = aliases; this.aliases = aliases;
Bukkit.getLogger().info("注册命令: " + name + aliases);
} }
/**
* 获取命令名称
*
* @return 命令名称
*/
public String getName() {
return name;
}
/**
* 设置命令权限
*
* @param permission
* - 命令权限
*/
public void setPermission(String permission) {
this.permission = permission;
}
/**
* 获得命令权限
*
* @return 目录命令权限
*/
public String getPermission() {
return permission;
}
/**
* 检查Sender权限
*
* @param sender
* - 命令发送者
* @return 是否有权限执行命令
*/
public final boolean hasPermission(CommandSender sender) {
if (permission == null)
return true;
return sender.hasPermission(permission);
}
/**
* 获得可能的参数
*
* @return
*/
public abstract String getPossibleArguments();
/**
* 获得最小参数个数
*
* @return 最小参数个数
*/
public abstract int getMinimumArguments();
/** /**
* 执行命令参数 * 执行命令参数
* *
* @param sender * @param sender
* - 命令发送者 * - 命令发送者
* @param label * @param label
@ -95,32 +41,85 @@ public abstract class BaseCommand {
*/ */
public abstract void execute(CommandSender sender, String label, String[] args) throws CommandException; public abstract void execute(CommandSender sender, String label, String[] args) throws CommandException;
/**
* 获得最小参数个数
*
* @return 最小参数个数
*/
public abstract int getMinimumArguments();
/**
* 获取命令名称
*
* @return 命令名称
*/
public String getName() {
return name;
}
/**
* 获得命令权限
*
* @return 目录命令权限
*/
public String getPermission() {
return permission;
}
/**
* 获得可能的参数
*
* @return
*/
public abstract String getPossibleArguments();
/**
* 检查Sender权限
*
* @param sender
* - 命令发送者
* @return 是否有权限执行命令
*/
public final boolean hasPermission(CommandSender sender) {
if (permission == null)
return true;
return sender.hasPermission(permission);
}
/** /**
* 是否只有玩家才能执行此命令 * 是否只有玩家才能执行此命令
* *
* @return 是否为玩家命令 * @return 是否为玩家命令
*/ */
public abstract boolean isOnlyPlayerExecutable(); public abstract boolean isOnlyPlayerExecutable();
/** /**
* 命令匹配检测 * 命令匹配检测
* *
* @param name * @param name
* - 命令 * - 命令
* @return 是否匹配 * @return 是否匹配
*/ */
public final boolean isValidTrigger(String name) { public final boolean isValidTrigger(String name) {
if (this.name.equalsIgnoreCase(name)) { if (this.name.equalsIgnoreCase(name))
return true; return true;
}
if (aliases != null) { if (aliases != null) {
for (String alias : aliases) { for (String alias : aliases) {
if (alias.equalsIgnoreCase(name)) { if (alias.equalsIgnoreCase(name))
return true; return true;
}
} }
} }
return false; return false;
} }
/**
* 设置命令权限
*
* @param permission
* - 命令权限
*/
public void setPermission(String permission) {
this.permission = permission;
}
} }