1
0
mirror of https://e.coding.net/circlecloud/SimpleEssential.git synced 2024-11-16 01:08:46 +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;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandException;
import org.bukkit.command.CommandSender;
/**
* 基础命令类
*
* @author 蒋天蓓
* 2015年8月12日下午12:49:34
*
* @author 蒋天蓓 2015年8月12日下午12:49:34
*/
public abstract class BaseCommand {
private String name;
@ -24,66 +24,12 @@ public abstract class BaseCommand {
public BaseCommand(String name, String... aliases) {
this.name = name;
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 label
@ -95,32 +41,85 @@ public abstract class BaseCommand {
*/
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 是否为玩家命令
*/
public abstract boolean isOnlyPlayerExecutable();
/**
* 命令匹配检测
*
*
* @param name
* - 命令
* @return 是否匹配
*/
public final boolean isValidTrigger(String name) {
if (this.name.equalsIgnoreCase(name)) {
if (this.name.equalsIgnoreCase(name))
return true;
}
if (aliases != null) {
for (String alias : aliases) {
if (alias.equalsIgnoreCase(name)) {
if (alias.equalsIgnoreCase(name))
return true;
}
}
}
return false;
}
/**
* 设置命令权限
*
* @param permission
* - 命令权限
*/
public void setPermission(String permission) {
this.permission = permission;
}
}