diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/UUIDUtil.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/util/UUIDUtil.kt | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/UUIDUtil.kt b/src/main/kotlin/io/dico/parcels2/util/UUIDUtil.kt index 10fbbbb..bca2428 100644 --- a/src/main/kotlin/io/dico/parcels2/util/UUIDUtil.kt +++ b/src/main/kotlin/io/dico/parcels2/util/UUIDUtil.kt @@ -1,26 +1,25 @@ package io.dico.parcels2.util import org.bukkit.Bukkit -import org.jetbrains.annotations.Contract import java.nio.ByteBuffer -import java.util.* +import java.util.UUID @Suppress("UsePropertyAccessSyntax") -fun getPlayerName(uuid: UUID?, ifUnknown: String? = null): String { - return uuid?.let { Bukkit.getOfflinePlayer(uuid)?.takeIf { it.isValid }?.name } +fun getPlayerNameOrDefault(uuid: UUID?, ifUnknown: String? = null): String { + return uuid + ?.let { getPlayerName(it) } ?: ifUnknown ?: ":unknown_name:" } -@Contract("null -> null; !null -> !null", pure = true) -fun UUID?.toByteArray(): ByteArray? = this?.let { +fun getPlayerName(uuid: UUID): String? { + return Bukkit.getOfflinePlayer(uuid)?.takeIf { it.isValid }?.name +} + +fun UUID.toByteArray(): ByteArray = ByteBuffer.allocate(16).apply { putLong(mostSignificantBits) putLong(leastSignificantBits) }.array() -} -@Contract("null -> null; !null -> !null", pure = true) -fun ByteArray?.toUUID(): UUID? = this?.let { - ByteBuffer.wrap(it).run { UUID(long, long) } -}
\ No newline at end of file +fun ByteArray.toUUID(): UUID = ByteBuffer.wrap(this).run { UUID(long, long) } |