Sandstone is a TypeScript library for building, debugging, and sharing Minecraft datapacks and resource packs. It provides autocomplete and Wiki documentation for commands and resources such as predicates, loot tables, and advancements. Developers can keep multiple functions, advancements, or loot tables in one file, or use a one-per-file layout. Built-in constructs include conditional logic, boolean operations, loops, switch statements, and sleep; vanilla commands are also available with autocomplete and build-time and run-time checks. Its CLI can scaffold and build datapacks, rebuild them when files change, and run a watcher. Documentation examples can be edited to preview the resulting datapack live without installing the library. Dependencies can be installed through the CLI from Smithed and Sandstone's library repository, or through npm-compatible package managers. Developers can publish functions to NPM for use in other packs. Sandstone is open source and free, and is listed for Linux, macOS, Windows, and web. Local installation requires Bun and Node.js; the documentation recommends a code editor such as Visual Studio Code.
Who it is for
Sandstone suits datapack creators and developers who want to build Minecraft packs with a TypeScript workflow. It may also fit people who want to share reusable functions through NPM.
What is good
- Autocomplete and Wiki documentation for commands and resources
- Supports multiple datapack resources and file layouts
- CLI scaffolds, builds, and watches datapacks
- Live preview available without installing Sandstone
- Open source and free
What to know first
- Local installation requires Bun and Node.js
- Documentation recommends using a code editor
Verdict
Sandstone combines TypeScript-based pack creation with datapack-specific autocomplete, abstractions, and CLI tools. Its local requirements are worth noting before choosing it for a development workflow.
Compared on Minecraft datapack generators
- Function generation
- Yes
- Loot table generation
- Yes
- Advancement generation
- Yes
- Predicate generation
- Yes
- Datapack validation
- Yes



