0

私は混合モード認証(私自身のバージョン)を作成しようとしていますが、スターがリンクされている行で問題があり、[Syntax error on token "(", ; expected],[Syntax error on token " )", ; 期待される]、[void は変数 onPlayerJoin の無効な型です]、Java はまだ機能可能ですか?

    public class MixedPlugin extends JavaPlugin implements Listener{
    @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");
              }
            }
        }
    }
    public String getURL(String url){
         Logger log = Logger.getLogger("Minecraft");
        String inputLine = "";
        try{
          URL mcheck = new URL(url);
          URLConnection mcheckc = mcheck.openConnection();
          mcheckc.setReadTimeout(1500);
          BufferedReader in = new BufferedReader(new InputStreamReader(mcheckc.getInputStream()));
          inputLine = in.readLine();
          in.close();
          return inputLine;
        } catch(Exception e){
          log.warning("Error retrieving "+url+": "+e.getMessage());
        }
        return "ERROR";
      }
    @Override
    public void onDisable(){
        getLogger().info("You have disable Mixed Mode");
    }
}
4

2 に答える 2

4

これは有効なコードではありません。Java では、現在行っているようなネストされた関数は許可されていません (別名、メソッドonPlayerJoin内に配置しないでください。onEnable

そのため、内部ではなくメソッド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");
      }
    }
}
于 2013-06-03T14:16:36.683 に答える