Origins (1.14.1)
Curse Maven Snippet
What's new
Fixed
- A derived origin layer could be emptied instead of switched. This is the
root cause behind every "the layer got removed" report, and the reason the
previous two attempts at it only narrowed the window. Revalidation used to
work in two steps — clear the layer, then let auto-choose refill it on a later
pass — but the refill is not guaranteed: it does nothing when the layer's
conditions offer no origin or two of them, or when the layer is still waiting
on another layer it reads. Whenever the refill didn't come, the layer was left
with nothing: powers revoked, no replacement. A
revalidatelayer now computes its replacement first and switches straight to it, so it can never end up empty. If its conditions no longer name a single origin, the player keeps what they already had (falling back todefault_originwhen the layer defines one). /origin seton a derived layer no longer undoes itself. Setting an origin by command, GUI pick, Orb of Origin or a power's action now pins that layer, so arevalidatelayer won't re-derive over the top of it. Before this, the command reported success and the layer reverted in the same tick, because choosing an origin triggers the reconcile that overwrote it. Clear the pin withorigin set <targets> <layer> origins:empty, which hands the layer back to its conditions; it is also dropped automatically if a data-pack change removes the pinned origin from that layer./origin setreports what actually happened. It counts only the targets that ended up on the origin you asked for, and names any target whose layer conditions overrode the request instead of silently claiming success.
Added
origins:originaccepts a list of origins and*wildcards. Write"origin": ["my_pack:base", "my_pack:aliens/*"]instead of anorigins:orlisting every origin twice. A*matches any run of characters including/, somy_pack:aliens/*coversmy_pack:aliens/heatblast/heatblast-regas well. The single-string form every existing pack uses is unchanged.This is what the two branches of a derived layer want: write the list once and put
"inverted": trueon the copy for the other branch, so adding an origin later means editing one list rather than rebalancing anand/oron both sides. Missing one used to silently flip the layer to the wrong branch and revoke its powers.
This mod has no additional files

