我有一个插件,当他加入时会向玩家发送消息:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent p){
Player a = p.getPlayer();
a.sendMessage(ChatColor.BLUE + "Welcome message");
}
我想要的是在他加入时向玩家发送两条可能的消息:
如果这是玩家第一次加入服务器,例如“欢迎使用服务器”
另一个是玩家之前是否已加入服务器。怎么办呢?
如何检查播放器是否已播放,以便我可以自定义此行为?
答案 0 :(得分:1)
Player
对象有一种方法可以确定玩家之前是否已在服务器上玩过:
yourPlayer.hasPlayedBefore();
此方法返回一个布尔值,如果播放器已在服务器上播放,则为true,否则为false。
您可以在播放器加入服务器时自定义欢迎消息,其代码如下所示:
@EventHandler
public void onPlayerJoin(PlayeRJoinEvent p) {
Player a = p.getPlayer();
boolean hasPlayed = a.hasPlayedBefore();
if (hasPlayed){
a.sendMessage("Welcome back to the server!");
}else {
a.sendMessage("Welcome to our server! This is your first time playing!"
}
}
布尔值与你的玩家一起保存,所以无论是否曾经玩过,它都将始终是玩家的情况。即使服务器重新启动或世界发生变化(只要不删除播放器文件夹)