public static OfflinePlayer newOfflinePlayer(OfflinePlayer cloudPlayer) { return new OfflinePlayer(cloudPlayer.getUniqueId(), cloudPlayer.getName(), cloudPlayer.getMetaData(), cloudPlayer.getLastLogin(), cloudPlayer.getFirstLogin(), cloudPlayer.getLastPlayerConnection(), cloudPlayer.getPermissionEntity()); } }
@Override public boolean playerAdd(String s, String s1, String s2) { OfflinePlayer offlinePlayer = getPlayer(s1); PermissionEntity permissionEntity = offlinePlayer.getPermissionEntity(); permissionEntity.getPermissions().put(s2, true); offlinePlayer.setPermissionEntity(permissionEntity); updatePlayer(offlinePlayer); return true; }
/** * Checks if the player is in the specified permission group. * * @param groupName the name of the group * @param offlinePlayer the player to check for group membership * @return whether or not the player is in the requested group * @see PermissionEntity */ public static boolean isInGroup(String groupName, OfflinePlayer offlinePlayer) { return offlinePlayer.getPermissionEntity().isInGroup(groupName); }
if (offlinePlayer != null && offlinePlayer.getPermissionEntity() != null) for (GroupEntityData groupEntityData : offlinePlayer.getPermissionEntity().getGroups()) sender.sendMessage("Player " + offlinePlayer.getName() + ": " + offlinePlayer.getUniqueId()); sender.sendMessage("Groups: " + stringBuilder.substring(0)); for (Map.Entry<String, Boolean> booleanEntry : offlinePlayer.getPermissionEntity().getPermissions().entrySet()) if (offlinePlayer != null && offlinePlayer.getPermissionEntity() != null) for (GroupEntityData groupEntity : offlinePlayer.getPermissionEntity().getGroups()) offlinePlayer.getPermissionEntity().getGroups().remove(groupEntityData); if (offlinePlayer.getPermissionEntity().getGroups().size() == 0) offlinePlayer.getPermissionEntity().getGroups().add(new GroupEntityData(permissionPool.getDefaultGroup().getName(), 0)); sender.sendMessage("The player " + offlinePlayer.getName() + " is no longer a member of permission group " + args[4]); offlinePlayer.getPermissionEntity().getPermissions().put(args[4].replaceFirst("-", NetworkUtils.EMPTY_STRING), !args[4].startsWith("-")); updatePlayer(offlinePlayer); sender.sendMessage("The permission \"" + args[4] + "\" was added for " + offlinePlayer.getName()); offlinePlayer.getPermissionEntity().getPermissions().remove(args[4]); updatePlayer(offlinePlayer); sender.sendMessage("The permission \"" + args[4] + "\" was removed for " + offlinePlayer.getName());
@Override public void handleInput(Document data, PacketSender packetSender) { OfflinePlayer offlinePlayer = data.getObject("player", new TypeToken<OfflinePlayer>() { }.getType()); CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(offlinePlayer); if (CloudNet.getInstance().getNetworkManager().getOnlinePlayers().containsKey(offlinePlayer.getUniqueId())) { CloudPlayer cloudPlayer = CloudNet.getInstance().getNetworkManager().getOnlinePlayers().get(offlinePlayer.getUniqueId()); cloudPlayer.setMetaData(offlinePlayer.getMetaData()); cloudPlayer.setPermissionEntity(offlinePlayer.getPermissionEntity()); CloudNet.getInstance().getNetworkManager().handlePlayerUpdate(cloudPlayer); } else CloudNet.getInstance().getNetworkManager().sendAllUpdate(new PacketOutUpdateOfflinePlayer(offlinePlayer)); } }
private void updatePlayer(OfflinePlayer offlinePlayer) { CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(offlinePlayer); if (CloudNet.getInstance().getNetworkManager().getOnlinePlayers().containsKey(offlinePlayer.getUniqueId())) { CloudNet.getInstance().getNetworkManager().getOnlinePlayers().get(offlinePlayer.getUniqueId()).setPermissionEntity(offlinePlayer.getPermissionEntity()); CloudNet.getInstance().getNetworkManager().handlePlayerUpdate(CloudNet.getInstance().getNetworkManager().getOnlinePlayers().get(offlinePlayer.getUniqueId())); } CloudNet.getInstance().getNetworkManager().sendAllUpdate(new PacketOutUpdateOfflinePlayer(offlinePlayer)); }
public Map<UUID, OfflinePlayer> getRegisteredPlayers() { database.loadDocuments(); Map<UUID, OfflinePlayer> map = new HashMap<>(); for (Document document : database.getDocs()) { OfflinePlayer offlinePlayer = document.getObject("offlinePlayer", OfflinePlayer.TYPE); map.put(offlinePlayer.getUniqueId(), offlinePlayer); } return map; }
public OfflinePlayer registerPlayer(PlayerConnection playerConnection) { OfflinePlayer offlinePlayer = new OfflinePlayer(playerConnection.getUniqueId(), playerConnection.getName(), new Document(), System.currentTimeMillis(), System.currentTimeMillis(), playerConnection, new PermissionEntity(playerConnection.getUniqueId(), new HashMap<>(), null, null, new LinkedList<>())); database.insert(new DatabaseDocument(playerConnection.getUniqueId().toString()).append("offlinePlayer", offlinePlayer)); return offlinePlayer; }
public PlayerDatabase updatePermissionEntity(UUID uuid, PermissionEntity permissionEntity) { Document document = database.getDocument(uuid.toString()); OfflinePlayer offlinePlayer = document.getObject("offlinePlayer", OfflinePlayer.TYPE); offlinePlayer.setPermissionEntity(permissionEntity); document.append("offlinePlayer", offlinePlayer); database.insert(document); return this; }
@Override public void execute(CommandSender commandSender, String[] args) { if (args.length < 1) { commandSender.sendMessage(new TextComponent(TextComponent.fromLegacyText(ChatColor.RED + "Please follow this command by a user name"))); return; } OfflinePlayer user = CloudAPI.getInstance().getOfflinePlayer(args[0]); if (user == null) commandSender.sendMessage(new TextComponent(TextComponent.fromLegacyText(ChatColor.RED + "That user is not registered!"))); else commandSender.sendMessage(TextComponent.fromLegacyText(ChatColor.BLUE + "IP of " + args[0] + " is " + user.getLastPlayerConnection().getHost())); } }
/** * Adds a permission to the given player. * * @param offlinePlayer the player to add the permission to * @param permission the permission to add */ public static void addPlayerPermission(OfflinePlayer offlinePlayer, String permission) { offlinePlayer.getPermissionEntity().getPermissions().put(permission.replaceFirst("-", ""), !permission.startsWith("-")); updatePlayer(offlinePlayer); }
if (offlinePlayer != null && offlinePlayer.getPermissionEntity() != null) for (GroupEntityData groupEntityData : offlinePlayer.getPermissionEntity().getGroups()) "Player " + offlinePlayer.getName() + ": " + offlinePlayer.getUniqueId(), "Groups: " + stringBuilder.substring(0), NetworkUtils.SPACE_STRING ); for (Map.Entry<String, Boolean> booleanEntry : offlinePlayer.getPermissionEntity().getPermissions().entrySet()) if (offlinePlayer != null && offlinePlayer.getPermissionEntity() != null) for (GroupEntityData groupEntity : offlinePlayer.getPermissionEntity().getGroups()) offlinePlayer.getPermissionEntity().getGroups().remove(groupEntityData); if (offlinePlayer.getPermissionEntity().getGroups().size() == 0) offlinePlayer.getPermissionEntity().getGroups().add(new GroupEntityData(permissionPool.getDefaultGroup().getName(), 0)); sender.sendMessage("The player " + offlinePlayer.getName() + " is no longer a member of the group " + args[4]); offlinePlayer.getPermissionEntity().getPermissions().put(args[4].replaceFirst("-", ""), !args[4].startsWith("-")); updatePlayer(offlinePlayer); sender.sendMessage("The player \"" + offlinePlayer.getName() + "\" now has the permission " + args[4]); offlinePlayer.getPermissionEntity().getPermissions().remove(args[4]); updatePlayer(offlinePlayer);
public PermissionEntity getNewPermissionEntity(OfflinePlayer playerWhereAmI) { return new PermissionEntity(playerWhereAmI.getUniqueId(), new HashMap<>(), null, null, Arrays.asList(new GroupEntityData(getDefaultGroup().getName(), 0L))); }
public CloudPlayer(OfflinePlayer player, PlayerConnection onlineConnection, String proxy) { super(player.getUniqueId(), player.getName(), player.getMetaData(), player.getLastLogin(), player.getFirstLogin(), player.getLastPlayerConnection(), player.getPermissionEntity()); this.playerConnection = onlineConnection; this.proxy = proxy; this.server = null; this.playerExecutor = new PlayerExecutor(); this.loginTimeStamp = new Timestamp(System.currentTimeMillis()); }
/** * Removes a permission from the given player. * * @param offlinePlayer the player to remove the permission from * @param permission the permission to remove */ public static void removePlayerPermission(OfflinePlayer offlinePlayer, String permission) { offlinePlayer.getPermissionEntity().getPermissions().remove(permission); updatePlayer(offlinePlayer); }
@Override public boolean playerRemove(String s, String s1, String s2) { OfflinePlayer offlinePlayer = getPlayer(s1); PermissionEntity permissionEntity = offlinePlayer.getPermissionEntity(); permissionEntity.getPermissions().remove(s2); offlinePlayer.setPermissionEntity(permissionEntity); updatePlayer(offlinePlayer); return true; }
public PlayerDatabase updatePlayer(OfflinePlayer offlinePlayer) { Document document = database.getDocument(offlinePlayer.getUniqueId().toString()); document.append("offlinePlayer", CloudPlayer.newOfflinePlayer(offlinePlayer)); database.insert(document); return this; }
/** * Gets the timeout of the player in their highest permission group. * * @param offlinePlayer the player to get the timeout for * @return The timeout of the player in their highest permission group * or -1 if it´s lifetime. * @see GroupEntityData */ public static long getPlayerGroupRemainingTime(OfflinePlayer offlinePlayer) { return offlinePlayer.getPermissionEntity().getGroups().stream() .filter(e -> e.getGroup().equals(getGroupName(offlinePlayer))) .findFirst() .map(GroupEntityData::getTimeout) .orElse(-1L); }
@Override public boolean playerRemoveGroup(String s, String s1, String s2) { OfflinePlayer offlinePlayer = getPlayer(s1); PermissionEntity permissionEntity = offlinePlayer.getPermissionEntity(); GroupEntityData groupEntityData = CollectionWrapper.filter(permissionEntity.getGroups(), new Acceptable<GroupEntityData>() { @Override public boolean isAccepted(GroupEntityData groupEntityData) { return groupEntityData.getGroup().equalsIgnoreCase(s2); } }); if (groupEntityData != null) permissionEntity.getGroups().remove(groupEntityData); offlinePlayer.setPermissionEntity(permissionEntity); updatePlayer(offlinePlayer); return true; }
@Override public boolean playerInGroup(String s, String s1, String s2) { OfflinePlayer offlinePlayer = getPlayer(s1); PermissionEntity permissionEntity = offlinePlayer.getPermissionEntity(); return permissionEntity.isInGroup(s2); }