KotlinScriptLoader
ModrinthIt’s a script-based project—you can write your own scripts using full-fledged Kotlin! You can even create your own API and build add-ons! It’s got absolutely everything!
KotlinScriptLoader (KSL)
KotlinScriptLoader is a Bukkit/Paper plugin that allows you to write server scripts in Kotlin (.kts) instead of Java, Skript, or Denizen. It provides a powerful, type-safe DSL with hot-reload capabilities, giving you full access to the Bukkit/Spigot/Paper API without compiling a full plugin.
🤔 Why use KSL?
- 🚀 Rapid Prototyping: Write and test game logic, custom commands, or events in minutes.
- 🔄 Hot-Reload: Apply changes instantly with
/ksl reload— no server restart required. - 💎 Full Kotlin Power: Use coroutines, collections, extension functions, and the entire JVM ecosystem.
- 🎨 Modern Text: Native MiniMessage support for gradients, hover events, and click actions.
- 🔌 Built-in Integrations: Out-of-the-box support for LuckPerms, EssentialsX, PlaceholderAPI, and Discord Webhooks.
- 🛡️ Safe Execution: Optional sandbox mode to restrict dangerous operations in untrusted scripts.
⚡ Features
- Event Listeners:
onEvent<PlayerJoinEvent> { ... } - Scheduler DSL:
delay,every,runAsync,runSync. - Dynamic Commands: Register
/mycommanddirectly from a script. - Database Access: Built-in SQLite database via HikariCP.
- Config & YAML: Easy per-script configuration management.
- Addon API: Extend KSL with custom Java/Kotlin plugins.
- IDE Support: Auto-generates
.autocomplete.ktsfor IntelliJ IDEA code completion.
📝 Example Script (scripts/hello.kts)
// Listen for player joins
onEvent<PlayerJoinEvent> {
val p = player
p.sendRichMessage("<gradient:red:blue>Welcome, ${p.name}!</gradient>")
// Check LuckPerms group
if (p.group == "vip") {
p.showRichTitle("<gold>VIP Player", "<gray>Enjoy your perks!")
}
}
// Register a custom command
registerCommand("balance", aliases = listOf("bal", "money")) { player, args ->
val bal = player.balance ?: 0.0
player.sendRichMessage("<green>Your balance: <yellow>$${bal}")
}
// Schedule a repeating task
every(20L * 60) { // Every minute
broadcastMM("<gray>[KSL] <white>Server is running smoothly!")
}
🎮 Commands
| Command | Permission | Description |
| :--- | :--- | :--- |
| /ksl reload | ksl.admin | Reloads all scripts and config. |
| /ksl addons | ksl.admin | Lists all loaded KSL addons. |
| /ksl services | ksl.admin | Lists all registered services. |
| /ksl discord | ksl.admin | Shows configured Discord webhooks. |
| /ksl sandbox | ksl.admin | Shows sandbox status. |
📦 Requirements
- Paper / Purpur (1.20+)
- Java 21
- (Optional) PlaceholderAPI, LuckPerms, EssentialsX

Versions
FAQ
Comment installer KotlinScriptLoader ?
Téléchargez le fichier pour votre version de Minecraft et votre loader sur cette page, puis placez le .jar dans le dossier mods (ou plugins) et lancez le jeu.
KotlinScriptLoader est-il gratuit ?
KotlinScriptLoader est gratuit sur Modgrid — nous renvoyons directement vers la source officielle, sans paywall.
Quelles versions de Minecraft KotlinScriptLoader prend-il en charge ?
Compatible avec Paper, Purpur. Prend en charge les versions 1.21–1.21.11. La liste des versions et loaders pris en charge est dans la section de téléchargement de cette page.
Commentaires 0
Aucun commentaire pour l'instant. Sois le premier à donner ton avis.