java.lang.Object
tfagaming.projects.minecraft.homestead.managers.InviteManager

public final class InviteManager extends Object
A utility class that manages RegionInvite.
  • Method Details

    • invitePlayer

      public static void invitePlayer(Region region, org.bukkit.OfflinePlayer player)
      Invite a player to a region.
      Parameters:
      region - The region
      player - The player
    • invitePlayer

      public static void invitePlayer(long regionId, org.bukkit.OfflinePlayer player)
      Invite a player to a region.
      Parameters:
      regionId - The region ID
      player - The player
    • getInvite

      public static RegionInvite getInvite(long id)
      Retrieves a specific invite by its unique ID.
      Parameters:
      id - The invite ID
      Returns:
      The RegionInvite, or null if not found.
    • getInvite

      public static RegionInvite getInvite(Region region, org.bukkit.OfflinePlayer player)
      Retrieves the invite for a specific player in a specific region.
      Parameters:
      region - The region
      player - The player
      Returns:
      The RegionInvite, or null if not found.
    • getInvite

      public static RegionInvite getInvite(long regionId, UUID playerId)
      Retrieves the invite for a specific player in a specific region using UUIDs.
      Parameters:
      regionId - The region ID
      playerId - The player UUID
      Returns:
      The RegionInvite, or null if not found.
    • getInvitesOfRegion

      public static List<RegionInvite> getInvitesOfRegion(Region region)
      Returns a list of invites created by a region.
      Parameters:
      region - The region
      Returns:
      List of invites
    • getInvitesOfRegion

      public static List<RegionInvite> getInvitesOfRegion(long regionId)
      Returns a list of invites created by a region.
      Parameters:
      regionId - The region ID
      Returns:
      List of invites
    • getInviteCount

      public static int getInviteCount()
      Returns the number of pending invites in the server.
      Returns:
      The invite count.
    • getInviteCount

      public static int getInviteCount(Region region)
      Returns the number of pending invites for a region.
      Parameters:
      region - The region
      Returns:
      The invite count.
    • getInviteCount

      public static int getInviteCount(long regionId)
      Returns the number of pending invites for a region.
      Parameters:
      regionId - The region ID
      Returns:
      The invite count.
    • getInvitesOfPlayer

      public static List<RegionInvite> getInvitesOfPlayer(org.bukkit.OfflinePlayer player)
      Returns a list of invites that invited a specific player.
      Parameters:
      player - The player
      Returns:
      List of invites
    • getInvitesOfPlayer

      public static List<RegionInvite> getInvitesOfPlayer(UUID playerId)
      Returns a list of invites that invited a specific player.
      Parameters:
      playerId - The player UUID
      Returns:
      List of invites
    • getInviteCountOfPlayer

      public static int getInviteCountOfPlayer(org.bukkit.OfflinePlayer player)
      Returns the number of pending invites a player has across all regions.
      Parameters:
      player - The player
      Returns:
      The invite count.
    • getInvitedPlayers

      public static List<UUID> getInvitedPlayers(Region region)
      Returns all unique player UUIDs that have been invited to a region.
      Parameters:
      region - The region
      Returns:
      List of player UUIDs.
    • getInvitedPlayers

      public static List<UUID> getInvitedPlayers(long regionId)
      Returns all unique player UUIDs that have been invited to a region.
      Parameters:
      regionId - The region ID
      Returns:
      List of player UUIDs.
    • getRegionsInvitedTo

      public static List<Long> getRegionsInvitedTo(org.bukkit.OfflinePlayer player)
      Returns all region IDs that a player has been invited to.
      Parameters:
      player - The player
      Returns:
      List of region IDs.
    • getRegionsInvitedTo

      public static List<Long> getRegionsInvitedTo(UUID playerId)
      Returns all region IDs that a player has been invited to.
      Parameters:
      playerId - The player UUID
      Returns:
      List of region IDs.
    • getRecentInvites

      public static List<RegionInvite> getRecentInvites(Region region, int limit)
      Returns the most recent invites for a region, sorted newest first.
      Parameters:
      region - The region
      limit - Maximum number of results
      Returns:
      List of recent invites.
    • getRecentInvites

      public static List<RegionInvite> getRecentInvites(long regionId, int limit)
      Returns the most recent invites for a region, sorted newest first.
      Parameters:
      regionId - The region ID
      limit - Maximum number of results
      Returns:
      List of recent invites.
    • deleteInvite

      public static void deleteInvite(long id)
      Delete a player invitation.
      Parameters:
      id - The invite ID
    • deleteInvitesOfRegion

      public static void deleteInvitesOfRegion(Region region)
      Deletes all invites created by a region.
      Parameters:
      region - The region
    • deleteInvitesOfRegion

      public static void deleteInvitesOfRegion(long regionId)
      Deletes all invites created by a region.
      Parameters:
      regionId - The region ID
    • deleteInvitesOfPlayer

      public static void deleteInvitesOfPlayer(org.bukkit.OfflinePlayer player)
      Deletes all invites that invited a specific player.
      Parameters:
      player - The player
    • deleteInvitesOfPlayer

      public static void deleteInvitesOfPlayer(UUID playerId)
      Deletes all invites that invited a specific player.
      Parameters:
      playerId - The player UUID
    • deleteInvitesOfPlayer

      public static void deleteInvitesOfPlayer(Region region, org.bukkit.OfflinePlayer player)
      Deletes all invites sent by a region that invited a specific player.
      Parameters:
      region - The region
      player - The player
    • deleteInvitesOfPlayer

      public static void deleteInvitesOfPlayer(long regionId, org.bukkit.OfflinePlayer player)
      Deletes all invites sent by a region that invited a specific player.
      Parameters:
      regionId - The region ID
      player - The player
    • isInvited

      public static boolean isInvited(Region region, org.bukkit.OfflinePlayer player)
      Checks if a player is invited by a region.
      Parameters:
      region - The region
      player - The player
      Returns:
      true if the player is invited, false otherwise.
    • isInvited

      public static boolean isInvited(long regionId, org.bukkit.OfflinePlayer player)
      Checks if a player is invited by a region.
      Parameters:
      regionId - The region ID
      player - The player
      Returns:
      true if the player is invited, false otherwise.
    • hasPendingInvite

      public static boolean hasPendingInvite(Region region, org.bukkit.OfflinePlayer player)
      Checks if a player has a pending invite from a region. This is an alias for isInvited(Region, OfflinePlayer) for semantic clarity.
      Parameters:
      region - The region
      player - The player
      Returns:
      true if a pending invite exists.
    • isInviteExpired

      public static boolean isInviteExpired(RegionInvite invite, long maxAgeMillis)
      Checks if an invitation has expired based on a maximum age in milliseconds.
      Parameters:
      invite - The invite
      maxAgeMillis - Maximum age in milliseconds
      Returns:
      true if the invite is older than the specified age.
    • deleteExpiredInvites

      public static int deleteExpiredInvites(long maxAge)
      Deletes all invites older than the specified maximum age.
      Parameters:
      maxAge - Maximum age in seconds
      Returns:
      The number of deleted invites.
    • deleteAllInvites

      public static int deleteAllInvites()
      Deletes every invite in the cache. Use with caution.
      Returns:
      The number of deleted invites.
    • cleanupInvalidInvites

      public static int cleanupInvalidInvites()
      Removes all invites with invalid references:
      - Players whose UUID no longer maps to a known player
      - Regions that no longer exist
      Returns:
      Number of corrupted invites removed.