我正在尝试为 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
提交
取消