Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Minecraft Datapack Generators
  3. Shulkerscript

Shulkerscript

What it is

Shulkerscript is a free, open-source scripting language and command-line tool for creating Minecraft data packs. Its programming-style syntax extends beyond .mcfunction files, and one source file can generate multiple callable function files. The language supports functions, imports, tags, conditionals, execute blocks, groupings, literal commands, and embedded Lua. Functions marked with #[tick] can run every tick, while #[load] functions run when a data pack loads. The CLI compiles projects into a dist directory, watches files for changes, and can package compiled output as a ZIP archive. An online playground enables browser use without installation, and an optional official Visual Studio Code extension adds syntax highlighting and snippets. Installation guidance covers Windows, Linux, and macOS through GitHub releases, cargo-binstall, or building with Rust and Cargo. The documentation labels the playground and Lua integration as works in progress. Builds generate no .mcfunction files unless a function uses tick, load, or deobfuscate.

For and against

For

  • Generates multiple function files
  • Includes imports, tags, and conditionals
  • Builds, watches, and creates ZIP archives
  • Browser playground available
  • Official Visual Studio Code extension

Against

  • Playground is work in progress
  • Lua integration is work in progress
  • Annotations required for .mcfunction output

The verdict

Shulkerscript offers a structured language and CLI workflow for building Minecraft data packs across desktop systems or in a browser. Its annotation requirement and work-in-progress features are important considerations.

Who it suits

It suits Minecraft data-pack authors comfortable with scripting or wanting a language beyond .mcfunction files. The playground helps users try it in a browser, while desktop installation supports Windows, Linux, and macOS.

On the record

Availability
The guide offers installation from GitHub releases, installation with cargo-binstall, or building from source with Rust and Cargo.shulkerscript.hoelting.dev · read 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.shulkerscript.hoelting.dev · read 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.shulkerscript.hoelting.dev · read 7 Oct 2026
Compilation
The Shulkerscript CLI compiles project files into a `dist` directory and can watch for file changes to rebuild automatically.shulkerscript.hoelting.dev · read 7 Oct 2026
Compiler
The project says it is written in Rust and describes fast compile times and a small binary size.shulkerscript.hoelting.dev · read 4 Oct 2026
Contributing
The project invites contributions to its CLI and compiler repositories on GitHub.shulkerscript.hoelting.dev · read 4 Oct 2026
Distribution
The CLI can create a ZIP archive of a compiled project with `shulkerscript build --zip`.shulkerscript.hoelting.dev · read 7 Oct 2026
Editor integration
The official Visual Studio Code extension provides syntax highlighting and snippets for Shulkerscript files.shulkerscript.hoelting.dev · read 7 Oct 2026
Functions
A single source file can generate multiple function files that can be called from Minecraft or other Shulkerscript files.shulkerscript.hoelting.dev · read 7 Oct 2026
Install platforms
The installation guide provides instructions for Windows, Linux, and macOS.shulkerscript.hoelting.dev · read 4 Oct 2026
Language features
The language supports functions, imports, tags, conditional statements, execute blocks, and Lua code embedded in scripts.shulkerscript.hoelting.dev · read 7 Oct 2026
Lua integration status
The documentation labels its Lua Integration reference as work in progress.shulkerscript.hoelting.dev · read 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.shulkerscript.hoelting.dev · read 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.shulkerscript.hoelting.dev · read 4 Oct 2026
Packaging limit
At least one function must have a `tick`, `load`, or `deobfuscate` annotation for `.mcfunction` files to be generated.shulkerscript.hoelting.dev · read 7 Oct 2026
Playground
An online playground lets users try Shulkerscript in a browser without installing the CLI.shulkerscript.hoelting.dev · read 7 Oct 2026
Project maturity
The documentation labels the playground and Lua integration as work in progress.shulkerscript.hoelting.dev · read 4 Oct 2026
Project setup
Running `shulkerscript init` creates a project containing a `src` directory, `pack.toml`, and other starter files.shulkerscript.hoelting.dev · read 7 Oct 2026

Alternatives to Shulkerscript

Every alternative, ranked