Skip to main content

Block Aura (block_aura)

A block_aura defines which blocks are aura sources: every block a definition claims contributes to the aura inventory of the chunk it is in, on top of the natural environment. A spirit stone vein is what uses it to push the concentration far above the natural value.

File Location​

block_aura is a datapack registry, and one file is one definition:

data/<namespace>/mxt/block_aura/<entry>.json

The entry id is <namespace>:<path> — data/example/mxt/block_aura/aura_emitters.json is example:aura_emitters. The mod's own entries live under data/mxt/mxt/block_aura/; a content pack uses its own namespace instead of mxt.

The fields of the table below go at the top level. There is no values wrapper — one file describes exactly one definition — and to add another contribution from your own pack you simply write another definition; every definition hitting a block applies, and there is no replace switch. A file-level neoforge:conditions works: when it does not hold, the definition never enters the registry at all.

Like every other datapack registry it is read while the world loads, and /reload does not read it again. /mxt registries list and /mxt registries validate both cover it, and /picker mxt:block_aura lists the blocks these definitions claim.

Purpose: Aura provided by blocks.

Fields​

FieldTypeDefaultDescription
blocksBlock entriesrequired, must not be emptyWhich blocks this definition claims: a single block id, a #-prefixed block tag, or an array of either.
auraMap of aura ID to value{}Which auras this definition makes each claimed block provide, and how much of each.

The keys of the map are mxt:aura registry entries, not saturn:resource ones: a resource only stores a number, while the aura is what says which aura that number counts towards. Every entry in the map has the same fields as an aura entry in aura_zone:

FieldTypeDefaultDescription
amountDouble0How much each matching block contributes.
maxMaximuminitial_multiplier=1The maximum, written as on the aura maximum types page.
regen_per_tickDouble0How much is restored per tick.
colorRGBColor#FFFFFFColour, used for environment rendering only.

amount must be finite and non-negative, and regen_per_tick must be finite, otherwise the definition is rejected at load time. With aura omitted or empty the definition contributes no aura at all; it only claims a few blocks.

There is no "aura kind" field: the auras a definition makes a block emit are exactly the key set of that map, so a block cannot claim an aura it does not actually supply.

When several definitions hit the same block they all apply and are added together (block aura is an additive quantity): this registry has no priority field, never picks one winner, and nothing overrides anything else.

Example​

data/example/mxt/block_aura/aura_emitters.json:

{
"blocks": ["mxt:spirit_stone_ore", "#example:aura_emitters"],
"aura": {
"example:spirit_power": {"amount": 5.0, "max": 5.0, "regen_per_tick": 0.01}
}
}

Runtime Behaviour​

  • Chunk loading rebuilds the cache immediately; break/place events update individual blocks immediately. Each section also has a random rescan target interval of 600..1199 ticks and may be delayed by queued work.
  • A spirit stone vein can be stacked from several block_aura definitions and block tags to provide aura above the natural environment.
  • At runtime the query is performed over a 7×7×7 sub-chunk range: within the 3×3×3 range around the current sub-chunk the real positions of matching blocks are used, the outer ring is approximated with sub-chunk centres, and everything decays uniformly by 1 / max(1, distance squared).
  • The contribution of each source sub-chunk is roughly split by the number of players currently visiting it, while the inventory is still shared at the chunk level.
  • Block aura does not occupy the environment base maximum: it also adds an equal amount of storable aura capacity to the current chunk. With an environment maximum of 100 and a total block contribution of 30, the effective maximum of that chunk is 130.
  • Server Config → Aura → Block Aura Period controls the target interval for stock regeneration, defaulting to 10 ticks with an allowed range of 1 to 1200 ticks. Chunks run at staggered phases and recover by actual elapsed time. Visitor counts update incrementally every tick; cache rescans are processed in due order in batches each tick and are not gated by that period.
  • A recommended natural aura template keeps the environment amount very low and enables positive and negative noise; after the / 10 - 5 handling large areas have no natural aura, block contributions accumulate on top of that by the number of blocks in the chunk, so a spirit stone vein can be configured far above the natural value.

Commands​

On the server, /mxt aura query queries the final environment under your feet; standing on spirit stone ore, /mxt aura vein queries the block count and tier of the connected vein.