Minecraft Datapack Language vs Shulkerscript
Minecraft Datapack Language
mcmdl.comShulkerscript
shulkerscript.hoelting.devSide by side
| Figure | Minecraft Datapack Language | Shulkerscript |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | Yes | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 2 | 0 |
| Spec score · Minecraft Datapack Generators | 8.6 (#2) | 7.0 (#19) |
| Editor integration | The VS Code extension supports syntax highlighting, real-time error checking, build commands, workspace validation, and raw text blocks. | The official Visual Studio Code extension provides syntax highlighting and snippets for Shulkerscript files. |
| Purpose | MDL compiles a JavaScript-style language into Minecraft datapacks. | Shulkerscript is a language for writing Minecraft datapacks, with syntax similar to other programming languages and features beyond `.mcfunction` files. |
Plans
Minecraft Datapack Language
- Minecraft Datapack LanguageFree
- Minecraft Datapack Language (MDL)Free
In their own words
Minecraft Datapack Language
Minecraft Datapack Language (MDL) compiles a JavaScript-style language into Minecraft datapacks. It supports if/else statements, while loops, number variables, arithmetic expressions and variable scopes. Projects can span multiple files, with variables from all files merged automatically, and can reference external JSON for registry types such as recipes, loot tables and advancements. Its command-line tool can create projects, check code and build datapacks or directories containing multiple files. A VS Code extension adds syntax highlighting, real-time error checking, build commands, workspace validation and raw text blocks. Python bindings support programmatic datapack creation with variables, control flow, nested functions and MDL scopes. Documentation includes Makefile, npm scripts and GitHub Actions build and checking examples. MDL is open source under the MIT License and costs nothing. Listed platforms include API, extension, Linux, macOS and Windows; system requirements include Python 3.8 or higher and Minecraft 1.20+ or 1.19+. Support pointers include documentation, examples, GitHub Issues and GitHub Discussions.
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.