NeoOrigins v2.2.29 (MC 26.2)
Curse Maven Snippet
What's new
A fixes release, mostly for the two origin editors, which could quietly lose data on save. Saving a power in the in-game creator deleted any detail its form could not display, loading a template and saving it dropped the origin's evolution tiers and custom spawn, one creator save could overwrite another origin's power files, and the web editor started new origins in the
neooriginsnamespace, where a name matching a shipped origin replaced it for the whole server. Outside the editors, anarea_of_effectwith a block action and no radius no longer runs that action across seventeen thousand blocks, one invalid origin id no longer empties an entire origin layer, and origin spawn searches start from the world spawn instead of the wrong end of the map. On 1.21.1 other players are drawn in their own model colour rather than yours.Supports: Minecraft 26.1.x (Java 25) · Minecraft 26.2 (Java 25) · Minecraft 1.21.1 (Java 21)
An
area_of_effectwith a block action no longer runs it across seventeen thousand blocks. The block sweep borrowed the entity sweep's default radius of sixteen, so ablock_actionwith no radius written ran at every block within sixteen of the centre: 17,077 positions per activation, and withexplodeas the block action the server stalled. The block sweep now defaults to two blocks, thirty-three positions, while the entity sweep keeps its sixteen, and a radius you do write is honoured as before up to the existing cap of sixteen. Separately,explodeis limited to four per player per tick. They all go off at the player rather than the swept block, and hurt immunity after the first absorbs most of what the rest would deal, so the extras bought lag and nothing else. ACTIONS.md records both defaults and the cap.One invalid origin id no longer empties a whole origin layer. An id the game cannot parse, such as a web export named
Wizardorwizardwith a trailing space, threw while its layer was being read, and the loader's answer was to discard the entire layer. Since addon and exported packs add to the built-inneoorigins:originandneoorigins:classlayers, one bad id emptied the picker of every origin, or every class, for everyone on the server, with nothing on screen to say why. The bad entry is now skipped with a warning naming it, and the rest of the layer loads.Origin spawn searches start from the world spawn, scaled into the searched dimension the way a portal scales it. On 1.21.1 only the Nether was wrong: the search read the Overworld's spawn point without dividing by eight, so a world spawn at 8000, 0 sent a new Blazeling to Nether 8000, 0, sixty-four thousand blocks out in Overworld terms. On 26.1 and 26.2 every search started from 0, 0 in whatever dimension it searched, so all nine built-in origins with a spawn location ignored a moved world spawn. All three versions now start from the world spawn converted into the searched dimension, so an Overworld spawn at 8000, 0 centres a Nether search on 1000, 0, with the height kept inside build limits and the position inside the world border. PACK_FORMAT.md covers
spawn_locationitself.Every player is drawn in their own model colour instead of yours (1.21.1).
model_colortints were read from your own powers for every player on screen, so everyone around you wore your colour and nobody ever saw theirs. Each player's tint now comes from that player's own synced powers, clears when their effect ends, and is dropped when they log out or leave range. Minecraft 26.1 and 26.2 draw no model colours, since the 26.1 rendering rework removed the call the tint depends on.Caveborn meal tints clear when the meal's effect wears off.
model_colorkept one condition slot per player, so the six Caveborn diet tints overwrote each other every second: a tint that ran out only told the client if it happened to be checked last, and the others stayed on the model until a respawn, relog or dimension change forced a resync. The shared slot also flipped twice a second, sending a full power sync each time. Each power now keeps its own result. On 26.1 and 26.2, where tints are not drawn, what changes is that the needless syncs stop.Saving a power in the in-game creator keeps everything its form cannot show. Opening a power in the form and saving it rebuilt each field from what the form understands, so any detail a sub-form did not model was deleted even if you changed nothing: an
"inverted": trueon a condition vanished and flipped its meaning, a nestedweapon_damage_scaledisappeared, an action written as a list could be dropped outright, and a shorthand item condition with notypewas read as empty. That last one is how a saved Riding the Sword would fly with anything in hand. A save now applies only what you changed, onto the JSON the form was opened on, at any depth and inside lists, and clearing a field still removes it. A list you wrote as[]is kept rather than dropped, since for some fields it means something different from leaving the key out. Every shipped power saves back unchanged now, apart fromstarting_equipmentfolding a single item into itsstackslist, which the game reads the same way.Load template followed by Save gives you back the origin you loaded. Loading a template into the in-game creator and saving it wrote a different origin from the one on screen. Evolution tiers, spawn locations and upgrades were dropped, so of the seventy-eight shipped origins the fifty-eight with evolution tiers lost them and the nine with a spawn location lost that, along with any origin field the creator has no box for, such as
unchoosable,specialor the Figura model keys. Powers were copied under new ids without updating the references between them, so a saved Iron Monk's Palm Strike still checked the original stamina pool, read zero and never fired. A name or description written as a translation key came back as the raw key, and the identity boxes truncated at two hundred and fifty-six characters, cutting six built-in descriptions. All of that is kept or corrected now, and a power keeps its id once given, so later edits in the Powers tab no longer rename it out from under its references.A creator save no longer overwrites another origin's power files. Power files are named after the origin's path and the power's type, with anything that is not a letter, digit or underscore folded into
_. So a mob origin and a player origin both calledfoo, or two origins calleda/banda_b, wrote to the same file, and the second save silently replaced the first origin's power. The creator now checks which origin already lists each power id, saves a clashing one under a free id, updates every reference to it, and logs the move.The web editor starts new origins in
neoorigins_custom, so they cannot replace shipped ones by accident. New origin and mob origin drafts defaulted toneoorigins, the namespace the built-in content uses, so a name matching a shipped origin or power silently replaced it for everyone on the server. New drafts now default toneoorigins_custom, the namespace the in-game creator already writes to. Loading a template still keeps the shipped id, since overriding that origin is the point. Templates also keep their evolution tiers, which used to be stripped on load: fifty-eight of the seventy-eight web templates have them, and they are carried through and exported as they were, though still not editable here. An empty list you wrote survives export too.Web exports refuse ids the game cannot load. The check only caught blank and duplicate ids, so a path with a capital letter or a trailing space exported cleanly and then, through the layer fault above, emptied the origin picker. The origin's namespace and path, the layer id, power ids and upgrade ids are now all checked against the game's own id rules first, with a message naming the offending character, and a blank upgrade is refused instead of loading as a dead reference. The mob origin editor, which had no export check at all, now refuses the same ids, and any power id used twice.
Modded fish whitelisted in the config now count as meat.
ocean_origins.extra_fish_foodslets you name modded fish an ocean origin may eat without editing a datapack, but the carnivore and vegetarian diets read only theneoorigins:meat_foodstag, so a fish listed there fed a Merling and was invisible toorigins:carnivore. Both diets now read the tag or that list, so a whitelisted fish feeds a carnivore and is refused to a vegetarian, the same way tagged fish already were.
This mod has no additional files