Weave – where datapacks come together.#
NOTE
Weave is under active development.
The API is evolving, but the core architecture is stable.
What is weave?#
Weave is a Go library that lets you build Minecraft datapacks in code, instead of writing JSON and .mcfunction files by hand.
You describe what you want (functions, advancements, loot tables, etc.), and weave takes care of generating the correct file structure and JSON output for Minecraft.
Weave is designed to be:
- Modular: each feature lives in its own package
- Composable: datapacks can be built across multiple files
- Immutable: all operations return new values, no hidden mutation
- Simple: no registries, no global state, no magic
- Extensible: adding a feature does not require modifying core code
Core idea#
At its core, weave is a transformation pipeline:
User code
↓
Weaver (collects features)
↓
Emitters (one per feature type)
↓
File Data (paths + content)
↓
Disk (Minecraft datapack)
The user only interacts with DataPack and feature constructors.
Using Weave#
todo
Licensing#
Weave is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
Each files is using this license if not said otherwise at the top of the file.