summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/ParcelOwner.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/ParcelOwner.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/ParcelOwner.kt18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/ParcelOwner.kt b/src/main/kotlin/io/dico/parcels2/ParcelOwner.kt
index c602ff3..07e7c09 100644
--- a/src/main/kotlin/io/dico/parcels2/ParcelOwner.kt
+++ b/src/main/kotlin/io/dico/parcels2/ParcelOwner.kt
@@ -1,3 +1,5 @@
+@file:Suppress("unused")
+
package io.dico.parcels2
import io.dico.parcels2.util.getPlayerNameOrDefault
@@ -10,10 +12,8 @@ import java.util.*
@Suppress("UsePropertyAccessSyntax")
class ParcelOwner private constructor(val uuid: UUID?,
- name: String?) {
- var name: String? = name
- get() = field ?: getPlayerNameOrDefault(uuid!!).also { field = it }
- private set
+ val name: String?) {
+ val notNullName: String by lazy { name ?: getPlayerNameOrDefault(uuid!!) }
constructor(name: String) : this(null, name)
constructor(uuid: UUID) : this(uuid, null)
@@ -24,13 +24,13 @@ class ParcelOwner private constructor(val uuid: UUID?,
}
inline val hasUUID: Boolean get() = uuid != null
- val onlinePlayer: Player? get() = uuid?.let { Bukkit.getPlayer(uuid) }
- val onlinePlayerAllowingNameMatch: Player? get() = onlinePlayer ?: name?.let { Bukkit.getPlayer(name) }
+ val onlinePlayer: Player? get() = uuid?.let { Bukkit.getPlayer(uuid) }
+ @Suppress("DEPRECATION")
+ val onlinePlayerAllowingNameMatch: Player? get() = onlinePlayer ?: name?.let { Bukkit.getPlayerExact(name) }
+ val offlinePlayer: OfflinePlayer? get() = uuid?.let { Bukkit.getOfflinePlayer(it).takeIf { it.isValid } }
@Suppress("DEPRECATION")
- val offlinePlayer
- get() = (uuid?.let { Bukkit.getOfflinePlayer(it) } ?: Bukkit.getOfflinePlayer(name))
- ?.takeIf { it.isValid }
+ val offlinePlayerAllowingNameMatch: OfflinePlayer? get() = offlinePlayer ?: Bukkit.getOfflinePlayer(name).takeIf { it.isValid }
fun matches(player: OfflinePlayer, allowNameMatch: Boolean = false): Boolean {
return uuid?.let { it == player.uniqueId } ?: false