Class RegionMember
java.lang.Object
me.tayebyassine.homestead.models.RegionMember
Represents a player's membership within a region or sub-area.
A member is linked to either a RegionMember.LinkageType.REGION or a
RegionMember.LinkageType.SUBAREA and carries its own player and control
flag bitmasks, join timestamp, and tax tracking timestamp.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumIdentifies whether a member is linked to a region or a sub-area. -
Constructor Summary
ConstructorsConstructorDescriptionRegionMember(long id, UUID playerId, RegionMember.LinkageType type, long linkageId, long playerFlags, long controlFlags, long taxesAt, long joinedAt) Create a member from pre-existing data (deserialization).RegionMember(UUID playerId, RegionMember.LinkageType type, long linkageId) Create a member with a generated snowflake ID.RegionMember(org.bukkit.OfflinePlayer player, RegionMember.LinkageType type, long linkageId) Create a member from a Bukkit player. -
Method Summary
Modifier and TypeMethodDescriptionlongGet the control flags bitmask.longGet the join timestamp.@NotNull RegionMember.LinkageTypeGet the linkage type (region or sub-area).@Nullable org.bukkit.OfflinePlayerGet the member as an offline player.longGet the player flags bitmask.@NotNull UUIDGet the member's UUID.@NotNull StringGet the member's name safely.@Nullable RegionGet the parent region from the cache.longGet the region ID.@NotNull StringGet the parent region's name safely.@Nullable SubAreaGet the sub-area from the cache.longGet the sub-area ID.@NotNull StringGet the sub-area's name safely.longGet the tax tracking timestamp.longGet the unique snowflake ID.voidsetControlFlags(long controlFlags) Set the control flags bitmask.voidsetJoinedAt(long joinedAt) Set the join timestamp.voidsetPlayer(@NotNull org.bukkit.OfflinePlayer player) Set the member player.voidsetPlayerFlags(long playerFlags) Set the player flags bitmask.voidsetPlayerId(@NotNull UUID playerId) Set the member's UUID.voidsetRegionId(long regionId) Set the region ID.voidsetSubAreaId(long subAreaId) Set the sub-area ID.voidsetTaxesAt(long taxesAt) Set the tax tracking timestamp.
-
Constructor Details
-
RegionMember
Create a member from a Bukkit player.- Parameters:
player- the playertype- the linkage typelinkageId- the region or sub-area ID
-
RegionMember
Create a member with a generated snowflake ID.- Parameters:
playerId- the player UUIDtype- the linkage typelinkageId- the region or sub-area ID
-
RegionMember
public RegionMember(long id, UUID playerId, RegionMember.LinkageType type, long linkageId, long playerFlags, long controlFlags, long taxesAt, long joinedAt) Create a member from pre-existing data (deserialization).- Parameters:
id- the snowflake IDplayerId- the player UUIDtype- the linkage typelinkageId- the region or sub-area IDplayerFlags- the player flagscontrolFlags- the control flagstaxesAt- the tax tracking timestampjoinedAt- the join timestamp
-
-
Method Details
-
getUniqueId
public long getUniqueId()Get the unique snowflake ID.- Returns:
- the member ID
-
getPlayerId
-
setPlayerId
Set the member's UUID.- Parameters:
playerId- the new player UUID
-
getPlayer
@Nullable public @Nullable org.bukkit.OfflinePlayer getPlayer()Get the member as an offline player.- Returns:
- the player, or
nullif not found
-
setPlayer
public void setPlayer(@NotNull @NotNull org.bukkit.OfflinePlayer player) Set the member player.- Parameters:
player- the new player
-
getPlayerName
Get the member's name safely. Returns"?"if not found.- Returns:
- the player's name
-
getLinkageType
Get the linkage type (region or sub-area).- Returns:
- the linkage type
-
getRegionId
public long getRegionId()Get the region ID. Defaults to-1if linked to a sub-area.- Returns:
- the region ID
-
setRegionId
public void setRegionId(long regionId) Set the region ID.- Parameters:
regionId- the new region ID
-
getRegion
Get the parent region from the cache.- Returns:
- the region, or
nullif not found
-
getRegionName
Get the parent region's name safely. Returns"?"if not found.- Returns:
- the region name
-
getSubAreaId
public long getSubAreaId()Get the sub-area ID. Defaults to-1if linked to a region.- Returns:
- the sub-area ID
-
setSubAreaId
public void setSubAreaId(long subAreaId) Set the sub-area ID.- Parameters:
subAreaId- the new sub-area ID
-
getSubArea
Get the sub-area from the cache.- Returns:
- the sub-area, or
nullif not found
-
getSubAreaName
Get the sub-area's name safely. Returns"?"if not found.- Returns:
- the sub-area name
-
getPlayerFlags
public long getPlayerFlags()Get the player flags bitmask.- Returns:
- the player flags
-
setPlayerFlags
public void setPlayerFlags(long playerFlags) Set the player flags bitmask.- Parameters:
playerFlags- the new flags
-
getControlFlags
public long getControlFlags()Get the control flags bitmask.- Returns:
- the control flags
-
setControlFlags
public void setControlFlags(long controlFlags) Set the control flags bitmask.- Parameters:
controlFlags- the new flags
-
getJoinedAt
public long getJoinedAt()Get the join timestamp.- Returns:
- the epoch-millis timestamp
-
setJoinedAt
public void setJoinedAt(long joinedAt) Set the join timestamp.- Parameters:
joinedAt- the new timestamp
-
getTaxesAt
public long getTaxesAt()Get the tax tracking timestamp.- Returns:
- the epoch-millis timestamp
-
setTaxesAt
public void setTaxesAt(long taxesAt) Set the tax tracking timestamp.- Parameters:
taxesAt- the new timestamp
-