希望你們能幫我解決這個問題。我對Java很陌生,對BukkitAPI很新。我只是繼續前進並嘗試項目,然後在我無法解決問題時進行大量的研究,從而學到了最好的東西。對命令使用多個類,命令不起作用?
我看了四周,我無法弄清楚爲什麼這不起作用。我試圖做一個插件,並且正在利用多個組織和清潔類。我正在輸入一切應該如何輸入,並已在這裏打開this tutorial。這有點舊,所以有些東西可能已經改變了。問題是,當我運行命令時,我沒有得到任何錯誤,但它什麼都不做。它說:「Alj23在控制檯發佈了服務器命令:/ hello(這是我的命令,直到我解決這個問題時),但沒有任何反應,聊天中沒有消息,沒有任何消息,控制檯沒有錯誤。誰發出命令的消息說:「你好!」(也是暫時的現在)我只是不知道它爲什麼它的作品。
我還在學習,所以我很可能做一些公然錯誤的東西我也可能在追蹤不良行爲或做不必要的東西,所以如果是這樣,這將是驚人的,如果你能指出來
我的主類:
package me.Alj23.RPGClasses;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;
public class RPGClassesMain extends JavaPlugin implements Listener
{
public void OnEnable()
{
this.getCommand("hello").setExecutor(new WarriorInfo(this));
}
public void OnDisable()
{
}
執行該代碼的命令的類:
package me.Alj23.RPGClasses;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class WarriorInfo implements CommandExecutor
{
RPGClassesMain plugin;
public WarriorInfo (RPGClassesMain passedPlugin)
{
this.plugin = passedPlugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label,String[] arg3)
{
Player player = (Player) sender;
player.sendMessage("Hello there!");
return false
}
}
Plugin.yml:
name: RPGClasses
version: 1.0
main: me.Alj23.RPGClasses.RPGClassesMain
description: Choose beyond a wide scope of classes!
commands:
hello:
description: placeholder!
這個yaml文件是否與您擁有的一樣?檢查間距/對齊要求。 – Celeo 2014-12-01 23:35:14
不需要,我必須做四個空間縮進才能使其成爲代碼。我在我的實際plugin.yml格式正確,否則它會告訴我,我有一個無效的plugin.yml,對不對? – austinj1022 2014-12-01 23:44:52
不,它不會註冊任何命令,在訪問'Command.setExecutor(CommandExecutor)'時是'NullPointerException'。 – 2014-12-02 07:40:16