diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/Parcel.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/Parcel.kt | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/Parcel.kt b/src/main/kotlin/io/dico/parcels2/Parcel.kt index 517b88f..4f89fe0 100644 --- a/src/main/kotlin/io/dico/parcels2/Parcel.kt +++ b/src/main/kotlin/io/dico/parcels2/Parcel.kt @@ -1,6 +1,7 @@ package io.dico.parcels2 import io.dico.parcels2.util.math.Vec2i +import io.dico.parcels2.util.math.Vec3i import org.bukkit.Location import org.joda.time.DateTime import java.util.UUID @@ -19,7 +20,7 @@ interface Parcel : ParcelData, Privileges { val pos: Vec2i val x: Int val z: Int - val data: ParcelData + val data: ParcelDataHolder val infoString: String val hasBlockVisitors: Boolean val globalPrivileges: GlobalPrivileges? @@ -27,21 +28,21 @@ interface Parcel : ParcelData, Privileges { override val keyOfOwner: PlayerProfile.Real? get() = owner as? PlayerProfile.Real - fun copyDataIgnoringDatabase(data: ParcelData) + fun copyData(newData: ParcelDataHolder, callerIsDatabase: Boolean = false) - fun copyData(data: ParcelData) + fun dispose() = copyData(ParcelDataHolder()) - fun dispose() - - suspend fun withBlockVisitorPermit(block: suspend () -> Unit) + fun updateOwnerSign(force: Boolean = false) val homeLocation: Location get() = world.blockManager.getHomeLocation(id) } + + interface ParcelData : RawPrivileges { var owner: PlayerProfile? val lastClaimTime: DateTime? - var ownerSignOutdated: Boolean + var isOwnerSignOutdated: Boolean var interactableConfig: InteractableConfiguration //fun canBuild(player: OfflinePlayer, checkAdmin: Boolean = true, checkGlobal: Boolean = true): Boolean @@ -59,7 +60,7 @@ class ParcelDataHolder(addedMap: MutablePrivilegeMap = mutableMapOf()) : ParcelData, PrivilegesHolder(addedMap) { override var owner: PlayerProfile? = null override var lastClaimTime: DateTime? = null - override var ownerSignOutdated = false + override var isOwnerSignOutdated = false override var interactableConfig: InteractableConfiguration = BitmaskInteractableConfiguration() } |