【攻略】插件制作教学-2.指令

1.创建指令名称

打开plugin.yml文件。
这边内容听说只能中文。
加入开头的指令名称,看你想怎命名。
在使用时就会像是这样/backhome。
description 就指令的说明,随便打。
aliases指令的缩写,可以用/bh来代表/backhome这指令。

2.创建指令运行类

通常我会创建个文件夹,来放有关指令的东西。
右键选择backhome文件夹->选择新建->软件包。
在打上你认为代表指令的英文,例如command,输入完后Enter确定。
在右键点击command文件夹->选择新建->选择Java类。
再输入你想要的运行指令的东东名称,例如MainCommand。
在打开刚刚创的运行指令的东东,输入以下代码。
public class MainCommand implements CommandExecutor {

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

return false;
}
}

输入完后会有红色的错误字,只要点击红色字,在案Alt+Enter。

就会帮你把需要的地方补完,这些东西是红红字东东的路径。
再来是在插件的进入地方,加入对这指令运行的监听。
打开BackHome文件,在插件启动的地方加入这段。
getPluginCommand里面就是填你在plugins所命名的指令名称。
setExecutor则是填你的命令运行的文件,会用new  MainCommand()是因为要创建一个新的,因为原本他不存在。
现在开始编写一个测试指令。
打开MainCommand,看到sender和 args。
sender代表命列的运行者,可以是控制台或任何玩家。
args代表/backhome后面的指令值。
例如/backhome set 1, args[0] 就会代表set , args[1] 就会代表1,以此类推。
请输入以下代码,来测试指令是否有效。
if(args.length == 1){
if(args[0].equals(“test”)){
BackHome.backHome.getLogger().info(testMessage);
if(sender instanceof Player){
Player player = (Player) sender;
player.sendMessage(testMessage);
}
}
}

前面加两条/就会变成注解。


3.创建指令提示补全

在command文件夹下创建一个TabCommand,并输入以下代码。
public class TabCommand implements TabCompleter {
@Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args){
List<String> commandList = new ArrayList<>();
if(args.length == 1){
commandList.add(“test”);
}
return commandList;
}
}

以下是基本内容。
完成的内容
命令补全也是跟命令运行一样,要加入监听。
Bukkit.getPluginCommand(“backhome”).setTabCompleter(new TabCommand());

3.指令的测试

在控制台运行的结果
因为刚刚有创建命令补全,到第1个位置就会显示你要提示的命令。
运行结果

4.加入讨论群

本文来自网络,不代表3楼猫立场,转载请注明出处:https://www.3loumao.org/15968.html
返回顶部