EVERYTHING XIAOMI
Get listed

Shulkerscript

Shulkerscript is a scripting language and command-line tool for building Minecraft data packs.

Place
#12 of 22
Score
6.0
Shulkerscript's website

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

All alternatives
  1. 1Orca Minecraft Datapack Generator logo

    Orca Minecraft Datapack Generator

    Free planWebAPILinuxmacOS
    7.7From $6.99 a month
  2. 2

    Minecraft Datapack Language

    Free planOpen sourceAPIExtensionLinuxmacOS
    7.3Free plan
  3. 3Codexe Datapack Generator logo
    6.7From $25 a month
  4. 4PackForge logo

    PackForge

    Free planWeb
    6.6From $7.99 a month
  5. 5Beet logo

    Beet

    Free planLinuxmacOSWindows
    6.1Free plan
  6. 6

    Datapack Editor

    Free planLinuxmacOSWindows
    6.1Free plan