
WorldWeaver, or WoVer for short, is a Fabric utility mod for Minecraft that aims to streamline common modding tasks, particularly those related to world creation. As a successor to BCLib, WoVer is intended to eventually take its place. Embracing Minecraft's data-driven world generation methodology, it aims to increase the value of data elements (i.e. ResourcePacks, DataPacks, etc.) in modding, and to provide a more flexible and powerful way to create and modify worlds. In addition, WoVer is designed to integrate seamlessly with the vanilla game, other mods and world generation data packs.
Please note that this mod is still in early development and is not yet ready for use. This means that:
- The API is not yet stable and may change significantly between versions.
- There may be game breaking bugs that cannot be undone and may destroy worlds.
- Documentation may be missing for some parts, especially those that are still under active development.
We will provide more information in the near future.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
| 19h ago | 1 | ||||
|
A
21.0.13
|
19h ago | 1 | |||
|
A
21.0.12
|
19h ago | 1 | |||
|
A
21.0.11
|
19h ago | 1 | |||
|
A
21.0.10
|
19h ago | 1 | |||
|
A
21.0.9
|
19h ago | 1 | |||
|
A
21.0.8
|
19h ago | 1 | |||
|
A
21.0.7
|
19h ago | 1 | |||
|
A
21.0.6
|
19h ago | 1 | |||
|
A
21.0.5
|
19h ago | 1 | |||
|
A
21.0.4
|
19h ago | 1 | |||
|
A
21.0.3
|
19h ago | 1 | |||
|
A
21.0.2
|
19h ago | 1 | |||
|
A
21.0.1
|
19h ago | 1 | |||
|
A
21.0.0
|
19h ago | 1 |
- Startup parameter -Dwover.suppressScreens=true hides the welcome, update and experimental-world screens for automated clients
- wover-test-api: StructureTemplateAudit checks a mod's shipped structure templates
- StructureNBT.readTemplate and getTemplate: the single structure template loader
- Build for Minecraft 26.3
#### Changes
- WorldWeaver refuses to start next to Polymer 0.18.3, whose virtual entities (e.g. Universal Graves) crash the server once a mod adds Nether biomes through Fabric API
- WorldWeaver logs only at info level by default
- Deprecated ClientBlockTraits.MODEL, attach a BlockModelBinding (ModelKey + client factory) instead
- Deprecated the ClientBlockTraits render aliases, use BlockRenderTraits and ItemRenderTraits
- Modded compostables use the minecraft:compostable component
#### Fixes
- Vanilla Nether biomes almost never generated next to biomes of other mods (e.g. Biomes O' Plenty)
- Servers crashed when Polymer-based mods (e.g. Universal Graves) created virtual entities
- Food built with RecipeBuilder.cookableFood could not be cooked in a furnace
- The world preset info registry was not loaded when TerraBlender was installed, so new worlds stored the wrong overworld preset
- End structure pieces (BetterEnd villages) decided whether they are buried by reading blocks two chunks away, which logged unsafe terrain reads and could cut pieces off
- The fabric tool tags (axes, hoes, pickaxes, shears, shovels, swords, spears) had no translation
- The warning for level-type=minecraft:normal claimed modded Nether/End biomes would not generate; they do, only the WorldWeaver biome layout is missing ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Turkish system locale broke loading of BetterNether/BetterEnd worldgen data (BetterNether[WorldWeaver#285](https://github.com/quiqueck/WorldWeaver/issues/285))
- BiomeBuilder colors no longer use the client-only ColorHelper, which crashed a dedicated server
- StructureNBT did not upgrade older structure templates, so they loaded as air on 26.3
- Spears exposed a tool rule without a tag key, crashing mods that inspect tool rules, and lost their spear attack speed ([BetterEnd#601](https://github.com/quiqueck/BetterEnd/issues/601))
- Tool sets were missing the tags vanilla lists its tools in by item (#minecraft:cluster_max_harvestables, #c:tools/mining_tool, #c:tools/melee_weapon) ([BetterNether#197](https://github.com/quiqueck/BetterNether/issues/197))
- Bookshelves didn't count as #minecraft:enchantment_power_provider, and the magic-source check ignored #enchantment_power_transmitter ([BetterNether#216](https://github.com/quiqueck/BetterNether/issues/216))
- Silk-touch loot tables with several drop pools dropped the block once per pool ([BetterNether#226](https://github.com/quiqueck/BetterNether/issues/226))
- Structures placed oxidized copper, amethyst and netherite debug blocks ([BetterNether#316](https://github.com/quiqueck/BetterNether/issues/316), [BetterNether#231](https://github.com/quiqueck/BetterNether/issues/231))
- Worlds affected by the bed-foot home POI bug kept the stale entries, so villagers stayed stuck ([BCLib#231](https://github.com/quiqueck/BCLib/issues/231))
- Biomes with genChance 0 crashed the biome source instead of being disabled ([BCLib#216](https://github.com/quiqueck/BCLib/issues/216))
- Game crashed on startup with an ExceptionInInitializerError when installed alongside Nyf's Quivers ([WorldWeaver#19](https://github.com/quiqueck/WorldWeaver/issues/19))
- Dedicated servers silently created a vanilla Nether and End when server.properties set level-type=minecraft:normal; they now warn and explain how to pick the BetterX preset ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Surface rules that other mods add to the End through TerraBlender (e.g. Biomes O' Plenty) were ignored ([WorldWeaver#25](https://github.com/quiqueck/WorldWeaver/issues/25))
- Several WorldWeaver tags had no translation, so Fabric reported untranslated item tags ([WorldWeaver#28](https://github.com/quiqueck/WorldWeaver/issues/28))
- The welcome screen reappeared on every start when it was closed with Escape instead of Proceed ([WorldWeaver#31](https://github.com/quiqueck/WorldWeaver/issues/31))
- Servers crashed with "Tags not bound" when another mod registered a flammable block tag before WorldWeaver blocks ([WorldWeaver#37](https://github.com/quiqueck/WorldWeaver/issues/37))
- Building from a fresh clone failed without a maven publishing token ([WorldWeaver#16](https://github.com/quiqueck/WorldWeaver/issues/16))
- WorldWeaver was not marked as a library in Mod Menu ([WorldWeaver#23](https://github.com/quiqueck/WorldWeaver/issues/23))
- Tools from an EquipmentSet rendered flat instead of handheld
- Biome modifications can insert features before existing ones
#### Validation
- ✅ Dedicated server (Minecraft 26.3) started (WorldWeaver 26.301.1, BCLib 26.301.1, BetterNether 26.301.1, BetterEnd 26.301.1, wunderreich 26.301.1)
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.3-26.3.0.0.13.jar, Terralith_26.3_v2.6.5+26.3.jar, GlitchCore-fabric-26.3-26.3.0.0.3.jar, TerraBlender-fabric-26.3-26.3.0.0.9.jar, lithostitched-2.0.5-fabric-26.3.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.3-26.3.0.0.13.jar, Terralith_26.3_v2.6.5+26.3.jar, GlitchCore-fabric-26.3-26.3.0.0.3.jar, TerraBlender-fabric-26.3-26.3.0.0.9.jar, lithostitched-2.0.5-fabric-26.3.jar, tested: gametest+worldgen)
- wover-test-api: StructureTemplateAudit checks a mod's shipped structure templates
- StructureNBT.readTemplate and getTemplate: the single structure template loader
#### Changes
- WorldWeaver logs only at info level by default
- Deprecated ClientBlockTraits.MODEL, attach a BlockModelBinding (ModelKey + client factory) instead
- Deprecated the ClientBlockTraits render aliases, use BlockRenderTraits and ItemRenderTraits
#### Fixes
- Vanilla Nether biomes almost never generated next to biomes of other mods (e.g. Biomes O' Plenty)
- Food built with RecipeBuilder.cookableFood could not be cooked in a furnace
- The world preset info registry was not loaded when TerraBlender was installed, so new worlds stored the wrong overworld preset
- End structure pieces (BetterEnd villages) decided whether they are buried by reading blocks two chunks away, which logged unsafe terrain reads and could cut pieces off
- The fabric tool tags (axes, hoes, pickaxes, shears, shovels, swords, spears) had no translation
- The warning for level-type=minecraft:normal claimed modded Nether/End biomes would not generate; they do, only the WorldWeaver biome layout is missing ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Turkish system locale broke loading of BetterNether/BetterEnd worldgen data (BetterNether[WorldWeaver#285](https://github.com/quiqueck/WorldWeaver/issues/285))
- BiomeBuilder colors no longer use the client-only ColorHelper, which crashed a dedicated server
- StructureNBT did not upgrade outdated structure templates with the DataFixer
- Spears exposed a tool rule without a tag key, crashing mods that inspect tool rules, and lost their spear attack speed ([BetterEnd#601](https://github.com/quiqueck/BetterEnd/issues/601))
- Worlds affected by the bed-foot home POI bug kept the stale entries, so villagers stayed stuck ([BCLib#231](https://github.com/quiqueck/BCLib/issues/231))
- Biomes with genChance 0 crashed the biome source instead of being disabled ([BCLib#216](https://github.com/quiqueck/BCLib/issues/216))
- Tool sets were missing the tags vanilla lists its tools in by item (#minecraft:cluster_max_harvestables, #c:tools/mining_tool, #c:tools/melee_weapon) ([BetterNether#197](https://github.com/quiqueck/BetterNether/issues/197))
- Bookshelves didn't count as #minecraft:enchantment_power_provider, and the magic-source check ignored #enchantment_power_transmitter ([BetterNether#216](https://github.com/quiqueck/BetterNether/issues/216))
- Silk-touch loot tables with several drop pools dropped the block once per pool ([BetterNether#226](https://github.com/quiqueck/BetterNether/issues/226))
- Game crashed on startup with an ExceptionInInitializerError when installed alongside Nyf's Quivers ([WorldWeaver#19](https://github.com/quiqueck/WorldWeaver/issues/19))
- Dedicated servers silently created a vanilla Nether and End when server.properties set level-type=minecraft:normal; they now warn and explain how to pick the BetterX preset ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Surface rules that other mods add to the End through TerraBlender (e.g. Biomes O' Plenty) were ignored ([WorldWeaver#25](https://github.com/quiqueck/WorldWeaver/issues/25))
- Several WorldWeaver tags had no translation, so Fabric reported untranslated item tags ([WorldWeaver#28](https://github.com/quiqueck/WorldWeaver/issues/28))
- The welcome screen reappeared on every start when it was closed with Escape instead of Proceed ([WorldWeaver#31](https://github.com/quiqueck/WorldWeaver/issues/31))
- Servers crashed with "Tags not bound" when another mod registered a flammable block tag before WorldWeaver blocks ([WorldWeaver#37](https://github.com/quiqueck/WorldWeaver/issues/37))
- Structures placed oxidized copper, amethyst and netherite debug blocks ([BetterNether#316](https://github.com/quiqueck/BetterNether/issues/316), [BetterNether#231](https://github.com/quiqueck/BetterNether/issues/231))
- Building from a fresh clone failed without a maven publishing token ([WorldWeaver#16](https://github.com/quiqueck/WorldWeaver/issues/16))
- WorldWeaver was not marked as a library in Mod Menu ([WorldWeaver#23](https://github.com/quiqueck/WorldWeaver/issues/23))
#### Validation
- ✅ Dedicated server (Minecraft 26.2) started (WorldWeaver 26.201.3, BCLib 26.201.3, BetterNether 26.201.3, BetterEnd 26.201.3, wunderreich 26.201.1)
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.28.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.8.0-fabric-26.2.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.28.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.8.0-fabric-26.2.jar, tested: gametest+worldgen)
- wover-test-api: StructureTemplateAudit checks a mod's shipped structure templates
- StructureNBT.readTemplate and getTemplate: the single structure template loader
#### Changes
- WorldWeaver logs only at info level by default
- Deprecated ClientBlockTraits.MODEL, attach a BlockModelBinding (ModelKey + client factory) instead
- Deprecated the ClientBlockTraits render aliases, use BlockRenderTraits and ItemRenderTraits
#### Fixes
- Vanilla Nether biomes almost never generated next to biomes of other mods (e.g. Biomes O' Plenty)
- Food built with RecipeBuilder.cookableFood could not be cooked in a furnace
- The world preset info registry was not loaded when TerraBlender was installed, so new worlds stored the wrong overworld preset
- End structure pieces (BetterEnd villages) decided whether they are buried by reading blocks two chunks away, which logged unsafe terrain reads and could cut pieces off
- The fabric tool tags (axes, hoes, pickaxes, shears, shovels, swords, spears) had no translation
- The warning for level-type=minecraft:normal claimed modded Nether/End biomes would not generate; they do, only the WorldWeaver biome layout is missing ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Turkish system locale broke loading of BetterNether/BetterEnd worldgen data (BetterNether[WorldWeaver#285](https://github.com/quiqueck/WorldWeaver/issues/285))
- BiomeBuilder colors no longer use the client-only ColorHelper, which crashed a dedicated server
- StructureNBT did not upgrade outdated structure templates with the DataFixer
- Spears exposed a tool rule without a tag key, crashing mods that inspect tool rules, and lost their spear attack speed ([BetterEnd#601](https://github.com/quiqueck/BetterEnd/issues/601))
- Tool sets were missing the tags vanilla lists its tools in by item (#minecraft:cluster_max_harvestables, #c:tools/mining_tool, #c:tools/melee_weapon) ([BetterNether#197](https://github.com/quiqueck/BetterNether/issues/197))
- Bookshelves didn't count as #minecraft:enchantment_power_provider, and the magic-source check ignored #enchantment_power_transmitter ([BetterNether#216](https://github.com/quiqueck/BetterNether/issues/216))
- Silk-touch loot tables with several drop pools dropped the block once per pool ([BetterNether#226](https://github.com/quiqueck/BetterNether/issues/226))
- Worlds affected by the bed-foot home POI bug kept the stale entries, so villagers stayed stuck ([BCLib#231](https://github.com/quiqueck/BCLib/issues/231))
- Biomes with genChance 0 crashed the biome source instead of being disabled ([BCLib#216](https://github.com/quiqueck/BCLib/issues/216))
- Game crashed on startup with an ExceptionInInitializerError when installed alongside Nyf's Quivers ([WorldWeaver#19](https://github.com/quiqueck/WorldWeaver/issues/19))
- Dedicated servers silently created a vanilla Nether and End when server.properties set level-type=minecraft:normal; they now warn and explain how to pick the BetterX preset ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Surface rules that other mods add to the End through TerraBlender (e.g. Biomes O' Plenty) were ignored ([WorldWeaver#25](https://github.com/quiqueck/WorldWeaver/issues/25))
- Several WorldWeaver tags had no translation, so Fabric reported untranslated item tags ([WorldWeaver#28](https://github.com/quiqueck/WorldWeaver/issues/28))
- The welcome screen reappeared on every start when it was closed with Escape instead of Proceed ([WorldWeaver#31](https://github.com/quiqueck/WorldWeaver/issues/31))
- Servers crashed with "Tags not bound" when another mod registered a flammable block tag before WorldWeaver blocks ([WorldWeaver#37](https://github.com/quiqueck/WorldWeaver/issues/37))
- Building from a fresh clone failed without a maven publishing token ([WorldWeaver#16](https://github.com/quiqueck/WorldWeaver/issues/16))
- WorldWeaver was not marked as a library in Mod Menu ([WorldWeaver#23](https://github.com/quiqueck/WorldWeaver/issues/23))
- Structures placed oxidized copper, amethyst and netherite debug blocks ([BetterNether#316](https://github.com/quiqueck/BetterNether/issues/316), [BetterNether#231](https://github.com/quiqueck/BetterNether/issues/231))
#### Validation
- ✅ Dedicated server (Minecraft 26.1.2) started (WorldWeaver 26.101.3, BCLib 26.101.3, BetterNether 26.101.3, BetterEnd 26.101.3, wunderreich 26.101.2)
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.1.2-26.1.2.0.22.jar, Terralith_26.1_v2.6.2_Fabric.jar, GlitchCore-fabric-26.1.2-26.1.2.0.2.jar, TerraBlender-fabric-26.1.2-26.1.2.0.3.jar, lithostitched-1.8.0-fabric-26.1.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.1.2-26.1.2.0.22.jar, Terralith_26.1_v2.6.2_Fabric.jar, GlitchCore-fabric-26.1.2-26.1.2.0.2.jar, TerraBlender-fabric-26.1.2-26.1.2.0.3.jar, lithostitched-1.8.0-fabric-26.1.jar, tested: gametest+worldgen)
- wover-test-api: StructureTemplateAudit checks a mod's shipped structure templates
- StructureNBT.readTemplate and getTemplate: the single structure template loader
#### Changes
- WorldWeaver logs only at info level by default
- Deprecated ClientBlockTraits.MODEL, attach a BlockModelBinding (ModelKey + client factory) instead
- Deprecated the ClientBlockTraits render aliases, use BlockRenderTraits and ItemRenderTraits
- Composting rates snap to a fixed set of tiers
#### Fixes
- Vanilla Nether biomes almost never generated next to biomes of other mods (e.g. Biomes O' Plenty)
- Food built with RecipeBuilder.cookableFood could not be cooked in a furnace
- The world preset info registry was not loaded when TerraBlender was installed, so new worlds stored the wrong overworld preset
- End structure pieces (BetterEnd villages) decided whether they are buried by reading blocks two chunks away, which logged unsafe terrain reads and could cut pieces off
- The fabric tool tags (axes, hoes, pickaxes, shears, shovels, swords) had no translation
- The warning for level-type=minecraft:normal claimed modded Nether/End biomes would not generate; they do, only the WorldWeaver biome layout is missing ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Turkish system locale broke loading of BetterNether/BetterEnd worldgen data (BetterNether[WorldWeaver#285](https://github.com/quiqueck/WorldWeaver/issues/285))
- BiomeBuilder colors no longer use the client-only ColorHelper, which crashed a dedicated server
- StructureNBT did not upgrade outdated structure templates with the DataFixer
- Tool sets were missing the tags vanilla lists its tools in by item (#minecraft:cluster_max_harvestables, #c:tools/mining_tool, #c:tools/melee_weapon) ([BetterNether#197](https://github.com/quiqueck/BetterNether/issues/197))
- Bookshelves didn't count as #minecraft:enchantment_power_provider, and the magic-source check ignored #enchantment_power_transmitter ([BetterNether#216](https://github.com/quiqueck/BetterNether/issues/216))
- Silk-touch loot tables with several drop pools dropped the block once per pool ([BetterNether#226](https://github.com/quiqueck/BetterNether/issues/226))
- Worlds affected by the bed-foot home POI bug kept the stale entries, so villagers stayed stuck ([BCLib#231](https://github.com/quiqueck/BCLib/issues/231))
- Biomes with genChance 0 crashed the biome source instead of being disabled ([BCLib#216](https://github.com/quiqueck/BCLib/issues/216))
- The wover:vegetation/plant tag failed to load when no mod added blocks to wover:vegetation/vine ([WorldWeaver#27](https://github.com/quiqueck/WorldWeaver/issues/27))
- Game crashed on startup with an ExceptionInInitializerError when installed alongside Nyf's Quivers ([WorldWeaver#19](https://github.com/quiqueck/WorldWeaver/issues/19))
- Dedicated servers silently created a vanilla Nether and End when server.properties set level-type=minecraft:normal; they now warn and explain how to pick the BetterX preset ([WorldWeaver#29](https://github.com/quiqueck/WorldWeaver/issues/29))
- Surface rules that other mods add to the End through TerraBlender (e.g. Biomes O' Plenty) were ignored ([WorldWeaver#25](https://github.com/quiqueck/WorldWeaver/issues/25))
- Several WorldWeaver tags had no translation, so Fabric reported untranslated item tags ([WorldWeaver#28](https://github.com/quiqueck/WorldWeaver/issues/28))
- The welcome screen reappeared on every start when it was closed with Escape instead of Proceed ([WorldWeaver#31](https://github.com/quiqueck/WorldWeaver/issues/31))
- Servers crashed with "Tags not bound" when another mod registered a flammable block tag before WorldWeaver blocks ([WorldWeaver#37](https://github.com/quiqueck/WorldWeaver/issues/37))
- Building from a fresh clone failed without a maven publishing token ([WorldWeaver#16](https://github.com/quiqueck/WorldWeaver/issues/16))
- WorldWeaver was not marked as a library in Mod Menu ([WorldWeaver#23](https://github.com/quiqueck/WorldWeaver/issues/23))
- Structures placed oxidized copper, amethyst and netherite debug blocks ([BetterNether#316](https://github.com/quiqueck/BetterNether/issues/316), [BetterNether#231](https://github.com/quiqueck/BetterNether/issues/231))
- Tools from an EquipmentSet rendered flat instead of handheld
- Biome modifications can insert features before existing ones
#### Validation
- ✅ Dedicated server (Minecraft 1.21.8) started (WorldWeaver 21.800.2, BCLib 21.800.2, BetterNether 21.800.2, BetterEnd 21.800.2, wunderreich 21.800.2)
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-1.21.8-21.8.0.18.jar, Terralith_1.21.x_v2.5.13.jar, GlitchCore-fabric-1.21.8-21.8.0.0.jar, TerraBlender-fabric-1.21.8-6.0.0.3.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-1.21.8-21.8.0.18.jar, Terralith_1.21.x_v2.5.13.jar, GlitchCore-fabric-1.21.8-21.8.0.0.jar, TerraBlender-fabric-1.21.8-6.0.0.3.jar, tested: gametest+worldgen)
- Composting rates snap to a fixed set of tiers
#### Fixes
- Tools from an EquipmentSet rendered flat instead of handheld
- Biome modifications can insert features before existing ones
#### Validation
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.1.2-26.1.2.0.22.jar, Terralith_26.1_v2.6.2_Fabric.jar, GlitchCore-fabric-26.1.2-26.1.2.0.2.jar, TerraBlender-fabric-26.1.2-26.1.2.0.3.jar, lithostitched-1.7.13-fabric-26.1.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.1.2-26.1.2.0.22.jar, Terralith_26.1_v2.6.2_Fabric.jar, GlitchCore-fabric-26.1.2-26.1.2.0.2.jar, TerraBlender-fabric-26.1.2-26.1.2.0.3.jar, lithostitched-1.7.13-fabric-26.1.jar, tested: gametest+worldgen)
- Composting rates snap to a fixed set of tiers
- Biome modifications can insert features before existing ones
#### Fixes
- Tools from an EquipmentSet rendered flat instead of handheld ([BetterNether#310](https://github.com/quiqueck/BetterNether/issues/310))
#### Validation
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.27.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.7.13-fabric-26.2.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.27.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.7.13-fabric-26.2.jar, tested: gametest+worldgen)
- Block tint binding, replacing per-mod colour providers
- Add wover-test-api and the cross-mod compat-test framework
- Add ToolSlot.SPEAR_SLOT for vanilla's new spear items
- Chiseled bookshelves for wooden block sets
- Shelves for wooden block sets
- Add SyncedRecipes for reading custom recipe types on the client
- Enforce a real client/common source split
- Sulfur cube archetype trait
- Add coal-tier fuel presets
#### Changes
- Item-/BlockModelBindings are only created on a client Datagen run
- Honour level-type on servers, and order biome_data before the Nether preset
- Filter block_properties by namespace
- Drop the root project's "Data Generation" run
- CommonItemTags.SHEARS is the Fabric convention tag, not a second one
- Sculk-like blocks are no longer nether terrain
- Give biome music vanilla's timings instead of a continuous soundtrack
- Count sculk-like blocks as nether terrain
#### Fixes
- FoodItemDefinition.food() overload was clobbered by beforeBuild()
- Biome modifications evaluated in_dimension predicates before third-party biomes were merged in
- Dedicated servers ignored an explicitly chosen level-type
- Runtime biome_tags modifications were invisible to Holder.is(tag)
- EquipmentSet's generic tool item used the tier gate tag as its mining tag
- Only claim the head half of a bed as a villager's home POI
- Migrate legacy generator IDs when importing Worlds Together settings
- Update built-in smithing template slot icons to current sprite paths
- Remove the per-process noise cache retired by the NoiseFilter fix
- NoiseFilter reads its noise from the world, not from a static cache
- Generate correct sign models
- Shears did not work on any leaves, because c:tools/shears was empty
- Leaves sapling drop chance was read as a 1-in-N denominator
- Hammers and shears were not enchantable outside of creative mode
- Biome modifications evaluated in_dimension predicates before third-party biomes were merged in
#### Validation
- ✅ wover-biome-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.26.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.7.13-fabric-26.2.jar, tested: gametest)
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.26.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.7.13-fabric-26.2.jar, tested: gametest+worldgen)
- Chiseled bookshelves for wooden block sets
- Add SyncedRecipes for reading custom recipe types on the client
- Added a FuelBlockTrait and hook default ticks into the WoodenBlockSet
- Add wover-loot-api for appending to existing loot tables
- Block tint binding, replacing per-mod colour providers
- Port wover-test-api and the cross-mod compat-test framework to 1.21.6
#### Changes
- Item-/BlockModelBindings are only created on a client Datagen run
- Generate json-formated block summary files
- Honour level-type on dedicated servers
#### Fixes
- FoodItemDefinition.beforeBuild() silently overwrote food properties set via food(FoodProperties)
- Biome modifications evaluated in_dimension predicates before third-party biomes were merged in
- Dedicated servers ignored an explicitly chosen level-type
- Runtime biome_tags modifications were invisible to Holder.is(tag)
- EquipmentSet's generic tool item used the tier gate tag as its mining tag
- Load our registries before minecraft:nether's parameter list is baked
- Only claim the head half of a bed as a villager's home POI
- Block tint binding, replacing per-mod colour providers
- Port testing-parity boot-checks for surface, generator and biome APIs
- Add wover-test-api and the cross-mod compat-test framework
- Add ToolSlot.SPEAR_SLOT for vanilla's new spear items
#### Changes
- Item-/BlockModelBindings are only created on a client Datagen run
#### Fixes
- FoodItemDefinition: stop beforeBuild() from silently overwriting a directly-set FoodProperties
- Biome modifications evaluated in_dimension predicates before third-party biomes were merged in
- Dedicated servers ignored an explicitly chosen level-type
- Runtime biome_tags modifications were invisible to Holder.is(tag)
- EquipmentSet's generic tool item used the tier gate tag as its mining tag
- Cross-mod validation: does wover:betterx survive other mods present
- Item tint trait for blocks colorized by a block tint
- Add ToolSlot.SPEAR_SLOT for vanilla's new spear items
- Chiseled bookshelves for wooden block sets
- Shelves for wooden block sets
- Add SyncedRecipes for reading custom recipe types on the client
- Enforce a real client/common source split
#### Changes
- Item-/BlockModelBindings are only created on a client Datagen run
- Honour level-type on servers, and order biome_data before the Nether preset
- Filter block_properties by namespace
#### Fixes
- Update AddonSurfaceRuleProvider off renamed dyed-block constants
- Dedicated servers ignored an explicitly chosen level-type
- Runtime biome_tags modifications were invisible to Holder.is(tag)
- EquipmentSet's generic tool item used the tier gate tag as its mining tag
- FoodItemDefinition: stop beforeBuild() from silently overwriting a directly-set FoodProperties
- Only claim the head half of a bed as a villager's home POI
- Migrate legacy generator IDs when importing Worlds Together settings
- Surface testmod did not compile
- Remove the per-process noise cache retired by the NoiseFilter fix
- NoiseFilter reads its noise from the world, not from a static cache
#### Validation
- ✅ wover-generator-api / BiomesOPlenty + Terralith (BiomesOPlenty-fabric-26.2-26.2.0.0.26.jar, Terralith_26.2_v2.6.4.jar, GlitchCore-fabric-26.2-26.2.0.0.0.jar, TerraBlender-fabric-26.2-26.2.0.0.2.jar, lithostitched-1.7.13-fabric-26.2.jar, tested: gametest+worldgen)
- Chiseled bookshelves for wooden block sets
- Shelves for wooden block sets
- Add SyncedRecipes for reading custom recipe types on the client
- Enforce a real client/common source split
- Add coal-tier fuel presets
#### Changes
- Honour level-type on servers, and order biome_data before the Nether preset
- Filter block_properties by namespace
- CommonItemTags.SHEARS is the Fabric convention tag, not a second one
#### Fixes
- Only claim the head half of a bed as a villager's home POI
- Migrate legacy generator IDs when importing Worlds Together settings
- Remove the per-process noise cache retired by the NoiseFilter fix
- NoiseFilter reads its noise from the world, not from a static cache
- Enforce a real client/common source split
#### Fixes
- Migrate legacy generator IDs when importing Worlds Together settings
- Remove the per-process noise cache retired by the NoiseFilter fix
- NoiseFilter reads its noise from the world, not from a static cache
- Sulfur cube archetype trait
- Add coal-tier fuel presets
#### Changes
- Drop the root project's "Data Generation" run
- CommonItemTags.SHEARS is the Fabric convention tag, not a second one
- Sculk-like blocks are no longer nether terrain
- Give biome music vanilla's timings instead of a continuous soundtrack
- Count sculk-like blocks as nether terrain
#### Fixes
- Generate real sign models
- Shears did not work on any leaves, because c:tools/shears was empty
- Leaves sapling drop chance was read as a 1-in-N denominator
- Hammers and shears were not enchantable outside of creative mode
- Sulfur cube archetype trait
- Add coal-tier fuel presets
#### Changes
- Drop the root project's second copy of the generated data
- CommonItemTags.SHEARS is the Fabric convention tag, not a second one
- Sculk-like blocks are no longer nether terrain
- Give biome music vanilla's timings instead of a continuous soundtrack
- Count sculk-like blocks as nether terrain
#### Fixes
- Generate real sign models
- Shears did not work on any leaves, because c:tools/shears was empty
- Leaves sapling drop chance was read as a 1-in-N denominator
- Hammers and shears were not enchantable outside of creative mode
- Creative tabs follow registration order instead of key hash
- Give biome music vanilla's timings instead of a continuous soundtrack
- Count sculk-like blocks as nether terrain
#### Fixes
- Shears did not work on any leaves, because c:tools/shears was empty
- Leaves sapling drop chance was read as a 1-in-N denominator
- Hammers and shears were not enchantable outside of creative mode
- Creative tabs follow registration order instead of key hash
- Leaves sapling drop chance was read as a 1-in-N denominator
- Shears did not work on any leaves, because c:tools/shears was empty
- Hammers and shears were not enchantable outside of creative mode
- Creative tabs follow registration order instead of key hash
- Creative tabs follow registration order instead of key hash
- End cave-biome band sat too low and switched biomes too often
- Build for 26.2
- Let a feature fit its geometry to the write zone
- Define loot additions in datapacks, not only in Java
#### Fixes
- SurfaceRulesContextAccessor still read biome as a Supplier
- End cave-biome band sat too low and switched biomes too often
- Nether surface materials were drawn from a running random
- ModelProviderMixin is client-only, so declare it in the client array
- Pottable traits keep the latest registration, not the first
- solid_in_dir searched backwards out of its chunk
- The same seed did not reproduce the same world
- Keep the biome bootstrap context alive across the tag phase so /reload works
- Let a feature fit its geometry to the write zone
- Define loot additions in datapacks, not only in Java
#### Fixes
- End cave-biome band sat too low and switched biomes too often
- Nether surface materials were drawn from a running random
- ModelProviderMixin is client-only, so declare it in the client array
- Pottable traits keep the latest registration, not the first
- solid_in_dir searched backwards out of its chunk
- The same seed did not reproduce the same world
- Keep the biome bootstrap context alive across the tag phase so /reload works
- Let a feature fit its geometry to the write zone
#### Fixes
- End cave-biome band sat too low and switched biomes too often
- ModelProviderMixin is client-only, so declare it in the client array
- Pottable traits keep the latest registration, not the first
- solid_in_dir searched backwards out of its chunk
- Surface-condition noise contexts were cached in a plain HashMap
- Nether surface materials were drawn from a running random
- The same seed did not reproduce the same world
- Keep the biome bootstrap context alive across the tag phase so /reload works
- Build for 26.3 snapshot 6
- Let a feature fit its geometry to the write zone
- Let datagen emit nested loot-table references by id
- Define loot additions in datapacks, not only in Java
- Extend wover-loot-api with pool-conditioning and cross-table references
- Add wover-loot-api for appending to existing loot tables
- Added a
FuelBlockTraitand hook default ticks into theWoodenBlockSet. - Bars Block Traits and Set-Slots
- Chain Block Traits and Set-Slots
#### Changes
- Match vanilla 26.3 for signs in blocks_motion_no_leaves
- Record wover-loot in the module upgrade order
- Generate json-formated block summary files
- Drop the root's duplicated generated data
- Remove the dead DataFixerUpper schema mixins
- Rename WoverConfiguredFeatureProvider -> WoverFeatureContentProvider
#### Fixes
- Nether surface materials were drawn from a running random
- Four audited block properties always reported false
- The same seed did not reproduce the same world
- Keep the biome bootstrap context alive across the tag phase so /reload works
- solid_in_dir searched backwards out of its chunk
- Nether forest vegetation was placed where it cannot survive
- Modded blocks stopped blocking motion and suffocating
- Registration audit crashed on unbound item components
- Update ItemInputMixin for the 3-arg ItemStack constructor
- Composters use vanilla texture above level 0
- All Woods were nether woods
- Flat-level presets take their layers bottom-first, and stop duplicating
- ModelProviderMixin is client-only, so declare it in the client array
- Pottable traits keep the latest registration, not the first
- Runtime-injected recipes now get their unlock advancement
- Added a
FuelBlockTraitand hook default ticks into theWoodenBlockSet.
#### Changes
- Remove the dead DataFixerUpper schema mixins
- Generate json-formated block summary files
#### Fixes
- Update built-in smithing template slot icons to current sprite paths
- Update ItemInputMixin for the 3-arg ItemStack constructor
- Remove the dead DataFixerUpper schema mixins
#### Fixes
- Update built-in smithing template slot icons to current sprite paths
- Bars Block Traits and Set-Slots
- Chain Block Traits and Set-Slots
#### Fixes
- All Woods were nether woods
- Composters use vanilla texture above level 0
- Wrong layer order in Flat World presets
- Runtime recipes get unlock advancements; new worlds keep their preset
- Bars Block Traits and Set-Slots
- Chain Block Traits and Set-Slots
#### Fixes
- All Woods were nether woods
- Composters use vanilla texture above level 0
- Wrong layer order in Flat World presets
- Runtime recipes get unlock advancements; new worlds keep their preset
- Add datagen support for equipment assets
- Build for 26.1
- Datagen support for equipment assets
#### Changes
- Vanilla end_barrens is always a barrens-ring member
- Move org.betterx.wover to de.ambertation.wover
- Relocate client-typed datagen classes into src/client
- Report trait-based compostability in block_registrations oracle
- Consolidate WoodMaterialBuilder.withFireResistance into netherWood (cleanup)
#### Fixes
- wover-generator accesswidener: remove noNewCaves/slideNetherLike
- StructureNBT: make structure/reader caches thread-safe
- Root-level generated tags missing the wover:surfaces/soil tag
- Root-level generated tags still referenced old wover:vegetation/vine
- generate block testmod loot tables (were orphaned goldens)
- wover-core-api CustomBootstrapContext thread-safety for 26.1 parallel registry loading
- wover-event-api client mixins for 26.1 world-creation flow
- wover-tag-api datagen for 26.1 (forceAddTag validation + vine->vines tag)
- wover-core-api registry mixin for 26.1 async registry loading
- Empty barrens picker no longer wipes a healthy void picker
- Misleading log message when registering end-land biomes as midlands
- Empty barrens picker falls back to vanilla end_barrens
- End world-setup UI: cave-biome band sliders
- Per-world cave-biome band config + decider picker wiring
- BlockTraits.PLANT_LIGHT_BLOCK: shroomlight-archetype material bundle
- Common render/chest/boat trait bindings + client appliers
- Common client/server model-trait seam (ModelKey + client registry)
- item compostable oracle
- Overridable per-slot fuel-trait hook in WoodenBlockSet
- Overridable per-slot/set-type sound hook in WoodenBlockSet
- Overridable per-slot flammable trait hook in WoodenBlockSet
- client seperatable wover material-builder variants
#### Changes
- Vanilla end_barrens is always a barrens-ring member
- Relocate client-typed datagen classes into src/client
- Report trait-based compostability in block_registrations oracle
- Move org.betterx.wover to de.ambertation.wover
- Consolidate WoodMaterialBuilder.withFireResistance into netherWood (cleanup)
#### Fixes
- Empty barrens picker no longer wipes a healthy void picker
- Misleading log message when registering end-land biomes as midlands
- Pin Gradle daemon JVM to 21: test task creation crashed on JDK 25 daemons
- exclude wunderlib from shared allprojects Loom conventions
- Build for 1.21.6-1.21.8
- Add dropDoublePlant() loot helper (drops a double plant with any tool)
- Datagen Provider to serialize block classes, properties and render-layers
- Add raft support to the Boat slot
- Full Documentation
- Added API for potted plants
- New API to define and register Blocks
- New API to define and register Items
#### Changes
- Removed legacy BCLib conversions
- Removed Legacy classes and API
- Added SOIL Tag
- Improved Block Trait handling
- silk-touch or nothing loot table
- cube model has no additional material
- editing Properties directly on Item-/BlockDefinition will get queued onto a list and applied in order with added
- Equipment Set property handling
#### Fixes
- Make WoverBiomeSource lazy init and SquareBiomeMap thread-safe
- Let a small-island End biome also tagged barrens populate both pickers
- JavaDoc for surface rule priority sorting was wrong/unclear
- Return actual genChance for wover biomes (by lulle2007200 )