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

public final class MemberManager extends Object
A utility class that manages RegionMember.
  • Method Details

    • getMember

      public static RegionMember getMember(long id)
      Retrieves a member by its unique ID.
      Parameters:
      id - The member ID
      Returns:
      The RegionMember, or null if not found.
    • getAllMembers

      public static List<RegionMember> getAllMembers()
      Returns an immutable view of every loaded member.
      Returns:
      List of all members.
    • addMember

      public static RegionMember addMember(org.bukkit.OfflinePlayer player, RegionMember.LinkageType type, long linkageId)
      Add a player as member of a region or a member of a sub-area.
      Parameters:
      player - The player
      type - The linkage type from RegionMember.LinkageType
      linkageId - The linkage ID; region ID or sub-area ID
      Returns:
      Instance of the new member
    • addMemberToRegion

      public static RegionMember addMemberToRegion(org.bukkit.OfflinePlayer player, Region region)
      Add a player as a member of a region.
      Parameters:
      player - The player
      region - The region
      Returns:
      Instance of the new member
    • addMemberToRegion

      public static RegionMember addMemberToRegion(org.bukkit.OfflinePlayer player, long regionId)
      Add a player as a member of a region.
      Parameters:
      player - The player
      regionId - The region ID
      Returns:
      Instance of the new member
    • addMemberToSubArea

      public static RegionMember addMemberToSubArea(org.bukkit.OfflinePlayer player, SubArea subArea)
      Add a player as a member of a sub-area.
      Parameters:
      player - The player
      subArea - The sub-area
      Returns:
      Instance of the new member
    • addMemberToSubArea

      public static RegionMember addMemberToSubArea(org.bukkit.OfflinePlayer player, long subAreaId)
      Add a player as a member of a sub-area.
      Parameters:
      player - The player
      subAreaId - The sub-area ID
      Returns:
      Instance of the new member
    • getMembersOfRegion

      public static List<RegionMember> getMembersOfRegion(Region region)
      Returns list of members of a region.
      Parameters:
      region - The region
      Returns:
      List of members of a region
    • getMembersOfRegion

      public static List<RegionMember> getMembersOfRegion(long regionId)
      Returns list of members of a region.
      Parameters:
      regionId - The region ID
      Returns:
      List of members of a region
    • getMemberCount

      public static int getMemberCount()
      Returns the number of members in the server.
      Returns:
      Member count.
    • getMemberCount

      public static int getMemberCount(Region region)
      Returns the number of members in a region.
      Parameters:
      region - The region
      Returns:
      Member count.
    • getMemberCount

      public static int getMemberCount(long regionId)
      Returns the number of members in a region.
      Parameters:
      regionId - The region ID
      Returns:
      Member count.
    • getMembersOfSubArea

      public static List<RegionMember> getMembersOfSubArea(SubArea subArea)
      Returns list of members of a sub-area.
      Parameters:
      subArea - The sub-area
      Returns:
      List of members of a sub-area
    • getMembersOfSubArea

      public static List<RegionMember> getMembersOfSubArea(long subAreaId)
      Returns list of members of a sub-area.
      Parameters:
      subAreaId - The sub-area ID
      Returns:
      List of members of a sub-area
    • getSubAreaMemberCount

      public static int getSubAreaMemberCount(SubArea subArea)
      Returns the number of members in a sub-area.
      Parameters:
      subArea - The sub-area
      Returns:
      Member count.
    • getSubAreaMemberCount

      public static int getSubAreaMemberCount(long subAreaId)
      Returns the number of members in a sub-area.
      Parameters:
      subAreaId - The sub-area ID
      Returns:
      Member count.
    • getAllMembersOfPlayer

      public static List<RegionMember> getAllMembersOfPlayer(org.bukkit.OfflinePlayer player)
      Returns all memberships for a specific player across regions and sub-areas.
      Parameters:
      player - The player
      Returns:
      List of all member entries.
    • getAllMembersOfPlayer

      public static List<RegionMember> getAllMembersOfPlayer(UUID playerId)
      Returns all memberships for a specific player across regions and sub-areas.
      Parameters:
      playerId - The player UUID
      Returns:
      List of all member entries.
    • getRegionsOfPlayer

      public static List<Long> getRegionsOfPlayer(org.bukkit.OfflinePlayer player)
      Returns all region IDs that a player is a member of.
      Parameters:
      player - The player
      Returns:
      List of region IDs.
    • getSubAreasOfPlayer

      public static List<Long> getSubAreasOfPlayer(org.bukkit.OfflinePlayer player)
      Returns all sub-area IDs that a player is a member of.
      Parameters:
      player - The player
      Returns:
      List of sub-area IDs.
    • getOnlineMembers

      public static List<org.bukkit.entity.Player> getOnlineMembers(Region region)
      Returns only online members of a region.
      Parameters:
      region - The region
      Returns:
      List of online players.
    • getOnlineMembers

      public static List<org.bukkit.entity.Player> getOnlineMembers(long regionId)
      Returns only online members of a region.
      Parameters:
      regionId - The region ID
      Returns:
      List of online players.
    • getMemberNames

      public static List<String> getMemberNames(Region region)
      Returns the display names of all members in a region for GUI usage.
      Parameters:
      region - The region
      Returns:
      List of player names.
    • getMemberNames

      public static List<String> getMemberNames(long regionId)
      Returns the display names of all members in a region for GUI usage.
      Parameters:
      regionId - The region ID
      Returns:
      List of player names.
    • removeMember

      public static void removeMember(long id)
      Remove a member.
      Parameters:
      id - The member ID
    • removeMemberFromRegion

      public static void removeMemberFromRegion(org.bukkit.OfflinePlayer player, Region region)
      Remove a member from a region.
      Parameters:
      player - The player
      region - The region
    • removeMemberFromRegion

      public static void removeMemberFromRegion(org.bukkit.OfflinePlayer player, long regionId)
      Remove a member from a region.
      Parameters:
      player - The player
      regionId - The region ID
    • removeMemberFromSubArea

      public static void removeMemberFromSubArea(org.bukkit.OfflinePlayer player, SubArea subArea)
      Remove a member from a sub-area.
      Parameters:
      player - The player
      subArea - The sub-area
    • removeMemberFromSubArea

      public static void removeMemberFromSubArea(org.bukkit.OfflinePlayer player, long subAreaId)
      Remove a member from a sub-area.
      Parameters:
      player - The player
      subAreaId - The sub-area ID
    • removeAllMembersOfRegion

      public static int removeAllMembersOfRegion(Region region)
      Removes all members from a region.
      Parameters:
      region - The region
      Returns:
      The number of members removed.
    • removeAllMembersOfRegion

      public static int removeAllMembersOfRegion(long regionId)
      Removes all members from a region.
      Parameters:
      regionId - The region ID
      Returns:
      The number of members removed.
    • removeAllMembersOfSubArea

      public static int removeAllMembersOfSubArea(SubArea subArea)
      Removes all members from a sub-area.
      Parameters:
      subArea - The sub-area
      Returns:
      The number of members removed.
    • removeAllMembersOfSubArea

      public static int removeAllMembersOfSubArea(long subAreaId)
      Removes all members from a sub-area.
      Parameters:
      subAreaId - The sub-area ID
      Returns:
      The number of members removed.
    • removeAllMembersOfPlayer

      public static int removeAllMembersOfPlayer(org.bukkit.OfflinePlayer player)
      Removes all memberships for a specific player across all regions and sub-areas. Useful for player quit or ban cleanup.
      Parameters:
      player - The player
      Returns:
      The number of memberships removed.
    • isMemberOfRegion

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

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

      public static boolean isMemberOfRegion(long regionId, UUID playerId)
      Checks if a player is a member of a region.
      Parameters:
      regionId - The region ID
      playerId - The player UUID
      Returns:
      true if the player is member, false otherwise.
    • isMemberOfAnyRegion

      public static boolean isMemberOfAnyRegion(org.bukkit.OfflinePlayer player)
      Checks if a player is a member of any region.
      Parameters:
      player - The player
      Returns:
      true if the player is a member of at least one region.
    • isMemberOfSubArea

      public static boolean isMemberOfSubArea(SubArea subArea, org.bukkit.OfflinePlayer player)
      Checks if a player is a member of a sub-area.
      Parameters:
      subArea - The sub-area
      player - The player
      Returns:
      true if the player is member, false otherwise.
    • isMemberOfSubArea

      public static boolean isMemberOfSubArea(long subAreaId, org.bukkit.OfflinePlayer player)
      Checks if a player is a member of a sub-area.
      Parameters:
      subAreaId - The sub-area ID
      player - The player
      Returns:
      true if the player is member, false otherwise.
    • isMemberOfAnySubArea

      public static boolean isMemberOfAnySubArea(org.bukkit.OfflinePlayer player)
      Checks if a player is a member of any sub-area.
      Parameters:
      player - The player
      Returns:
      true if the player is a member of at least one sub-area.
    • getMemberOfRegion

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

      public static RegionMember getMemberOfRegion(long regionId, org.bukkit.OfflinePlayer player)
      Retrieves the member entry for a specific player in a region.
      Parameters:
      regionId - The region ID
      player - The player
      Returns:
      The RegionMember, or null if not found.
    • getMemberOfSubArea

      public static RegionMember getMemberOfSubArea(SubArea subArea, org.bukkit.OfflinePlayer player)
      Retrieves the member entry for a specific player in a sub-area.
      Parameters:
      subArea - The sub-area
      player - The player
      Returns:
      The RegionMember, or null if not found.
    • getMemberOfSubArea

      public static RegionMember getMemberOfSubArea(long subAreaId, org.bukkit.OfflinePlayer player)
      Retrieves the member entry for a specific player in a sub-area.
      Parameters:
      subAreaId - The sub-area ID
      player - The player
      Returns:
      The RegionMember, or null if not found.
    • setPlayerFlags

      public static boolean setPlayerFlags(Region region, org.bukkit.OfflinePlayer player, long flags)
      Sets the player flags for a member in a region.
      Parameters:
      region - The region
      player - The player
      flags - The new flag bitmask
      Returns:
      true if the member was found and updated.
    • setPlayerFlags

      public static boolean setPlayerFlags(long regionId, org.bukkit.OfflinePlayer player, long flags)
      Sets the player flags for a member in a region.
      Parameters:
      regionId - The region ID
      player - The player
      flags - The new flag bitmask
      Returns:
      true if the member was found and updated.
    • setControlFlags

      public static boolean setControlFlags(Region region, org.bukkit.OfflinePlayer player, long flags)
      Sets the control flags for a member in a region.
      Parameters:
      region - The region
      player - The player
      flags - The new flag bitmask
      Returns:
      true if the member was found and updated.
    • setControlFlags

      public static boolean setControlFlags(long regionId, org.bukkit.OfflinePlayer player, long flags)
      Sets the control flags for a member in a region.
      Parameters:
      regionId - The region ID
      player - The player
      flags - The new flag bitmask
      Returns:
      true if the member was found and updated.
    • hasPlayerFlag

      public static boolean hasPlayerFlag(Region region, org.bukkit.OfflinePlayer player, long flag)
      Checks if a member in a region has a specific player flag set.
      Parameters:
      region - The region
      player - The player
      flag - The flag to check
      Returns:
      true if the flag is set, false if member not found or flag not set.
    • hasPlayerFlag

      public static boolean hasPlayerFlag(long regionId, org.bukkit.OfflinePlayer player, long flag)
      Checks if a member in a region has a specific player flag set.
      Parameters:
      regionId - The region ID
      player - The player
      flag - The flag to check
      Returns:
      true if the flag is set, false if member not found or flag not set.
    • hasControlFlag

      public static boolean hasControlFlag(Region region, org.bukkit.OfflinePlayer player, long flag)
      Checks if a member in a region has a specific control flag set.
      Parameters:
      region - The region
      player - The player
      flag - The flag to check
      Returns:
      true if the flag is set, false if member not found or flag not set.
    • hasControlFlag

      public static boolean hasControlFlag(long regionId, org.bukkit.OfflinePlayer player, long flag)
      Checks if a member in a region has a specific control flag set.
      Parameters:
      regionId - The region ID
      player - The player
      flag - The flag to check
      Returns:
      true if the flag is set, false if member not found or flag not set.
    • cleanupInvalidMembers

      public static int cleanupInvalidMembers()
      Removes all member entries with invalid references:
      - Players whose UUID no longer maps to a known player
      - Regions that no longer exist (for REGION linkage)
      - Sub-areas that no longer exist (for SUBAREA linkage)
      Returns:
      Number of corrupted members removed.