diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt | 8 | ||||
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/util/PlayerExtensions.kt | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt b/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt index 7a2504d..877d1cc 100644 --- a/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt +++ b/src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt @@ -4,14 +4,20 @@ import io.dico.parcels2.logger import java.io.File fun File.tryCreate(): Boolean { + if (exists()) { + return !isDirectory + } val parent = parentFile if (parent == null || !(parent.exists() || parent.mkdirs()) || !createNewFile()) { - logger.warn("Failed to create file ${canonicalPath}") + logger.warn("Failed to create file $canonicalPath") return false } return true } +inline fun Boolean.alsoIfTrue(block: () -> Unit): Boolean = also { if (it) block() } +inline fun Boolean.alsoIfFalse(block: () -> Unit): Boolean = also { if (!it) block() } + inline fun <R> Any.synchronized(block: () -> R): R = synchronized(this, block) inline fun <T> T?.isNullOr(condition: T.() -> Boolean): Boolean = this == null || condition() diff --git a/src/main/kotlin/io/dico/parcels2/util/PlayerExtensions.kt b/src/main/kotlin/io/dico/parcels2/util/PlayerExtensions.kt index 8713da7..9604365 100644 --- a/src/main/kotlin/io/dico/parcels2/util/PlayerExtensions.kt +++ b/src/main/kotlin/io/dico/parcels2/util/PlayerExtensions.kt @@ -2,12 +2,14 @@ package io.dico.parcels2.util import io.dico.dicore.Formatting import io.dico.parcels2.ParcelsPlugin +import io.dico.parcels2.PlayerProfile import io.dico.parcels2.logger import org.bukkit.OfflinePlayer import org.bukkit.entity.Player import org.bukkit.plugin.java.JavaPlugin inline val OfflinePlayer.uuid get() = uniqueId + @Suppress("UsePropertyAccessSyntax") inline val OfflinePlayer.isValid get() = isOnline() || hasPlayedBefore() |