COWMODSКаталог модов

Structure Pool API

📚 API to inject structures into structure pools.

Автор: ZsoltMolnarrr5,1 млн160обновлён 28 сент. 2026 г.
БиблиотекиГенерация мира

Описание

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.

Последние версии

Все версии →
release

1.3.0+26.3

1.3.0+26.3-fabric
28 сент. 2026 г.31,6 тыс.Minecraft: 26.3fabric
Скачать
Что нового
# 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` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.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.shuffle` returns, 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: `StructureTemplatePool` is no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are `@Unique`. - `injectIntoStructurePool` is 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.
release

1.3.0+26.3

1.3.0+26.3-neoforge
28 сент. 2026 г.3,3 тыс.Minecraft: 26.3neoforge
Скачать
Что нового
# 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` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.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.shuffle` returns, 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: `StructureTemplatePool` is no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are `@Unique`. - `injectIntoStructurePool` is 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.
release

1.2.1+1.20.1

1.2.1+1.20.1-forge
10 сент. 2026 г.22 тыс.Minecraft: 1.20.1forge, neoforge
Скачать
Что нового
# 1.2.1+1.20.1 - Backport to Minecraft 1.20.1 (Fabric + Forge 47)
release

1.2.1+1.20.1

1.2.1+1.20.1-fabric
10 сент. 2026 г.21,1 тыс.Minecraft: 1.20.1fabric
Скачать
Что нового
# 1.2.1+1.20.1 - Backport to Minecraft 1.20.1 (Fabric + Forge 47)
release

1.3.0+26.2

1.3.0+26.2-neoforge
5 сент. 2026 г.3,2 тыс.Minecraft: 26.2neoforge
Скачать
Что нового
# 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` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.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.shuffle` returns, 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: `StructureTemplatePool` is no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are `@Unique`. - `injectIntoStructurePool` is 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.
release

1.3.0+26.2

1.3.0+26.2-fabric
5 сент. 2026 г.25,8 тыс.Minecraft: 26.2fabric
Скачать
Что нового
# 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` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.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.shuffle` returns, 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: `StructureTemplatePool` is no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are `@Unique`. - `injectIntoStructurePool` is 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.
release

1.3.0+26.1.2

1.3.0+26.1.2-fabric
5 сент. 2026 г.7,5 тыс.Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
# 1.3.0 - Minecraft 26.1.2 support (Java 25). - Modernize package and maven group: Java package `net.rpg_foundation.structure_pool` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.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.shuffle` returns, 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: `StructureTemplatePool` is no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are `@Unique`. - `injectIntoStructurePool` is 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.
release

1.3.0+26.1.2

1.3.0+26.1.2-neoforge
5 сент. 2026 г.2,5 тыс.Minecraft: 26.1, 26.1.1, 26.1.2neoforge
Скачать
Что нового
# 1.3.0 - Minecraft 26.1.2 support (Java 25). - Modernize package and maven group: Java package `net.rpg_foundation.structure_pool` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.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.shuffle` returns, 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: `StructureTemplatePool` is no longer mixed into at all (injected elements are now identified by instance identity), and all mixin-owned members are `@Unique`. - `injectIntoStructurePool` is 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.
release

1.3.0+1.21.11

1.3.0+1.21.11-fabric
26 авг. 2026 г.1,1 тыс.Minecraft: 1.21.11fabric
Скачать
Что нового
# 1.3.0 - Modernize package and maven group: Java package `net.rpg_foundation.structure_pool` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.foundation`); mod id and data unchanged
release

1.3.0+1.21.11

1.3.0+1.21.11-neoforge
26 авг. 2026 г.240Minecraft: 1.21.11neoforge
Скачать
Что нового
# 1.3.0 - Modernize package and maven group: Java package `net.rpg_foundation.structure_pool` (was `net.fabric_extras.structure_pool`), maven group `net.rpg_foundation` (was `net.foundation`); mod id and data unchanged