Shulkerscript
shulkerscript.hoelting.dev
What it is
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.
Spec sheet
- Purpose
- Shulkerscript is a language for writing Minecraft datapacks, with syntax similar to other programming languages and features beyond `.mcfunction` files.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Availability
- The guide offers installation from GitHub releases, installation with cargo-binstall, or building from source with Rust and Cargo.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- 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.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- 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.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Compilation
- The Shulkerscript CLI compiles project files into a `dist` directory and can watch for file changes to rebuild automatically.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Compiler
- The project says it is written in Rust and describes fast compile times and a small binary size.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- Contributing
- The project invites contributions to its CLI and compiler repositories on GitHub.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- Distribution
- The CLI can create a ZIP archive of a compiled project with `shulkerscript build --zip`.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Editor integration
- The official Visual Studio Code extension provides syntax highlighting and snippets for Shulkerscript files.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Functions
- A single source file can generate multiple function files that can be called from Minecraft or other Shulkerscript files.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Install platforms
- The installation guide provides instructions for Windows, Linux, and macOS.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- Language features
- The language supports functions, imports, tags, conditional statements, execute blocks, and Lua code embedded in scripts.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Lua integration status
- The documentation labels its Lua Integration reference as work in progress.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Minecraft-specific behavior
- Functions annotated with `#[tick]` can run every tick, and functions annotated with `#[load]` can run when a data pack is loaded.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- 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.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- Packaging limit
- At least one function must have a `tick`, `load`, or `deobfuscate` annotation for `.mcfunction` files to be generated.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Playground
- An online playground lets users try Shulkerscript in a browser without installing the CLI.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Project maturity
- The documentation labels the playground and Lua integration as work in progress.Read 4 Oct 2026 · shulkerscript.hoelting.dev
- Project setup
- Running `shulkerscript init` creates a project containing a `src` directory, `pack.toml`, and other starter files.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Supported desktop systems
- The getting-started guide provides installation instructions for Windows, Linux, and macOS.Read 7 Oct 2026 · shulkerscript.hoelting.dev
- Syntax
- Its syntax is similar to other programming languages and adds features beyond `.mcfunction` files.Read 4 Oct 2026 · shulkerscript.hoelting.dev
Strong points and limits
Strong points
- One source file can generate multiple function files
- CLI can watch files and rebuild projects
- Can package compiled projects as ZIP archives
- Free and open source
Limits
- At least one annotated function is required to generate `.mcfunction` files
- Playground and Lua integration are works in progress
Who it suits
Shulkerscript suits Minecraft data-pack creators who want a programming-language-style workflow and a CLI build process. Its playground and VS Code extension offer ways to try or edit projects.
Verdict
Shulkerscript offers language features and build tools for Minecraft data-pack projects across desktop systems. Note the annotation requirement for generated functions and the work-in-progress status of the playground and Lua integration.
Where Specifiction places it
- Minecraft Datapack Generators#19 of 227.0