Shulkerscript
Shulkerscript is a scripting language and command-line tool for building Minecraft data packs.
What Shulkerscript is
Shulkerscript is a scripting language and command-line tool for building Minecraft data packs. Its syntax resembles other programming languages and adds capabilities beyond `.mcfunction` files. A source file can produce multiple function files that Minecraft or other Shulkerscript files can call. The language supports functions, imports, tags, conditionals, execute blocks, groupings, literal commands, and embedded Lua. Functions marked with `#[tick]` can run every tick, while those marked with `#[load]` can run when a data pack loads. The CLI builds projects into a `dist` directory, watches files for changes, and can create ZIP archives. An online playground lets users try the language in a browser, and an optional official Visual Studio Code extension provides syntax highlighting and snippets. Installation guidance covers Windows, Linux, and macOS, with options including GitHub releases, cargo-binstall, or building with Rust and Cargo. The project is free and open source. The documentation labels the playground and Lua integration as works in progress. Builds generate no `.mcfunction` files unless at least one function has a `tick`, `load`, or `deobfuscate` annotation.
Good
- Free and open source.
- Online playground works in a browser.
- CLI can watch files and build ZIP archives.
- Official Visual Studio Code extension offers highlighting and snippets.
- Installation instructions cover Windows, Linux, and macOS.
Watch out
- At least one required function annotation is needed to generate `.mcfunction` files.
- Playground and Lua integration are marked as works in progress.
- Building from source requires Rust and Cargo.
Who it suits
Shulkerscript suits Minecraft data-pack creators who prefer a programming-language syntax and want to generate multiple function files from source. It also fits developers who want a command-line build workflow or an optional Visual Studio Code extension.
Verdict
Shulkerscript offers a structured language and CLI workflow for Minecraft data packs, with browser access and editor support. Its annotation requirement affects generated output, and the documentation flags the playground and Lua integration as unfinished.
The facts
Each one read from Shulkerscript's own pages, with the date it was checked.
What it does
- Availability
- The guide offers installation from GitHub releases, installation with cargo-binstall, or building from source with Rust and Cargo.checked 4 Oct 2026
- Build and distribution
- The CLI can build projects into a `dist` directory, watch for file changes, and create a ZIP archive of a compiled project.checked 4 Oct 2026
- CLI installation
- The CLI can be installed with a quickinstall script, cargo-binstall, a GitHub release, or by building from source with Rust and Cargo.checked 7 Oct 2026
- Compilation
- The Shulkerscript CLI compiles project files into a `dist` directory and can watch for file changes to rebuild automatically.checked 7 Oct 2026
- Compiler
- The project says it is written in Rust and describes fast compile times and a small binary size.checked 4 Oct 2026
- Contributing
- The project invites contributions to its CLI and compiler repositories on GitHub.checked 4 Oct 2026
- Distribution
- The CLI can create a ZIP archive of a compiled project with `shulkerscript build --zip`.checked 7 Oct 2026
- Editor integration
- The official Visual Studio Code extension provides syntax highlighting and snippets for Shulkerscript files.checked 7 Oct 2026
- Functions
- A single source file can generate multiple function files that can be called from Minecraft or other Shulkerscript files.checked 7 Oct 2026
- Language features
- The language supports functions, imports, tags, conditional statements, execute blocks, and Lua code embedded in scripts.checked 7 Oct 2026
- Lua integration status
- The documentation labels its Lua Integration reference as work in progress.checked 7 Oct 2026
- Minecraft-specific behavior
- Functions annotated with `#[tick]` can run every tick, and functions annotated with `#[load]` can run when a data pack is loaded.checked 4 Oct 2026
- Output limitation
- The syntax guide says at least one function must be annotated with `tick`, `load`, or `deobfuscate`, or no `.mcfunction` files will be generated.checked 4 Oct 2026
- Packaging limit
- At least one function must have a `tick`, `load`, or `deobfuscate` annotation for `.mcfunction` files to be generated.checked 7 Oct 2026
- Playground
- An online playground lets users try Shulkerscript in a browser without installing the CLI.checked 7 Oct 2026
- Project maturity
- The documentation labels the playground and Lua integration as work in progress.checked 4 Oct 2026
- Project setup
- Running `shulkerscript init` creates a project containing a `src` directory, `pack.toml`, and other starter files.checked 7 Oct 2026
- Purpose
- Shulkerscript is a language for writing Minecraft datapacks, with syntax similar to other programming languages and features beyond `.mcfunction` files.checked 7 Oct 2026
- Supported desktop systems
- The getting-started guide provides installation instructions for Windows, Linux, and macOS.checked 7 Oct 2026
- Syntax
- Its syntax is similar to other programming languages and adds features beyond `.mcfunction` files.checked 4 Oct 2026
Where it runs
- Install platforms
- The installation guide provides instructions for Windows, Linux, and macOS.checked 4 Oct 2026
Alternatives to Shulkerscript
- 1

Orca Minecraft Datapack Generator
Free planWebAPILinuxmacOS7.7From $6.99 a month - 2
Minecraft Datapack Language
Free planOpen sourceAPIExtensionLinuxmacOS7.3Free plan - 3

Codexe Datapack Generator
Free planWeb6.7From $25 a month - 4

PackForge
Free planWeb6.6From $7.99 a month - 5

Beet
Free planLinuxmacOSWindows6.1Free plan - 6
Datapack Editor
Free planLinuxmacOSWindows6.1Free plan
