Kore vs Shulkerscript
Kore
kore.ayfri.comShulkerscript
shulkerscript.hoelting.devSide by side
| Figure | Kore | Shulkerscript |
|---|---|---|
| Price from | — | — |
| Free plan | — | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 0 | 0 |
| Spec score · Minecraft Datapack Generators | 7.7 (#6) | 7.0 (#19) |
| Purpose | Kore is a Kotlin library that generates regular Minecraft datapacks. | Shulkerscript is a language for writing Minecraft datapacks, with syntax similar to other programming languages and features beyond `.mcfunction` files. |
In their own words
Kore
Kore is a Kotlin library for generating Minecraft datapacks from code. It runs during the build and produces ordinary datapack files, so the server does not need Kore or a Kore plugin. Its typed game data can catch errors in items, blocks, sounds, and commands before a datapack is reloaded. The site lists 65+ typed commands, 50+ JSON resource types, and 80+ generated registries. Kore supports commands, recipes, loot tables, advancements, custom dimensions, functions, and predicates; Kotlin functions, loops, and variables can also generate repeated content. If its typed DSL does not cover a command, function bodies can include raw command lines. Existing datapacks can be moved over gradually, with handwritten parts continuing to run alongside generated ones. Kore is available as a Maven Central dependency, and the maker recommends a JDK and Kotlin IDE. An optional Gradle plugin can build, link, and reload a datapack on save. A browser playground can generate a datapack ZIP. The project is free and open source.
Shulkerscript
Shulkerscript is a scripting language and command-line tool for creating Minecraft data packs. Its syntax resembles other programming languages and extends beyond `.mcfunction` files: one source file can generate multiple function files callable from Minecraft or other Shulkerscript files. Language features include functions, imports, tags, conditionals, execute blocks, groupings, literal commands, and embedded Lua. Functions marked with `#[tick]` can run every tick, while `#[load]` functions can run when a data pack loads. The CLI builds projects into a `dist` directory, watches for file changes, and can package a compiled project as a ZIP archive. An online playground allows browser use without installation, and an optional official Visual Studio Code extension supplies syntax highlighting and snippets. Installation instructions cover Windows, Linux, and macOS, with options including GitHub releases, cargo-binstall, and building from source with Rust and Cargo. The project is free and open source. The documentation labels the playground and Lua integration as works in progress.