A Minecraft datapack generator written in go.
at item_modifier 47 lines 1.3 kB view raw view rendered
1# Weave – where datapacks come together. 2 3> [!NOTE] 4> Weave is under active development. 5> 6> The API is evolving, but the core architecture is stable. 7 8## What is weave? 9 10**Weave** is a Go library that lets you build Minecraft datapacks in code, instead of writing JSON and .mcfunction files by hand. 11 12You describe *what* you want (functions, advancements, loot tables, etc.), and **weave takes care of generating the correct file structure and JSON output for Minecraft**. 13 14Weave is designed to be: 15- Modular: each feature lives in its own package 16- Composable: datapacks can be built across multiple files 17- Immutable: all operations return new values, no hidden mutation 18- Simple: no registries, no global state, no magic 19- Extensible: adding a feature does not require modifying core code 20 21## Core idea 22 23At its core, weave is a transformation pipeline: 24 25``` 26User code 2728Weaver (collects features) 2930Emitters (one per feature type) 3132File Data (paths + content) 3334Disk (Minecraft datapack) 35``` 36 37The user only interacts with **DataPack** and **feature constructors**. 38 39## Using Weave 40 41`todo` 42 43## Licensing 44 45Weave is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). 46 47Each files is using this license if not said otherwise at the top of the file.