summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDico <dico.karssiens@gmail.com>2018-09-24 09:01:04 +0100
committerDico <dico.karssiens@gmail.com>2018-09-24 09:01:04 +0100
commitf2d88b3c54c83f1b826ebb3e483c599b64ad39bf (patch)
tree798e717858a4f88dc50a4fa3c1cb464d0ecdc083
parent59e0cdda6db34a018506c0712302b11329e8c191 (diff)
Remove privilegesOfStar exposure
-rw-r--r--src/main/kotlin/io/dico/parcels2/Privilege.kt14
-rw-r--r--src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt2
-rw-r--r--src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt10
-rw-r--r--src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt4
4 files changed, 12 insertions, 18 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/Privilege.kt b/src/main/kotlin/io/dico/parcels2/Privilege.kt
index 0eebe25..040e5f5 100644
--- a/src/main/kotlin/io/dico/parcels2/Privilege.kt
+++ b/src/main/kotlin/io/dico/parcels2/Privilege.kt
@@ -64,8 +64,7 @@ typealias PrivilegeMap = Map<PrivilegeKey, Privilege>
fun MutablePrivilegeMap(): MutablePrivilegeMap = hashMapOf()
interface PrivilegesMinimal {
- val map: PrivilegeMap
- var privilegeOfStar: Privilege
+ val privilegeMap: PrivilegeMap
fun getStoredPrivilege(key: PrivilegeKey): Privilege
fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean
@@ -120,13 +119,12 @@ enum class PrivilegeChangeResult {
val OfflinePlayer.privilegeKey: PrivilegeKey
inline get() = PlayerProfile.nameless(this)
-open class PrivilegesHolder(override var map: MutablePrivilegeMap = MutablePrivilegeMap()) : PrivilegesMinimal {
- override var privilegeOfStar: Privilege = DEFAULT
- set(value) = run { field = value.requireNonTransient() }
+open class PrivilegesHolder(override var privilegeMap: MutablePrivilegeMap = MutablePrivilegeMap()) : PrivilegesMinimal {
+ private var privilegeOfStar: Privilege = DEFAULT
override fun getStoredPrivilege(key: PrivilegeKey) =
if (key.isStar) privilegeOfStar
- else map.getOrDefault(key, privilegeOfStar)
+ else privilegeMap.getOrDefault(key, privilegeOfStar)
override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean {
privilege.requireNonTransient()
@@ -137,8 +135,8 @@ open class PrivilegesHolder(override var map: MutablePrivilegeMap = MutablePrivi
return true
}
- return if (privilege == DEFAULT) map.remove(key) != null
- else map.put(key, privilege) != privilege
+ return if (privilege == DEFAULT) privilegeMap.remove(key) != null
+ else privilegeMap.put(key, privilege) != privilege
}
}
diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt
index 5f8c4be..2324fac 100644
--- a/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt
+++ b/src/main/kotlin/io/dico/parcels2/defaultimpl/GlobalPrivilegesManagerImpl.kt
@@ -18,7 +18,7 @@ class GlobalPrivilegesManagerImpl(val plugin: ParcelsPlugin) : GlobalPrivilegesM
data: MutablePrivilegeMap = emptyData
) : PrivilegesHolder(data), GlobalPrivileges {
- private inline var data get() = map; set(value) = run { map = value }
+ private inline var data get() = privilegeMap; set(value) = run { privilegeMap = value }
private inline val isEmpty get() = data === emptyData
override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean {
diff --git a/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt b/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt
index d8dd3a8..bfaeb09 100644
--- a/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt
+++ b/src/main/kotlin/io/dico/parcels2/defaultimpl/ParcelImpl.kt
@@ -36,7 +36,7 @@ class ParcelImpl(
world.storage.setParcelData(this, null)
}
- override val map: PrivilegeMap get() = data.map
+ override val privilegeMap: PrivilegeMap get() = data.privilegeMap
override fun getStoredPrivilege(key: PrivilegeKey) = data.getStoredPrivilege(key)
override fun setStoredPrivilege(key: PrivilegeKey, privilege: Privilege): Boolean {
@@ -51,10 +51,6 @@ class ParcelImpl(
else privilege
}
- override var privilegeOfStar: Privilege
- get() = data.privilegeOfStar.let { if (it == DEFAULT) globalPrivileges?.privilegeOfStar ?: DEFAULT else it }
- set(value) = run { setStoredPrivilege(PlayerProfile.Star, value) }
-
override val globalPrivileges: GlobalPrivileges?
get() = keyOfOwner?.let { world.globalPrivileges[it] }
@@ -223,8 +219,8 @@ private object ParcelInfoStringComputer {
append('\n')
- val local = parcel.map
- val global = parcel.globalPrivileges?.map ?: emptyMap()
+ val local = parcel.privilegeMap
+ val global = parcel.globalPrivileges?.privilegeMap ?: emptyMap()
appendAddedList(local, global, CAN_BUILD, "Allowed") // includes CAN_MANAGE privilege
append('\n')
appendAddedList(local, global, BANNED, "Banned")
diff --git a/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt b/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt
index 4c88c11..d0b1296 100644
--- a/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt
+++ b/src/main/kotlin/io/dico/parcels2/storage/exposed/ExposedBacking.kt
@@ -189,7 +189,7 @@ class ExposedBacking(private val dataSourceFactory: () -> DataSource, val poolSi
setParcelOwner(parcel, data.owner)
- for ((profile, privilege) in data.map) {
+ for ((profile, privilege) in data.privilegeMap) {
PrivilegesLocalT.setPrivilege(parcel, profile, privilege)
}
@@ -267,7 +267,7 @@ class ExposedBacking(private val dataSourceFactory: () -> DataSource, val poolSi
System.arraycopy(source, 0, target, 0, source.size.clampMax(target.size))
}
- map = PrivilegesLocalT.readPrivileges(id)
+ privilegeMap = PrivilegesLocalT.readPrivileges(id)
}
}