2017-05-31 66 views
-6

我覺得不行。請幫我解決它。玩家加入事件不起作用?

代碼:

所有的
@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"); 
+1

請說明你的問題是什麼。目前尚不清楚你現在要問什麼。 – Lexi

+0

只能使用PlayerJoinEvent作爲參數,刪除播放器和字符串 – Squiddie

回答

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 

如果這不是你的問題,那麼請你解釋,因爲大多數人不會理解你的問題。

+0

謝謝!這行得通。 –

+0

但是http://imgur.com/U2MHTPS –

+0

在字符串中使用'p.getName()'或'p.getDisplayName()'而不是'p' – BeastlyMC956