Skip to content

Structure Processors

finnsetchell edited this page Aug 15, 2026 · 2 revisions

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.

Attaching a 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", "... ": "..." }
  ]
}

The ten processors

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.

Ordering

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.

See also

Clone this wiki locally