Bukkit 插件语法错误,多个 类

Bukkit plugin Syntax error, multiple classes

我正在尝试使用多个 类 创建插件,但是当我在 Minecraft 中键入命令时,它显示命令语法错误消息(语法错误!只需键入 /ct create .).我认为这是某个地方的愚蠢错误,但我找不到它。

我的core.java:

public class Core extends JavaPlugin {

    public ArrayList<Block> chests = new ArrayList<>();

    public boolean createMode = false;

    public void onEnabled() {
        getCommand("ct").setExecutor(new Commands(this));
        getServer().getPluginManager().registerEvents(new Listeners(this), this);
    }
}

我的Commands.java:

public class Commands implements CommandExecutor {

private Core plugin;

public Commands(Core core) {
    this.plugin = core;
}

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("ct")) {
        sender.sendMessage("lol");
        if(args.length > 0) {
            sender.sendMessage("hi");
            if(args[0].equalsIgnoreCase("create")) {
                plugin.createMode = true;
                sender.sendMessage(ChatColor.GOLD + "[ChestTreasure] " + ChatColor.RESET + "Now rightclick the chest");
            }
        } else {
            sender.sendMessage(ChatColor.GOLD + "[ChestTreasure] " + ChatColor.RESET + "Too few arguments!");
        }
    }
    return false;
}

}

我的plugin.yml:

name: ChestTreasure 
description: this plugin... 
main: me.sudoman281.chestTreasure.Core 
version: 1.0 
author: sudoman281

commands:    
  ct:
     description: ...
     permission: ct.create
     usage: Syntax error! Simply type /ct create.

您必须通过使用 完全相同的名称和方法 signature/return 类型 来正确覆盖该方法。为此,您必须执行以下操作:

  1. 根据 Bukkit API
  2. ,您的 onEnabled 方法应该是 onEnable
  3. 您应该始终使用 @Override 注释来表示您正在覆盖超类方法。 (可选但强烈推荐用于查找错误和约定。没有它也可以工作)

您的 onEnable 应如下所示:

@Override
public void onEnable() {
    /* Do stuff when plugin starts */
}