Список изменений
A combined fix-and-integration release. It closes issue #113: the permanent invulnerability when the selection screen is skipped, a new config toggle for spawning players with no origin, and an Orb of Origin that re-rolls only your origin. It also deepens Iron's Spells 'n Spellbooks support with a mana-backed resource bar and first-class handling of Iron's eight custom attributes, which the built-in mage origins now draw on, and adds a Figura integration so custom avatars can react to a player's origin, powers, and evolution tier on every observer's screen. Plus a Bloodfeast diet for vampires, two repaired vampire config overrides, origin-gated recipes that now appear in the recipe book and stop refunding their ingredients, and ability hunger costs that spend saturation first.
Supports: Minecraft 26.1.x (Java 25) · Minecraft 26.2 (Java 25) · Minecraft 1.21.1 (Java 21)
-
skip_initial_selection: spawn new players with no origin and no picker. A new gameplay-config toggle (default off) that skips the initial origin/class selection entirely. When it's on, new players join with no origin and the selection screen never opens: they play as an origin-less player until something grants them one later, for example an Orb of Origin. Unlike auto-human mode it assigns nothing, and unlike the old trick of disabling every class it doesn't leave the player stuck invulnerable. It takes priority over auto-human and the random-assignment modes. -
The Orb of Origin re-rolls only your origin. It previously reset both your origin and your class in one go; now it reopens the picker scoped to the origin layer alone and leaves your class exactly as it was, since re-rolling class is the Orb of Class's job. Any class-conditioned sub-power that no longer qualifies under your new origin is still cleared automatically, and the orb keeps committing lazily: the XP levels and the orb itself are spent only when you confirm a new origin, so closing the picker without choosing is a free cancel.
-
Vampires gain a Bloodfeast diet. The vampire origin can now draw full nourishment from raw and rotten flesh, as if it were freshly cooked: beef, porkchop, chicken, mutton, and rabbit feed you the same raw or cooked, rotten flesh nourishes without inflicting the hunger effect, and spider eye is edible too. It's a themed complement to the origin's existing eating restrictions.
-
No more permanent invulnerability when the selection screen is skipped (#113). New players are briefly invulnerable while they're still choosing an origin, and that protection is meant to lift the moment they've finished picking. If you ran auto-human with every class disabled, the class screen had nothing left to offer, the client quietly skipped it, and the "still choosing" state never cleared, so the player stayed invulnerable until they used an Orb of Origin or rejoined the world. A layer that has no selectable origin is now treated as already satisfied, so the protection lifts right away instead of hanging forever.
-
Two vampire config overrides that silently did nothing now work. The
multiplierfor vampire water-weakness, and for the slow-regen powers on Vampire, Revenant, and Necromancer, were ignored inpower_overrides.toml: the underlying powers hardcoded their values, so editing the toml changed nothing. Both now honourmultiplier: setting the water-weaknessmultiplierto0truly switches off the water damage, and the slow-regenmultiplieractually scales regeneration (1.0= normal). -
Origin-gated recipes appear in the recipe book and stop refunding their ingredients. Two fixes to the gated-recipe wrapper. It was marked
isSpecial(), which suppressed the recipe-book unlock so gated recipes could never surface there; it now inherits the inner recipe's flag and unlocks like any recipe, with the per-player origin gate still enforced at craft time (a player who fails the gate sees an empty result slot). And the crafting player is now planted into recipe context when the result is taken, not just when the grid changes, so completing the craft actually consumes the ingredients instead of refunding them. -
Ability hunger costs spend saturation first and update nutrition mods. Powers that charge a hunger cost (active abilities, upkeep auras, and the summon and tame-mob powers) took the cost straight off your food level, skipping the saturation that vanilla always spends first, and never told the client its saturation had changed. Costs now drain saturation before food, the way eating fills it in reverse, and push a hunger update to the client so saturation-display mods track the drain live.
-
Deeper Iron's Spells 'n Spellbooks integration: mana-backed bars and first-class attributes. Beyond the existing
cast_iron_spellaction, two new surfaces land. Aneoorigins:resourcepower can now set"backing": "irons_spellbooks:mana"to bind its HUD bar directly to the player's Iron's mana pool: the bar auto-scales to Iron's live max mana (so it fills identically to Iron's own bar), reads and writes stay additive so NeoOrigins never fights Iron's regen and casting bookkeeping, and it re-syncs every 10 ticks so the HUD tracks the pool live. Andattribute_modifierpowers can target Iron's eight custom attributes (max mana, mana regen, spell power, spell resist, cooldown reduction, cast-time reduction, casting move-speed, and summon damage) by id, with the per-attribute scale documented. Iron's stays a compile-only soft dependency: without it installed, each surface degrades to a logged no-op rather than crashing. See the new Iron's Spells 'n Spellbooks section for the full reference. -
The built-in mage origins draw on Iron's attributes when it's installed. Fire, Water, Earth, Air, Darkness, and Gravity Mage, along with the Necromancer, now carry themed Iron's attribute bonuses (a larger mana pool, faster or stronger casting, and school-appropriate perks), each gated behind
"required_mods": ["irons_spellbooks"], so they only load and apply when Iron's is present and stay invisible otherwise. -
Figura avatars can react to a player's origin, powers, and evolution tier. Figura avatars run a Lua script that renders on everyone's screen, and NeoOrigins now exposes a read-only
neooriginsglobal to those scripts: an avatar can switch model, toggle parts, or play animations from the wearer's live NeoOrigins state, and it resolves for other players too, not only yourself. Datapack authors drive it from the origin JSON, with afigura_modelstring for the one-model case and afigura_modelsobject that maps evolution tiers, active powers, and capability tags to their own model keys (plus avocabmap of friendly labels for a generic avatar UI). Avatar scripts read the state through twelveneoorigins:calls, for examplegetFiguraModelTier()andgetActiveFiguraModelKeys(). Figura stays a compile-only soft dependency: with it absent, none of the integration loads and nothing breaks. See the new Figura integration guide for the datapack fields and the full Lua reference. -
Projectile-fired
execute_commandruns through the command rewriter and guard. A command fired from a projectile context, for example an Origins-format addon that runs/attributewhere its projectile lands, bypassed the legacy-command rewrite and the command-power safety guard that the mainexecute_commandpath already used. It now routes through both, so legacy attribute ids likegeneric.scalemigrate to their modern form (scale) and the same command restrictions apply.

