summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt')
-rw-r--r--src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt b/src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt
index 618eaed..c7d813b 100644
--- a/src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt
+++ b/src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt
@@ -3,6 +3,7 @@ package io.dico.parcels2.util
import io.dico.parcels2.util.ext.isValid
import org.bukkit.Bukkit
import org.bukkit.OfflinePlayer
+import java.lang.IllegalArgumentException
import java.util.UUID
fun getPlayerName(uuid: UUID): String? = getOfflinePlayer(uuid)?.name
@@ -12,3 +13,11 @@ fun getOfflinePlayer(uuid: UUID): OfflinePlayer? = Bukkit.getOfflinePlayer(uuid)
fun getOfflinePlayer(name: String): OfflinePlayer? = Bukkit.getOfflinePlayer(name).takeIf { it.isValid }
fun isServerThread(): Boolean = Thread.currentThread().name == "Server thread"
+
+fun isPlayerNameValid(name: String): Boolean =
+ name.length in 3..16
+ && name.find { it !in "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_" } == null
+
+fun checkPlayerNameValid(name: String) {
+ if (!isPlayerNameValid(name)) throw IllegalArgumentException("Invalid player name: $name")
+}