https://github.com/sandstone-mc/sandstone
Sandstone | Next Generation Framework for Minecraft
https://github.com/sandstone-mc/sandstone
datapack library minecraft resourcepack sandstone typescript
Last synced: 4 months ago
JSON representation
Sandstone | Next Generation Framework for Minecraft
- Host: GitHub
- URL: https://github.com/sandstone-mc/sandstone
- Owner: sandstone-mc
- License: mit
- Created: 2020-05-28T09:48:29.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2026-02-09T06:49:47.000Z (4 months ago)
- Last Synced: 2026-02-09T12:32:51.103Z (4 months ago)
- Topics: datapack, library, minecraft, resourcepack, sandstone, typescript
- Language: TypeScript
- Homepage: https://sandstone.dev/
- Size: 12.6 MB
- Stars: 214
- Watchers: 8
- Forks: 18
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-mcc - Sandstone - a javascript library for datapacks (Uncategorized / Uncategorized)
README
# Sandstone




Sandstone is a Typescript library for Minecraft Datapacks, Resource Packs, etc. It allows easy creation, debug and sharing of Minecraft functions, loot tables, predicates etc...
Interested? Join our Discord:
[](https://discord.gg/4tzM5aXDRe)
## Features
## 💻 Perfect autocompletion & IDE support
Sandstone tells you what a command expects, and autocompletes complicated arguments for you.
You don't need to remember commands syntax anymore.

This autocompletion works for all resources: commands, predicates, loot tables, advancements...
## 📂 Better organisation of resources
You can have multiple functions, advancements, loot tables per files - or you can keep the vanilla organization, and have only 1 per file. Sandstone allows you to organize your packs as you prefer, without sticking to Mojang's conventions.
You also benefit from all the capabilities of a real programming language: multiline comments, indentation, documentation...
## 🚀 Useful and heavily optimized abstractions
Sandstone includes common and heavily optimized abstractions:
- Control statements, with `if`, `else if` and `else`
- Boolean logic, with `or`, `and` and `not`
- Loops, with `while` and `for`
- Sleep statement, which waits a certain time before running the next commands
These statements are most of the time more optimized than hand-written code, since they switch between different implementations to get the fastest one. They have been studied and designed for performance.
However, you stay free: you can keep using only vanilla commands, if you prefer - Sandstone does not get in your way.
## 👐 Easy to share
Sharing commands has **never been easier**. Just publish your functions on NPM, and everyone can use them to improve their own packs. Whether it's some common code like raycasting, or some new abstractions like better `/tellraw`, the Sandstone ecosystem grows by the day.
You can finally stop reinventing the wheel.
# Supporting Sandstone
If you want to support Sandstone, the simplest way is to star the repository! It's actually very encouraging.
[](https://github.com/sandstone-mc/sandstone/blob/master/README.md)
# Getting started
See the [Getting Started](https://sandstone.dev/docs) section on [sandstone.dev](https://sandstone.dev/) to start using Sandstone!