作为一个插件,具有指令是必不可少的,特别是一个集成插件,更是要分离玩家指令和OP指令。同样为了方便管理,我们先创建一个命令子包,重置计划先搁置,先讲怎么写命令。
包下新建一个 传统指令类A.java,这时候可能读者会觉得一个类可以塞好几条指令,实际上传统写法中,一个类只能容纳一条指令,所有我们先讲传统写法:
集成
public class 传统指令类A extends Command {
protected 传统指令类A() { super("tpa"); }
@Override
public boolean execute(CommandSender cs, String cn, String[] c) {
if(c.length == 1 && cs instanceof Player p) {
Player bp = Bukkit.getPlayer(c[0]);
if(bp == null || CyanHoning.fa.getTpmap().get(p).equals(bp)) {
p.sendMessage("§6请勿重复发送请求或目标玩家不存在!");
return true;
} else {
CyanHoning.fa.getTpmap().put(bp, p);
p.sendMessage("§6传送请求已发送至§b" + bp + "!");
bp.sendMessage("§6收到来自§b" + p.getName() + "的传送请求。");
return true;
}
}
cs.sendMessage("指令格式非法!\n/tpa 玩家名");
return true;
}
}