package tc.oc.api.bukkit.users;
import javax.annotation.Nullable;
import javax.inject.Inject;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import tc.oc.api.docs.PlayerId;
import tc.oc.api.docs.UserId;
public class Users {
@Inject private static BukkitUserStore userStore;
/**
* This method is for legacy support ONLY.
*
* Use {@link BukkitUserStore#getUser(UserId)} instead.
*/
@Deprecated
public static PlayerId playerId(Player player) {
return userStore.getUser(player);
}
/**
* This method is for legacy support ONLY.
*
* Use {@link OnlinePlayers#find(UserId)} instead.
*/
@Deprecated
public static @Nullable Player player(PlayerId playerId) {
return Bukkit.getPlayerExact(playerId.username());
}
public static boolean equals(PlayerId playerId, Player player) {
return playerId.username().equals(player.getName());
}
public static boolean equals(PlayerId playerId, CommandSender sender) {
return sender instanceof Player && equals(playerId, (Player) sender);
}
public static boolean isOnline(PlayerId playerId) {
return player(playerId) != null;
}
}