@Override public long getLastLoginTime() { return offplayer.getLastPlayed(); } @Override
@Override public long getLastPlayed() { return op.getLastPlayed(); }
public void run() { long now = System.currentTimeMillis(); final long millisecondsPerDay = 1000 * 60 * 60 * 24; for(OfflinePlayer player : offlinePlayers) { try { UUID playerID = player.getUniqueId(); if(playerID == null) continue; long lastSeen = player.getLastPlayed(); //if the player has been seen in the last 90 days, cache his name/UUID pair long diff = now - lastSeen; long daysDiff = diff / millisecondsPerDay; if(daysDiff <= 90) { String playerName = player.getName(); if(playerName == null) continue; this.playerNameToIDMap.put(playerName, playerID); this.playerNameToIDMap.put(playerName.toLowerCase(), playerID); } } catch(Exception e) { e.printStackTrace(); } } } }
@Override public void run() { HashMap<OfflinePlayer, Party> toRemove = new HashMap<OfflinePlayer, Party>(); List<UUID> processedPlayers = new ArrayList<UUID>(); long currentTime = System.currentTimeMillis(); for (Party party : PartyManager.getParties()) { for (UUID memberUniqueId : party.getMembers().keySet()) { OfflinePlayer member = mcMMO.p.getServer().getOfflinePlayer(memberUniqueId); boolean isProcessed = processedPlayers.contains(memberUniqueId); if ((!member.isOnline() && (currentTime - member.getLastPlayed() > KICK_TIME)) || isProcessed) { toRemove.put(member, party); } if (!isProcessed) { processedPlayers.add(memberUniqueId); } } } for (Entry<OfflinePlayer, Party> entry : toRemove.entrySet()) { PartyManager.removeFromParty(entry.getKey(), entry.getValue()); } } }
lastPlayed = player.getLastPlayed(); rewrite = true;
private void runAutomatedOwnershipTransfer(User user) { plugin.getIWM().getOverWorlds().stream() .filter(world -> plugin.getIslands().hasIsland(world, user) && !plugin.getIslands().isOwner(world, user.getUniqueId())) .forEach(world -> { Island island = plugin.getIslands().getIsland(world, user); OfflinePlayer owner = Bukkit.getOfflinePlayer(island.getOwner()); // Converting the setting (in days) to milliseconds. long inactivityThreshold = plugin.getSettings().getAutoOwnershipTransferInactivityThreshold() * 24 * 60 * 60 * 1000L; long timestamp = System.currentTimeMillis() - inactivityThreshold; // We make sure the current owner is inactive. if (owner.getLastPlayed() != 0 && owner.getLastPlayed() < timestamp) { // The current owner is inactive // Now, let's run through all of the island members (except the player who's just joined) and see who's active. // Sadly, this will make us calculate the owner inactivity again... :( List<UUID> candidates = Arrays.asList((UUID[]) island.getMemberSet().stream() .filter(uuid -> !user.getUniqueId().equals(uuid)) .filter(uuid -> Bukkit.getOfflinePlayer(uuid).getLastPlayed() != 0 && Bukkit.getOfflinePlayer(uuid).getLastPlayed() < timestamp) .toArray()); if (!candidates.isEmpty() && !plugin.getSettings().isAutoOwnershipTransferIgnoreRanks()) { // Ranks are not ignored, our candidates can only have the highest rank } } }); }
boolean newPlayerClaimsExpired = sevenDaysAgo.getTime().after(new Date(ownerInfo.getLastPlayed())); if(newPlayerClaimsExpired && ownerData.getClaims().size() == 1) earliestPermissibleLastLogin.add(Calendar.DATE, -GriefPrevention.instance.config_claims_expirationDays); if(earliestPermissibleLastLogin.getTime().after(new Date(ownerInfo.getLastPlayed()))) boolean claimExpired = sevenDaysAgo.getTime().after(new Date(ownerInfo.getLastPlayed())); if(claimExpired)
/** * Initialize this serializable offline player from another player. * @param offline - another player. */ public SerializedOfflinePlayer(OfflinePlayer offline) { this.name = offline.getName(); this.uuid = offline.getUniqueId(); this.firstPlayed = offline.getFirstPlayed(); this.lastPlayed = offline.getLastPlayed(); this.operator = offline.isOp(); this.banned = offline.isBanned(); this.playedBefore = offline.hasPlayedBefore(); this.online = offline.isOnline(); this.whitelisted = offline.isWhitelisted(); }
+ "; Last joined: " + dateFormat.format(offline.getLastPlayed()));
long lastPlayed = (plugin.getServer().getOfflinePlayer(owner).getLastPlayed() != 0) ? plugin.getServer().getOfflinePlayer(owner).getLastPlayed() : plugin.getServer().getOfflinePlayer(owner).getFirstPlayed(); user.sendMessage("commands.admin.info.last-login","[date]", new Date(lastPlayed).toString());