Tags
Creators
Details
Licensed LGPL-3.0-only
Published 11 months ago
Updated 3 weeks ago
All versions
3.0.0-alpha.0
Alpha
Moog's Structure Lib 3.0.0 [FABRIC]2 months ago 15K
Compatibility
Minecraft: Java Edition
1.20–1.20.4
Platform
Fabric
Supported environments
Server-side
Singleplayer
Changes
Changelog
[3.0.0] - 2026-06-02
Major feature release: a full structure-processor and pool-element toolkit, version-aware templates, terrain adaptation, and entity (armor stand) equipping.
Added
- Version-aware pool element (
moogs_structures:versioned_single_pool_element): resolves a different structure template per Minecraft version, via alocationsmap of version ranges (e.g."1.21-1.21.4","1.21.5-26.1.2") with a fallbacklocation. - Mirroring pool element (
moogs_structures:mirroring_single_pool_element): a single pool element that can mirror its piece, with optional per-element enhanced terrain adaptation. - Structure processors:
pillar_processor- extends a pillar up or down from a trigger block until it reaches solid ground, with an optional altitude-aware block-state randomizer. Recognises legacy vanilla block ids and rewrites them to their renamed modern equivalents so older authored structures keep generating correctly.spawner_randomizing_processor- sets a mob spawner's mob from an inline weighted entity list (no external dependency). Each weighted entry may carry an optionalnbtfield so spawners can ship pre-equipped or otherwise pre-configured mobs without an extra processor.waterlogging_fix_processor- schedules a fluid tick on the structure block at placement time so waterlogged blocks remain in their waterlogged state, useful for structures generating underwater.equip_armor_stand_processor- equips armor stands from a weighted-random list of armor sets, with per-item enchantments and trims expressed in the vanilla item-component format.close_off_fluid_sources_processor,remove_floating_blocks_processor,random_replace_with_properties_processor,super_gravity_processor,flood_with_water_processor.
- Per-piece spawn counts (
data/<namespace>/msl_pieces_spawn_counts/and..._additions/): a datapack-driven cap on how many times each jigsaw piece may appear in a generated structure, so rare pieces stay rare without rebuilding the pool. The_additionsvariant lets downstream datapacks extend or override another mod's counts without forking the source file. - Entity processor framework (
StructureEntityProcessor): lets processors modify or equip entities as a structure is placed. On Fabric a mixin runs the entity processors duringStructureTemplate.placeEntities(which vanilla never invokes the entity hook for); Forge uses its native entity processing. - Enhanced terrain adaptation (beardifier): carves or buries terrain around pieces, with a configurable vertical
bandto confine carving to matching-height rows. - Basalt & delta suppression: prevents basalt columns and basalt deltas from generating within structure piece bounds (structure tags
no_basalt,no_delta). - Nether jigsaw structures: raised size cap to 128 pieces, added a
FIXED_HEIGHTland search direction for structures that must place at a specific Y, and strictery_allowanceenforcement on final placement. - Debug command:
/moogs_structures debug keepjigsaws on|off|statuskeeps jigsaw blocks in placed structures so their name/target/pool can be inspected in-world.
Fixed
- Dependent mods (e.g. Moog's Nether Structures) failing to recognise this build as version 3.0.0.
Added
- Version-aware
SinglePoolElement, letting structure packs pick the right NBT per Minecraft version. This allows for wider version compatibility /moogs_structures debugcommand to toggle runtime diagnostics.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:1oUDhxuy:CFlvlXDR"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:1oUDhxuy:CFlvlXDR"
}

