我认为不行。请帮我修理一下。
代码:
@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");
答案 0 :(得分:1)
首先,删除播放器&字符串,您应该只在参数中包含事件。
您已经有一个配置文件,所以我不明白为什么在事件的参数中需要一个字符串。请记住,如果我们能够看到您的主要类很好,那么我们可以看到您拥有正确的代码,那么您的类必须实现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
如果这不是您的问题,请解释一下,因为大多数人都不会理解您的问题。