Package org.kingdoms.constants.land
Class ProtectionSign
java.lang.Object
org.kingdoms.constants.base.CompressedSmartObject
org.kingdoms.constants.base.KingdomsObject
org.kingdoms.constants.base.KeyedKingdomsObject<SimpleLocation>
org.kingdoms.constants.land.KingdomBlock
org.kingdoms.constants.land.ProtectionSign
- All Implemented Interfaces:
Keyed<SimpleLocation>,SmartObject,org.kingdoms.constants.group.model.logs.Loggable,org.kingdoms.locale.provider.CascadingMessageContextProvider,org.kingdoms.locale.provider.MessageContextProvider
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic enumstatic enum -
Field Summary
Fields inherited from class org.kingdoms.constants.land.KingdomBlock
originFields inherited from class org.kingdoms.constants.base.KingdomsObject
lastLogsExpirationCheck, logs, metadata, statisticsFields inherited from class org.kingdoms.constants.base.CompressedSmartObject
objectState -
Constructor Summary
ConstructorsConstructorDescriptionProtectionSign(@NonNull SimpleLocation location, @NonNull SimpleLocation sign, @NonNull UUID owner, @NonNull ProtectionSign.ProtectionType protectionType, @Nullable String password, long since, @NonNull List<ProtectionSign.AccessEntry> accessEntries, @Nullable Duration automaticStateToggle) -
Method Summary
Modifier and TypeMethodDescriptioncanAccess(@NonNull org.bukkit.OfflinePlayer player) static booleancanBlockBeProtected(@NonNull org.bukkit.block.Block block) voidchangePassword(@Nullable String password) boolean@NonNull List<ProtectionSign.AccessEntry> @Nullable Duration@NonNull org.bukkit.block.BlockgetBlock()@NonNull SimpleLocationgetKey()org.kingdoms.constants.land.KingdomBuildingHandler<?> @NonNull UUIDgetOwner()@NonNull org.bukkit.OfflinePlayer@Nullable Stringstatic @NonNull Optional<ProtectionSign> getProtection(@NonNull org.bukkit.block.Block block) @NonNull ProtectionSign.ProtectionType@NonNull SimpleLocationgetSign()longgetSince()@NonNull org.kingdoms.utils.cache.caffeine.ExpirableSet<UUID> inthashCode()hashPassword(String password) booleanbooleanbooleanisOwner(@NonNull org.bukkit.OfflinePlayer player) static booleanisProtected(@NonNull org.bukkit.block.Block block) static booleanisSign(@NonNull org.bukkit.block.Block block) voidmodifyData(Land land, boolean adding) static @NonNull ProtectionSignplaceProtection(@Nullable Land land, @NonNull org.bukkit.block.Block block, @NonNull org.bukkit.block.Block sign, @NonNull org.bukkit.entity.Player owner, ProtectionSign.ProtectionType protectionType) voidvoidsetAutomaticStateToggle(@Nullable Duration automaticStateToggle) voidsetHashedPassword(@Nullable String password) voidvoidsetProtectionType(@NonNull ProtectionSign.ProtectionType protectionType) voidsetTemporarilyTrusted(@NonNull org.kingdoms.utils.cache.caffeine.ExpirableSet<UUID> temporarilyTrusted) booleanshouldRemoveProtectionAfterBreak(org.bukkit.block.Block block) Handles doors and chests.voidbooleanverifyPassword(@NonNull String password) Methods inherited from class org.kingdoms.constants.land.KingdomBlock
getLand, getOriginMethods inherited from class org.kingdoms.constants.base.KingdomsObject
addMessageContextEdits, getLogs, getMetadata, getNewestLog, getNewestLog, getStatistics, log, setLogs, setMetadata, setStatisticsMethods inherited from class org.kingdoms.constants.base.CompressedSmartObject
ensureValidObject, getCompressedData, getDataHandler, hasObjectExpired, invalidateObject, isNewData, isObjectStateSaved, saveObjectState, shouldSave, toStringMethods 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.constants.base.SmartObject
isDataEmpty
-
Constructor Details
-
ProtectionSign
public ProtectionSign(@NonNull SimpleLocation location, @NonNull SimpleLocation sign, @NonNull UUID owner, @NonNull ProtectionSign.ProtectionType protectionType, @Nullable String password, long since, @NonNull List<ProtectionSign.AccessEntry> accessEntries, @Nullable Duration automaticStateToggle)
-
-
Method Details
-
isProtected
public static boolean isProtected(@NonNull org.bukkit.block.Block block) -
canBlockBeProtected
public static boolean canBlockBeProtected(@NonNull org.bukkit.block.Block block) -
placeProtection
public static @NonNull ProtectionSign placeProtection(@Nullable Land land, @NonNull org.bukkit.block.Block block, @NonNull org.bukkit.block.Block sign, @NonNull org.bukkit.entity.Player owner, ProtectionSign.ProtectionType protectionType) -
getAutomaticStateToggle
-
setAutomaticStateToggle
-
shouldRemoveProtectionAfterBreak
public boolean shouldRemoveProtectionAfterBreak(org.bukkit.block.Block block) Handles doors and chests. -
getProtection
public static @NonNull Optional<ProtectionSign> getProtection(@NonNull org.bukkit.block.Block block) -
isSign
public static boolean isSign(@NonNull org.bukkit.block.Block block) -
isContainer
public boolean isContainer() -
getSince
public long getSince() -
hashCode
public int hashCode() -
updateSign
public void updateSign() -
getKey
-
equals
-
isOwner
public boolean isOwner(@NonNull org.bukkit.OfflinePlayer player) -
removeProtection
public void removeProtection() -
getOwner
-
setOwner
-
getOwnerPlayer
public @NonNull org.bukkit.OfflinePlayer getOwnerPlayer() -
getAccessEntries
-
getSign
-
canAccess
-
canAccess
-
getProtectionType
-
setProtectionType
-
getBlock
public @NonNull org.bukkit.block.Block getBlock() -
getTemporarilyTrusted
-
setTemporarilyTrusted
public void setTemporarilyTrusted(@NonNull org.kingdoms.utils.cache.caffeine.ExpirableSet<UUID> temporarilyTrusted) -
getPassword
-
setHashedPassword
-
changePassword
-
verifyPassword
-
hashPassword
-
hasPassword
public boolean hasPassword() -
getKingdomBlockHandler
public org.kingdoms.constants.land.KingdomBuildingHandler<?> getKingdomBlockHandler()- Specified by:
getKingdomBlockHandlerin classKingdomBlock
-
modifyData
- Specified by:
modifyDatain classKingdomBlock
-