Minecraft Bukkit 插件抛出语法错误

wui*_*ang 0 java minecraft bukkit

我正在尝试制作混合模式身份验证(我自己版本的身份验证插件),但是有一个问题 - 在带有星号的行中,我收到以下错误:

Syntax error on token "(", ; expected
Syntax error on token ")", ; expected
void is an invalid type for the variable onPlayerJoin
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

Syntax error on token "(", ; expected
Syntax error on token ")", ; expected
void is an invalid type for the variable onPlayerJoin
Run Code Online (Sandbox Code Playgroud)

gre*_*dha 5

这不是有效的代码。Java 不允许像您当前所做的那样嵌套函数(也就是不要放在方法onPlayerJoin内部onEnable

所以把方法放在not里面onPlayerJoin之后onEnable

例子:

@Override
public void onEnable(){
    getLogger().info("Mixed Mode: ON");
    getCommand("mm").setExecutor(new MixedCommand());
}

@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    String name = player.getName();
    boolean isGood = getURL("http://minecraft.net/haspaid.jsp?user=deadmau5" + name).equals("true");
    if (isGood) {
      player.sendMessage("Welcome back to server!");
    }
    else {
      List<String> ex = getConfig().getStringList("allow");
      if (((MemorySection)ex).getStringList("allow").contains(player.getName())) {
        player.sendMessage("Welcome back to server!");
        player.sendMessage("You are a few person that are using cracked minecraft and allowed to join this premium server!");
      } else {
        player.kickPlayer("Failed to login: User not premium");
      }
    }
}
Run Code Online (Sandbox Code Playgroud)