Langue

KotlinScriptLoader

KotlinScriptLoader

Modrinth

It’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!

10 téléchargements 1 abonnés mis à jour 1mo ago
dernière v1.1.0 Modrinth
Paper Purpur 1.21 – 1.21.11 LibraryManagementUtility

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 /mycommand directly 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.kts for 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

Preview/Обложка

Versions

Release
1.1.0
paper, purpur · 1.21, 1.21.1, 1.21.2 · 1mo ago
# KotlinScriptLoader 1.1.0 Главный релиз после 1.0.0 — Addon API, GUI, межскриптовые библиотеки, состояние…
6
Release
1.0.0
paper, purpur · 1.21, 1.21.1, 1.21.2 · 1mo ago
1.0.0 is out—enjoy! I spent a long time working on it, and there’s already a lot included right out of the box. Feel free to create addons while I haven't…
4

Commentaires 0

Aucun commentaire pour l'instant. Sois le premier à donner ton avis.

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.

Télécharger KotlinScriptLoader

Les fichiers proviennent directement de la source d'origine. Modgrid ne les héberge ni ne les modifie.