Beet vs Shulkerscript
Beet
mcbeet.devShulkerscript
shulkerscript.hoelting.devSide by side
| Figure | Beet | Shulkerscript |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Minecraft Datapack Generators | 8.2 (#4) | 7.0 (#19) |
| Purpose | Beet is a development toolkit for working with Minecraft data packs and resource packs. | Shulkerscript is a language for writing Minecraft datapacks, with syntax similar to other programming languages and features beyond `.mcfunction` files. |
Plans
In their own words
Beet
Beet is a free, open-source development toolkit for Minecraft data packs and resource packs. It brings both pack types into one pipeline, and its library can create, read, edit, and merge packs in zipped or unzipped form. Files load when needed; the documentation says this allows Beet to handle packs with thousands of files instantly. Plugins can inspect, modify, transform, or generate pack resources during builds. The toolchain supports configurable builds, release workflows, watch mode, and linking generated packs to Minecraft. Beet provides a statically typed Python API with autocompletion and first-class pytest integration. Its documentation also describes integration with Sandstone, a Node.js and TypeScript framework for writing Minecraft commands. Beet installs as a Python package using pip or uv, so users need Python and a Python package manager first. Installation instructions cover Windows, macOS, and Linux, and the repository identifies the license as MIT. The maker describes the documentation as a work in progress and invites contributions to guides and use cases. The project points users to Beet Discord for discussion and help.
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.