Description
Gallery
Changelog
Versions
Structure Pool API
Can be used to inject structures into structure pools. Popular example:
- Adding custom village structures to villages
Additional features:
- Maximize spawn count of the injected structure (e.g. 2 per village)
Read all technical details in the GitHub readme.
All Versions
+ Add Version
[1.3.0+26.3-fabric] 1.3.0+26.3
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Minecraft 26.3 support
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged - Spawn limits are now enforced for elements reached through a pool's fallback pool.** They were silently uncapped before. **This is seed-visible**: filtering an element out of a candidate list changes what
Util.shufflereturns, so an affected structure generates differently for the same seed. Only structures whose placement reaches an injected element via a fallback pool are affected. - No longer ships an access widener (Fabric) / access transformer (NeoForge) — one fewer thing to conflict with.
- One fewer mixin:
StructureTemplatePoolis no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are@Unique. injectIntoStructurePoolis idempotent per pool instance: injecting the same structure into the same pool twice no longer doubles its weight, and warns instead.- Injecting now invalidates the pool's memoised
maxSize. - The "structure pool not found" message goes to the mod logger instead of
System.err, so a mistyped pool id in a config is visible in a filtered log.
[1.3.0+26.3-neoforge] 1.3.0+26.3
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Minecraft 26.3 support
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged - Spawn limits are now enforced for elements reached through a pool's fallback pool.** They were silently uncapped before. **This is seed-visible**: filtering an element out of a candidate list changes what
Util.shufflereturns, so an affected structure generates differently for the same seed. Only structures whose placement reaches an injected element via a fallback pool are affected. - No longer ships an access widener (Fabric) / access transformer (NeoForge) — one fewer thing to conflict with.
- One fewer mixin:
StructureTemplatePoolis no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are@Unique. injectIntoStructurePoolis idempotent per pool instance: injecting the same structure into the same pool twice no longer doubles its weight, and warns instead.- Injecting now invalidates the pool's memoised
maxSize. - The "structure pool not found" message goes to the mod logger instead of
System.err, so a mistyped pool id in a config is visible in a filtered log.
[1.2.1+1.20.1-forge] 1.2.1+1.20.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.2.1+1.20.1
- Backport to Minecraft 1.20.1 (Fabric + Forge 47)
[1.2.1+1.20.1-fabric] 1.2.1+1.20.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.2.1+1.20.1
- Backport to Minecraft 1.20.1 (Fabric + Forge 47)
[1.3.0+26.2-neoforge] 1.3.0+26.2
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged - Spawn limits are now enforced for elements reached through a pool's fallback pool.** They were silently uncapped before. **This is seed-visible**: filtering an element out of a candidate list changes what
Util.shufflereturns, so an affected structure generates differently for the same seed. Only structures whose placement reaches an injected element via a fallback pool are affected. - No longer ships an access widener (Fabric) / access transformer (NeoForge) — one fewer thing to conflict with.
- One fewer mixin:
StructureTemplatePoolis no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are@Unique. injectIntoStructurePoolis idempotent per pool instance: injecting the same structure into the same pool twice no longer doubles its weight, and warns instead.- Injecting now invalidates the pool's memoised
maxSize. - The "structure pool not found" message goes to the mod logger instead of
System.err, so a mistyped pool id in a config is visible in a filtered log.
[1.3.0+26.2-fabric] 1.3.0+26.2
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Minecraft 26.2 support
- Minecraft 26.1.2 support (Java 25).
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged - Spawn limits are now enforced for elements reached through a pool's fallback pool.** They were silently uncapped before. **This is seed-visible**: filtering an element out of a candidate list changes what
Util.shufflereturns, so an affected structure generates differently for the same seed. Only structures whose placement reaches an injected element via a fallback pool are affected. - No longer ships an access widener (Fabric) / access transformer (NeoForge) — one fewer thing to conflict with.
- One fewer mixin:
StructureTemplatePoolis no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are@Unique. injectIntoStructurePoolis idempotent per pool instance: injecting the same structure into the same pool twice no longer doubles its weight, and warns instead.- Injecting now invalidates the pool's memoised
maxSize. - The "structure pool not found" message goes to the mod logger instead of
System.err, so a mistyped pool id in a config is visible in a filtered log.
[1.3.0+26.1.2-fabric] 1.3.0+26.1.2
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Minecraft 26.1.2 support (Java 25).
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged - Spawn limits are now enforced for elements reached through a pool's fallback pool.** They were silently uncapped before. **This is seed-visible**: filtering an element out of a candidate list changes what
Util.shufflereturns, so an affected structure generates differently for the same seed. Only structures whose placement reaches an injected element via a fallback pool are affected. - No longer ships an access widener (Fabric) / access transformer (NeoForge) — one fewer thing to conflict with.
- One fewer mixin:
StructureTemplatePoolis no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are@Unique. injectIntoStructurePoolis idempotent per pool instance: injecting the same structure into the same pool twice no longer doubles its weight, and warns instead.- Injecting now invalidates the pool's memoised
maxSize. - The "structure pool not found" message goes to the mod logger instead of
System.err, so a mistyped pool id in a config is visible in a filtered log.
[1.3.0+26.1.2-neoforge] 1.3.0+26.1.2
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Minecraft 26.1.2 support (Java 25).
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged - Spawn limits are now enforced for elements reached through a pool's fallback pool.** They were silently uncapped before. **This is seed-visible**: filtering an element out of a candidate list changes what
Util.shufflereturns, so an affected structure generates differently for the same seed. Only structures whose placement reaches an injected element via a fallback pool are affected. - No longer ships an access widener (Fabric) / access transformer (NeoForge) — one fewer thing to conflict with.
- One fewer mixin:
StructureTemplatePoolis no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are@Unique. injectIntoStructurePoolis idempotent per pool instance: injecting the same structure into the same pool twice no longer doubles its weight, and warns instead.- Injecting now invalidates the pool's memoised
maxSize. - The "structure pool not found" message goes to the mod logger instead of
System.err, so a mistyped pool id in a config is visible in a filtered log.
[1.3.0+1.21.11-fabric] 1.3.0+1.21.11
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged
[1.3.0+1.21.11-neoforge] 1.3.0+1.21.11
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.3.0
- Modernize package and maven group: Java package
net.rpg_foundation.structure_pool(wasnet.fabric_extras.structure_pool), maven groupnet.rpg_foundation(wasnet.foundation); mod id and data unchanged
[1.2.1+1.21.1-fabric] 1.2.1+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.2.1
- Fix structures not generating second first world load
[1.2.1+1.21.1-neoforge] 1.2.1+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.2.1
- Fix structures not generating second first world load
[1.2.0+1.21.1-fabric] 1.2.0+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.2.0
- Migrate to Architectury
[1.2.0+1.21.1-neoforge] 1.2.0+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.2.0
- Migrate to Architectury
[1.1.3+1.21.1] 1.1.3+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.1.3
- Lower Fabric API version requirement
[1.1.2+1.21.1] 1.1.2+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.1.2
- Allow running on 1.21
[1.1.1+1.21.1] 1.1.1+1.21.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.1.1
- Update to Minecraft 1.21.1
[1.1.0+1.21] 1.1.0+1.21
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.1.0
Update to Minecraft 1.21.
Update to Minecraft 1.21.
[1.0+1.20.1] 1.0+1.20.1
by ZsoltMolnarrr on Oct 09, 2026
Download
# 1.0.0
Initial release.
#
Initial release.
#