diff options
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/util/BukkitUtil.kt | 9 |
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") +} |