summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/MiscExtensions.kt8
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/PlayerExtensions.kt2
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()