-
Notifications
You must be signed in to change notification settings - Fork 3
Structure Processors
MSL ships ten structure processors that plug into a template pool's processors list. They cover the jobs vanilla processors don't: setting up spawners and vaults, equipping armor stands, cleaning up floating blocks left by loose builds, filling with water, and so on.
They register under the vanilla worldgen/processor_list system, so you attach them like any other processor list.
Reference the list from a pool element:
{
"weight": 1,
"element": {
"location": "mvs:barns/barn",
"processors": "mvs:barns/barn_processors",
"projection": "rigid",
"element_type": "minecraft:single_pool_element"
}
}And define the list at data/<namespace>/worldgen/processor_list/barns/barn_processors.json:
{
"processors": [
{ "processor_type": "moogs_structures:remove_floating_blocks_processor" },
{ "processor_type": "moogs_structures:spawner_randomizing_processor", "... ": "..." }
]
}| Processor | What it does |
|---|---|
pillar_processor |
Extends a pillar up or down from a trigger block until it hits solid ground. Optional altitude-aware block randomizer. |
spawner_randomizing_processor |
Fills a mob spawner from a weighted entity list, with optional per-entry NBT. |
trial_spawner_randomizing_processor |
Writes a chosen trial-spawner config into placed trial spawners, with ominous variant support. |
vault_randomizing_processor |
Assigns a loot table and key item to a vault, auto-picking the ominous loot table on ominous vaults. |
equip_armor_stand_processor |
Equips armor stands from a weighted list of armor sets, with per-item enchantments and trims. Fabric only at present. |
close_off_fluid_sources_processor |
Turns fluid source blocks next to the structure into solid blocks, so lava or water cannot leak in. |
flood_with_water_processor |
Fills the inside of the piece with water up to a fixed height. |
remove_floating_blocks_processor |
Clears blocks left unsupported after placement. |
random_replace_with_properties_processor |
Randomly swaps one block for another, keeping its blockstate properties. |
super_gravity_processor |
Re-seats blocks onto the terrain height in their own column. |
Processors run in list order, so put terrain-shaping ones (super_gravity, pillar) before ones that fill or clean up (flood_with_water, remove_floating_blocks), and put randomizers (spawner_randomizing, equip_armor_stand) anywhere before they matter.
- Template Pools for how pool elements reference processor lists.
-
versioned_single_pool_elementif you need different NBT per MC version but the same processor list.
Getting started
Core concepts
- pillar
- spawner_randomizing
- trial_spawner_randomizing
- vault_randomizing
- equip_armor_stand
- close_off_fluid_sources
- flood_with_water
- remove_floating_blocks
- random_replace_with_properties
- super_gravity
Advanced
- versioned_single_pool_element
- Nether jigsaw structures
- Enhanced terrain adaptation
- Entity processor framework
- Debug commands
- Advanced Topics
Examples