Player Join Event 不行?

Player Join Event is not work?

我认为这行不通。请帮我解决它。

代码:

   @EventHandler
   public void onPlayerJoin(PlayerJoinEvent e,Player p,String JoinMessage){
    e.setJoinMessage(null);
    Bukkit.broadcastMessage("&e&l" + p + "&bJoin Server");
    Bukkit.getServer().getLogger().info(p + "join server");
    e.getPlayer().sendMessage(getConfig().getString("motd"));
    p.sendMessage("&aWelcome to Server");

首先,去掉Player & String,你只需要在参数中有事件。

您已经有了一个配置文件,所以我不明白为什么您需要在事件参数中添加一个字符串。请记住,如果我们可以看到您的主要 class,那么您的 class 必须实现 Listener,这样我们就可以看到您拥有正确的代码。

颜色代码有效吗?我想知道因为没有 ChatColor.translateAlternateColorCodes('&', message)

ChatColor.YELLOW + "" + ChatColor.BOLD + p + ChatColor.AQUA + "Join Server"

不明白的请勾选here

修复示例:

   @EventHandler
   public void onPlayerJoin(PlayerJoinEvent e){ // Removed the extra parameters Player & String
    Player p = e.getPlayer();
    e.setJoinMessage(null);
    Bukkit.broadcastMessage("&e&l" + p.getDisplayName() + "&bJoin Server") //I would recommend doing 'p.getName();' instead of 'p'
    Bukkit.getServer().getLogger().info(p.getDisplayName() + "join server");
    p.sendMessage(getConfig().getString("motd")); // Removed 'e.getPlayer().sendMessage("")'
    p.sendMessage("&aWelcome to Server");
   } // Could not see a close brace here in your code

如果这不是您的问题,请解释一下,因为大多数人不会理解您的问题。