我正在为我的“我的”服务器编写核心插件,当我遇到这个问题时,我正在实现PlayerJoin和Player的离开函数。
当我试图编译或打包时,它说:
Incompatible types. Found: 'java.lang.String', required: 'org.bukkit.entity.Player'我不知道该怎么处理它。
这是代码:
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
public class PlayerJoin implements Listener {
@EventHandler
void onPlayerJoin(PlayerJoinEvent e){
Player player = e.getPlayer().getDisplayName();
e.setJoinMessage(ChatColor.GREEN + "[+] " + ChatColor.GRAY + "Welcome back adventurer! You may now continue your quest " + ChatColor.GREEN + player.getDisplayName());
}
}发布于 2022-03-08 17:28:41
e.getPlayer()方法已经返回播放机。您使用getDisplayName()太早了,您应该删除它,比如在更改联接消息时调用它。
方法getDisplayName()返回一个字符串,不能更改为Player。所以你才会有这个问题。
最后,您将得到以下代码:
public class PlayerJoin implements Listener {
@EventHandler
void onPlayerJoin(PlayerJoinEvent e){
Player player = e.getPlayer();
e.setJoinMessage(ChatColor.GREEN + "[+] " + ChatColor.GRAY + "Welcome back adventurer! You may now continue your quest " + ChatColor.GREEN + player.getDisplayName());
}
}https://stackoverflow.com/questions/71399052
复制相似问题