@Override public boolean hasPermission(String worldName, OfflinePlayer player, String permission) { return manager.has(player.getUniqueId(), permission, worldName); }
@Override public Map<String, String> write() { Map<String, String> result = new LinkedHashMap<>(); // target if (list.type == Type.NAME) { OfflinePlayer player = Bukkit.getOfflinePlayer(target); result.put("uuid", UuidUtils.toString(player.getUniqueId())); result.put("name", player.getName()); } else if (list.type == Type.IP) { result.put("ip", target); } // other data result.put("created", GlowBanList.DATE_FORMAT.format(created)); result.put("source", source); result.put("expires", expires == null ? GlowBanList.FOREVER : GlowBanList.DATE_FORMAT.format(expires)); result.put("reason", reason); return result; }
@Override public void setOwningPlayer(OfflinePlayer offlinePlayer) { this.owner = new GlowPlayerProfile(offlinePlayer.getName(), offlinePlayer.getUniqueId(), true); }
/** * Gets every player that has ever played on this server. * * @return An OfflinePlayer[] future. */ public CompletableFuture<OfflinePlayer[]> getOfflinePlayersAsync() { Set<OfflinePlayer> result = new HashSet<>(); Set<UUID> uuids = new HashSet<>(); // add the currently online players for (World world : getWorlds()) { for (Player player : world.getPlayers()) { result.add(player); uuids.add(player.getUniqueId()); } } return getPlayerDataService().getOfflinePlayers() .thenAcceptAsync(offlinePlayers -> offlinePlayers.stream() .filter(offline -> !uuids.contains(offline.getUniqueId())) .forEach(offline -> { result.add(offline); uuids.add(offline.getUniqueId()); })).thenApply((v) -> result.toArray(new OfflinePlayer[result.size()])); }
/** * If the given player is not already on this list, adds that player and saves the change to * disk. * * @param player the player to add */ public void add(OfflinePlayer player) { UUID playerUuid = player.getUniqueId(); if (!containsUuid(playerUuid)) { Entry newEntry = new Entry(playerUuid, player.getName()); entries.add(newEntry); entriesByUuid.put(playerUuid, newEntry); save(); } }
@Override public boolean hasPermission(OfflinePlayer player, String permission) { Permissible permissible = getPermissible(player); if (permissible == null) { return manager.has(player.getUniqueId(), permission, null); } else { return permissible.hasPermission(permission); } }
@Override public boolean inGroup(OfflinePlayer player, String group) { return super.inGroup(player, group) || manager.getUser(player.getUniqueId()).inGroup(group); }
@Override public String[] getGroups(OfflinePlayer player) { if (getPermissible(player) == null) { PermissionUser user = manager.getUser(player.getUniqueId()); if (user == null) { return new String[0]; } return user.getGroupsNames(); } else { return super.getGroups(player); } }
@Override public void load(T entity, CompoundTag compound) { // TODO make this better. super.load(entity, compound); if (compound.containsKey("OwnerUUID") && !compound.getString("OwnerUUID").isEmpty()) { entity.setOwnerUniqueId(UuidUtils.fromString(compound.getString("OwnerUUID"))); if (Bukkit.getPlayer(entity.getOwnerUniqueId()) != null) { entity.setOwner(Bukkit.getPlayer(entity.getOwnerUniqueId())); } } else if (compound.containsKey("Owner") && !compound.getString("Owner").isEmpty()) { String playerName = compound.getString("Owner"); OfflinePlayer player = Bukkit.getOfflinePlayer(playerName); if (player.hasPlayedBefore()) { entity.setOwnerUniqueId(player.getUniqueId()); if (Bukkit.getPlayer(entity.getOwnerUniqueId()) != null) { entity.setOwner(Bukkit.getPlayer(entity.getOwnerUniqueId())); } } } }
private PermissionData getUser(String username) { OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(username); UUID uuid; if(offlinePlayer != null && offlinePlayer.getUniqueId() != null) uuid = offlinePlayer.getUniqueId(); else uuid = joinFuture(luckPerms.getStorage().getUUID(username)); if(uuid == null) return null; User user = luckPerms.getUser(uuid); if(user == null) { joinFuture(luckPerms.getStorage().loadUser(uuid)); user = luckPerms.getUser(uuid); } if(user == null) return null; return user.getCachedData().getPermissionData(luckPerms.getContextManager().getStaticContexts()); }
@Override public UUID getUniqueId() { return player.getUniqueId(); }
public PlayerStatistic getStatistic(OfflinePlayer player) { if (player == null) { return null; } if (!this.playerStatistic.containsKey(player.getUniqueId())) { return this.loadStatistic(player.getUniqueId()); } return this.playerStatistic.get(player.getUniqueId()); }
/** * Sets the shop's owner * * @param owner Shop owner * @deprecated Use {@link #setOwnerAccount(Account)} */ @Deprecated public void setOwner(OfflinePlayer owner) { this.ownerAccount = NameManager.getAccount(owner.getUniqueId()); }
/** * Returns playerID of the player with passed name. * * @param name * - name of the player from which playerID needs to be extracted * @return playerID of the player */ public static String getID(String name) { return Bukkit.getOfflinePlayer(name).getUniqueId().toString(); }
public void unloadStatistic(OfflinePlayer player) { if (BedwarsRel.getInstance().getStatisticStorageType() != StorageType.YAML) { this.playerStatistic.remove(player.getUniqueId()); } }
public void unloadStatistic(OfflinePlayer player) { if (BedwarsRel.getInstance().getStatisticStorageType() != StorageType.YAML) { this.playerStatistic.remove(player.getUniqueId()); } }
@Override public EconomyResponse withdrawPlayer(OfflinePlayer offlinePlayer, double amount) { Account account = eco.player(offlinePlayer.getUniqueId()); return withdrawPlayer(account, amount); }
/** * Set the leader of a party. * </br> * This function is designed for API usage. * * @param partyName The name of the party to set the leader of * @param playerName The playerName to set as leader */ @Deprecated public static void setPartyLeader(String partyName, String playerName) { PartyManager.setPartyLeader(mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(), PartyManager.getParty(partyName)); }
@Deprecated private static PlayerProfile getOfflineProfile(String playerName) { UUID uuid = mcMMO.p.getServer().getOfflinePlayer(playerName).getUniqueId(); PlayerProfile profile = mcMMO.getDatabaseManager().loadPlayerProfile(uuid); if (!profile.isLoaded()) { throw new InvalidPlayerException(); } return profile; }
@EventHandler public void playerWhois(InfoComponent.PlayerWhoisEvent event) { if (CommandBook.inst().hasPermission(event.getSource(), "commandbook.bans.isbanned")) { event.addWhoisInformation(null, "Player " + (getBanDatabase().isBanned(event.getPlayer().getUniqueId()) ? "is" : "is not") + " banned."); } }