我正在嘗試為 Minecraft 創建我的第一個插件,但是,我不斷收到錯誤:構造函數 MyFirstListener(Main) 未定義,并且: PluginManager 類型中的方法 registerEvents(Listener, Plugin) 不適用于參數 (MyFirstListener, Main)我不知道把它放在哪里,因為我對 Java 和插件的編碼還很陌生,所以我把它放在這里。//first class package com.courbie.helloworld;import org.bukkit.event.EventHandler;import org.bukkit.plugin.PluginManager;import org.bukkit.plugin.java.JavaPlugin;public class Main extends JavaPlugin{ @EventHandler public void onEnable() { getLogger().info("Hey Courbie, have a good day!"); PluginManager pm = getServer().getPluginManager(); MyFirstListener listener = new MyFirstListener(); pm.registerEvents(listener, this); } @Override public void onDisable() { getLogger().info("MyPlugin has been disabled."); }}//Second classpackage com.courbie.helloworld;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.player.PlayerJoinEvent;public class MyFirstListener implements Listener{ //Constructor public void FirstListener (final Main Plugin) { } //EventHandler @EventHandler public void onPlayerJoin(PlayerJoinEvent event) { event.getPlayer().sendMessage("Hello! How are you today Courbie?"); }}
2 回答

精慕HU
TA貢獻1845條經驗 獲得超8個贊
您的構造函數不正確。首先構造函數不應該有返回類型,其次它應該與類命名相同。改成:
//Constructor
public MyFirstListener (final Main plugin) {
你調用這個構造函數的方式也有問題。你寫:
MyFirstListener listener = new MyFirstListener();
但是您的構造函數采用類型為 的參數Main。您可以從構造函數中刪除參數:
//Constructor
public MyFirstListener () {
或者你可以傳遞一個類型的參數Main:
MyFirstListener listener = new MyFirstListener(this);
添加回答
舉報
0/150
提交
取消