【攻略】插件製作教學-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?variant=zh-tw
返回頂部