Package org.kingdoms.constants.player
Class KingdomPlayer
java.lang.Object
- All Implemented Interfaces:
Comparable<KingdomPlayer>,org.kingdoms.abstraction.GroupOperator,org.kingdoms.abstraction.InvasionOperator,KingdomOperator,org.kingdoms.abstraction.NamespacedFlagsContainer,Keyed<UUID>,SmartObject,org.kingdoms.constants.group.model.logs.Loggable,org.kingdoms.locale.provider.CascadingMessageContextProvider,org.kingdoms.locale.provider.MessageContextProvider
public class KingdomPlayer
extends KeyedKingdomsObject<UUID>
implements Comparable<KingdomPlayer>, org.kingdoms.abstraction.InvasionOperator, KingdomOperator, org.kingdoms.abstraction.NamespacedFlagsContainer
-
Field Summary
Fields inherited from class org.kingdoms.constants.base.KingdomsObject
lastLogsExpirationCheck, logs, metadata, statisticsFields inherited from class org.kingdoms.constants.base.CompressedSmartObject
objectState -
Constructor Summary
ConstructorsConstructorDescriptionKingdomPlayer(@NonNull UUID id, @Nullable UUID kingdom, @NonNull org.kingdoms.locale.Language language, @Nullable String rank, @Nullable String nationalRank, @NonNull String chatChannel, @Nullable String markersType, long joinedAt, double power, long lastDonationTime, double lastDonationAmount, double totalDonations, long lastPowerCheckup, @NonNull Set<UUID> readMails, @NonNull Map<UUID, KingdomInvite> invites, @Nullable Set<SimpleChunkLocation> claims, @Nullable org.kingdoms.data.Pair<Integer, Integer> mapSize, org.kingdoms.constants.namespace.NamespacedFlags flags, @NonNull Set<String> mutedChannels, Set<SimpleLocation> protectedBlocks) KingdomPlayer(@Nullable UUID id, @Nullable UUID kingdom, long joinedAt) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddMessageContextEdits(@NotNull MessagePlaceholderProvider context) doubleaddPower(double power) buildMap()@NonNull org.kingdoms.events.general.ranks.PlayerRankChangeEventchangeRank(@NonNull org.kingdoms.events.general.ranks.PlayerRankChangeContext context) @Nullable org.kingdoms.constants.player.ClaimingHistoryclaimingHistory(boolean undo) Gets the last claiming history with the specified undo/redo state.intcompareTo(@NonNull KingdomPlayer other) intcountUnreadMails(Map<UUID, Mail> mails) @NonNull GroupResourcePointConvertEventdonate(Group group, double amount, @Nullable Collection<org.bukkit.inventory.ItemStack> originalItems, @Nullable Collection<org.bukkit.inventory.ItemStack> convertedItems, @Nullable Collection<org.bukkit.inventory.ItemStack> leftOvers) @NonNull GroupResourcePointConvertEvent@NonNull GroupResourcePointConvertEventboolean@NonNull KingdomsChatChannel@Nullable String@NotNull List<org.kingdoms.constants.player.ClaimingHistory> @NonNull Set<SimpleChunkLocation> protected org.kingdoms.data.handlers.abstraction.DataHandler<KingdomPlayer> Used for serialization of the smart object into a compressed state to determineCompressedSmartObject.shouldSave()@NotNull org.kingdoms.constants.namespace.NamespacedFlagsgetFlags()@NonNull UUIDgetId()@Nullable Invasion@NonNull Map<UUID, KingdomInvite> long@NonNull UUIDgetKey()@Nullable Kingdom@Nullable UUIDstatic @NonNull KingdomPlayergetKingdomPlayer(@NonNull UUID id) static @NonNull KingdomPlayergetKingdomPlayer(@NonNull org.bukkit.OfflinePlayer player) int@NotNull org.kingdoms.locale.LanguagedoublelonglongKey = height Value = width@Nullable String@Nullable RankThis will return null if:@Nullable StringThis will return null if:@NonNull org.bukkit.OfflinePlayer@Nullable org.bukkit.entity.PlayerdoublegetPower()@NonNull Set<SimpleLocation> @Nullable RankgetRank()@Nullable StringThis method is for internal use only.doublebooleanhasAnyPermission(@NonNull KingdomPermission... permissions) inthashCode()booleanbooleanhasNationPermission(@NonNull KingdomPermission permission) booleanhasPermission(@NonNull KingdomPermission permission) booleanisAdmin()booleanbooleanChecks whether this data is absolutely empty and can be deleted from the database.booleanisFlying()booleanisHigher(@NonNull KingdomPlayer kp) booleanbooleanbooleanbooleanisPvp()booleanisSpy()booleanisUnreadMail(Mail mail) booleanjoinKingdom(@NonNull Kingdom kingdom) joinKingdom(@NonNull Kingdom kingdom, @Nullable Consumer<KingdomJoinEvent> modifier) leaveKingdom(LeaveReason reason) voidprocessClaims(@NonNull Set<SimpleChunkLocation> lands, boolean claimed, boolean history) voidvoidsetAdmin(boolean admin) voidsetAutoClaim(Boolean autoClaim) voidsetAutoMap(boolean autoMap) org.kingdoms.events.members.PlayerChangeChatChannelEventsetChatChannel(@NonNull KingdomsChatChannel newChannel) voidsetClaims(@NonNull Set<SimpleChunkLocation> claims) voidsetFlags(@NotNull org.kingdoms.constants.namespace.NamespacedFlags flags) voidvoidsetInvasion(@Nullable Invasion invasion) voidsetInvites(@NonNull Map<UUID, KingdomInvite> invites) voidsetJailCell(SimpleLocation jailCell) voidsetLandHistoryPosition(int landHistoryPosition) voidsetLanguage(org.kingdoms.locale.Language language) voidsetLastDonationAmount(long lastDonationAmount) voidsetLastDonationTime(long lastDonationTime) voidsetMapSize(@Nullable org.kingdoms.data.Pair<Integer, Integer> mapSize) voidsetMarkersType(@Nullable String markersType) voidsetMutedChannels(@NonNull Set<String> mutedChannels) doublesetPower(double power) doublesetPower(double power, boolean ignoreLimits) voidsetProtectedBlocks(@NonNull Set<SimpleLocation> protectedBlocks) voidsetPvp(boolean pvp) voidsetReadMails(@NonNull Set<UUID> readMails) voidsetSneakMode(boolean sneakMode) voidsetSpy(boolean spy) voidsetTotalDonations(double totalDonations) voidsetUsingMarkers(boolean markers) voidtoString()voidunsafeSetNationalRank(@Nullable String nationalRank) voidunsafeSetRank(@Nullable String rank) voidupdatePower(@Nullable Boolean online) Methods inherited from class org.kingdoms.constants.base.KingdomsObject
getLogs, getMetadata, getNewestLog, getNewestLog, getStatistics, log, setLogs, setMetadata, setStatisticsMethods inherited from class org.kingdoms.constants.base.CompressedSmartObject
ensureValidObject, getCompressedData, hasObjectExpired, invalidateObject, isNewData, isObjectStateSaved, saveObjectState, shouldSaveMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.kingdoms.locale.provider.CascadingMessageContextProvider
getMessageContextMethods inherited from interface org.kingdoms.abstraction.KingdomOperator
getGroup
-
Constructor Details
-
KingdomPlayer
-
KingdomPlayer
public KingdomPlayer(@NonNull UUID id, @Nullable UUID kingdom, @NonNull org.kingdoms.locale.Language language, @Nullable String rank, @Nullable String nationalRank, @NonNull String chatChannel, @Nullable String markersType, long joinedAt, double power, long lastDonationTime, double lastDonationAmount, double totalDonations, long lastPowerCheckup, @NonNull Set<UUID> readMails, @NonNull Map<UUID, KingdomInvite> invites, @Nullable Set<SimpleChunkLocation> claims, @Nullable org.kingdoms.data.Pair<Integer, Integer> mapSize, org.kingdoms.constants.namespace.NamespacedFlags flags, @NonNull Set<String> mutedChannels, Set<SimpleLocation> protectedBlocks)
-
-
Method Details
-
getKingdomPlayer
-
getKingdomPlayer
-
hasKingdom
public boolean hasKingdom() -
countUnreadMails
-
isUnreadMail
-
getPlayer
public @Nullable org.bukkit.entity.Player getPlayer() -
isInSameKingdomAs
-
getOfflinePlayer
public @NonNull org.bukkit.OfflinePlayer getOfflinePlayer() -
getKingdom
- Specified by:
getKingdomin interfaceKingdomOperator
-
getJailCell
-
setJailCell
-
getRank
- Returns:
- null if
getKingdom()is null
-
toString
- Overrides:
toStringin classCompressedSmartObject
-
unsafeSetRank
-
unsafeSetNationalRank
-
changeRank
public @NonNull org.kingdoms.events.general.ranks.PlayerRankChangeEvent changeRank(@NonNull org.kingdoms.events.general.ranks.PlayerRankChangeContext context) -
getRankNode
This method is for internal use only.- See Also:
-
leaveKingdom
-
silentlyLeaveKingdom
@Internal public void silentlyLeaveKingdom() -
getLanguage
@NotNull public @NotNull org.kingdoms.locale.Language getLanguage() -
setLanguage
public void setLanguage(org.kingdoms.locale.Language language) -
joinKingdom
-
joinKingdom
public KingdomJoinEvent joinKingdom(@NonNull Kingdom kingdom, @Nullable Consumer<KingdomJoinEvent> modifier) -
hashCode
public int hashCode() -
equals
-
getKingdomId
-
getKey
-
getChatChannel
-
getChatChannelId
-
setChatChannel
public org.kingdoms.events.members.PlayerChangeChatChannelEvent setChatChannel(@NonNull KingdomsChatChannel newChannel) -
donate
-
donate
public @NonNull GroupResourcePointConvertEvent donate(Group group, @NotNull @NotNull org.kingdoms.managers.resourcepoints.ConvertedResourcePoints rp) -
donate
public @NonNull GroupResourcePointConvertEvent donate(Group group, double amount, @Nullable Collection<org.bukkit.inventory.ItemStack> originalItems, @Nullable Collection<org.bukkit.inventory.ItemStack> convertedItems, @Nullable Collection<org.bukkit.inventory.ItemStack> leftOvers) -
hasPermission
-
hasAnyPermission
-
hasNationPermission
-
processClaims
public void processClaims(@NonNull Set<SimpleChunkLocation> lands, boolean claimed, boolean history) -
getLastDonationTime
public long getLastDonationTime() -
setLastDonationTime
public void setLastDonationTime(long lastDonationTime) -
claimingHistory
public @Nullable org.kingdoms.constants.player.ClaimingHistory claimingHistory(boolean undo) Gets the last claiming history with the specified undo/redo state.- Parameters:
undo- Whether the last undo or redo history should be fetched.
-
getClaimingHistory
-
getId
-
getAutoClaim
-
setAutoClaim
-
isInvading
public boolean isInvading() -
getInvasion
- Specified by:
getInvasionin interfaceorg.kingdoms.abstraction.InvasionOperator
-
setInvasion
-
getReadMails
-
setReadMails
-
readMail
-
getJoinedAt
public long getJoinedAt() -
getInvites
-
setInvites
-
getTotalDonations
public double getTotalDonations() -
setTotalDonations
public void setTotalDonations(double totalDonations) -
getLastDonationAmount
public double getLastDonationAmount() -
setLastDonationAmount
public void setLastDonationAmount(long lastDonationAmount) -
isHigher
-
isUsingMarkers
public boolean isUsingMarkers() -
setUsingMarkers
public void setUsingMarkers(boolean markers) -
getClaims
-
setClaims
-
getLastPowerCheckup
public long getLastPowerCheckup() -
getLandHistoryPosition
public int getLandHistoryPosition() -
setLandHistoryPosition
public void setLandHistoryPosition(int landHistoryPosition) -
isAutoMap
public boolean isAutoMap() -
setAutoMap
public void setAutoMap(boolean autoMap) -
getMapSize
Key = height Value = width -
setMapSize
-
isAdmin
public boolean isAdmin() -
setAdmin
public void setAdmin(boolean admin) -
isPvp
public boolean isPvp() -
setPvp
public void setPvp(boolean pvp) -
getNationRankNode
This will return null if:The player is not in a kingdom. The kingdom that the player is in, is not in a nation. The player has the default member rank.- See Also:
-
getNationRank
This will return null if:The player is not in a kingdom. The kingdom that the player is in, is not in a nation.- See Also:
-
isFlying
public boolean isFlying() -
setFlying
-
buildMap
-
isSpy
public boolean isSpy() -
setSpy
public void setSpy(boolean spy) -
getMarkersType
-
setMarkersType
-
getPower
public double getPower() -
addPower
public double addPower(double power) -
setPower
public double setPower(double power) -
setPower
public double setPower(double power, boolean ignoreLimits) -
getProtectedBlocks
-
setProtectedBlocks
-
isInSneakMode
public boolean isInSneakMode() -
setSneakMode
public void setSneakMode(boolean sneakMode) -
updatePower
-
compareTo
- Specified by:
compareToin interfaceComparable<KingdomPlayer>
-
getMutedChannels
-
setMutedChannels
-
addMessageContextEdits
- Specified by:
addMessageContextEditsin interfaceorg.kingdoms.locale.provider.CascadingMessageContextProvider- Overrides:
addMessageContextEditsin classKingdomsObject
-
getFlags
@NotNull public @NotNull org.kingdoms.constants.namespace.NamespacedFlags getFlags()- Specified by:
getFlagsin interfaceorg.kingdoms.abstraction.NamespacedFlagsContainer
-
setFlags
public void setFlags(@NotNull @NotNull org.kingdoms.constants.namespace.NamespacedFlags flags) - Specified by:
setFlagsin interfaceorg.kingdoms.abstraction.NamespacedFlagsContainer
-
getDataHandler
Description copied from class:CompressedSmartObjectUsed for serialization of the smart object into a compressed state to determineCompressedSmartObject.shouldSave()- Overrides:
getDataHandlerin classCompressedSmartObject
-
isDataEmpty
public boolean isDataEmpty()Description copied from interface:SmartObjectChecks whether this data is absolutely empty and can be deleted from the database. The definition of "empty" depends on the implementation.- Specified by:
isDataEmptyin interfaceSmartObject- Returns:
- true if the data is empty and should be deleted, otherwise false
-