promotional bannermobile promotional banner

NeoOrigins

A modern port of Origins
Back to Files

NeoOrigins v2.2.31 (MC 26.2)

File nameneoorigins-2.2.31+26.2.jar
Uploader
CyberDayCyberDay
Uploaded
Oct 25, 2026
Downloads
18
Size
11.8 MB
Mod Loaders
NeoForge
File ID
9318554
Type
R
Release
Supported game versions
  • 26.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:neoorigins-1495375:9318554"

Learn more about Curse Maven

What's new

The headline is classic mode: a new content.toml switch that offers only the original Origins mod's ten origins and the fourteen Origins: Classes classes, each with a power set modelled on the original mod. Turn it on before the world is created if you can: players who already have an origin or class hidden by classic mode keep it until they reset it.

Rebuilding those sets added four power types for pack authors, and Origins packs that use Blazeborn's snowball weakness, the Merling's conduit power, the Arachnid's webs or entity_glow now behave as they do in Origins. Two reports late in testing turned into a further batch of compatibility fixes: an imported resource bar keeps the value you earned rather than resetting on every world join, and an attribute can now follow a resource, as Apoli packs expect of it. Three well-known Origins powers that loaded and did nothing now work, and a power handler registered from a KubeJS startup_scripts/ file remains registered when a world loads.

This release also brings NeoOrigins to Minecraft 26.3. A client running Punchy, or any mod that checks item use animations often, no longer loses about a third of every frame to NeoOrigins when a pack loads Origins-format powers (#136), and flight powers such as Riding the Sword can no longer be switched off by mods that reset player flight every tick, such as Create Buzzy Beez. Each resource bar can now be resized in the origin editor, and a new dynamic flag stacks cooldown and timer bars above the permanent ones.

Supports: Minecraft 26.1.x (Java 25) · Minecraft 26.2 (Java 25) · Minecraft 26.3 (Java 25) · Minecraft 1.21.1 (Java 21)

Changes

  • Classic mode. A new classic_mode option in content.toml, off by default, offers only the original Origins mod's ten origins and the fourteen Origins: Classes classes, each with a power set modelled on the original mod. The origins are Human, Merling, Avian, Blazeborn, Elytrian, Enderian, Arachnid, Shulk, Phantom and Feline. The classes are Archer, Beastmaster, Blacksmith, Cleric, Cook, Explorer, Farmer, Lumberjack, Merchant, Miner, Nitwit, Rancher, Rogue and Warrior. Farmer and Rancher are new, and only appear in classic mode. While it is on, every other built-in origin and class is hidden whatever its toggle says, and so are the three Dragon Survival dragons. A classic origin or class switched off by its own toggle stays hidden, and origins from datapacks or originpacks/ are still offered. Switching it while the server runs applies at once: online players holding a classic origin swap power sets, powers both versions share keep their state, and every client's picker is resent. See CONTENT_CONFIG.md.

  • Turn classic mode on before the world is created if you can. A player who already holds a built-in origin or class that classic mode hides keeps it, powers and all, until it is reset with an Orb of Origin or an Orb of Class, or by an admin running /neoorigins reset <player>. Affected players receive a chat message explaining this and how to reset their origin or class, every time they join and when the mode is switched on while they are online. The server also logs a warning when a world that already has player data starts with classic mode on, or has it switched on while running.

  • Classic mode turns evolution off in practice. None of the classic origins has evolution tiers, and every other built-in is hidden while the mode is on, so none of the selectable built-in origins evolves. Kill counts stop mattering until the mode goes off again. Datapack and originpacks/ origins keep whatever tiers they declare.

  • /neoorigins list shows what classic mode hides. Hidden entries are marked [disabled], and the header says (classic mode) while it is on.

  • The classic Arachnid's climbing is a toggle. As in Origins, climbing starts on and flips with the origin's ability key, with a low note for off and a high one for on. Climbing inside cobwebs only works while climbing is enabled. The standard Arachnid is unchanged.

  • The classic Arachnid can craft cobwebs. Players with Master of Webs can craft one cobweb from two pieces of string in any arrangement. Nobody else can craft it.

  • NeoOrigins now ships for Minecraft 26.3. The new build runs on NeoForge 26.3 (26.3.0.83 or newer), alongside the 26.1.x, 26.2 and 1.21.1 builds. NeoForge 26.3 moved per-world config overrides from <world>/serverconfig/ to <world>/syncedconfig/, so the first time a world starts on 26.3, NeoOrigins copies its content.toml override across and applies it straight away. The 26.2-era file is left where it is, so the world still opens on an older build, and a pre-2.2.2 neoorigins-server.toml is renamed once its values have been carried across. CONTENT_CONFIG.md describes the new layout.

  • Each resource bar can be resized. The origin editor, opened from the Edit button on the origin info screen, has a new Resource Bar Sizes panel below the powers list, with a slider for every resource bar that has a label, from 50% to 200%. A bar grows from its top-left corner, with its name and value scaling alongside it, and both the HUD behind the editor and the HUD editor itself draw it at its size. Each bar's slot grows or shrinks with it, so a larger bar never runs into its neighbours and a smaller one leaves no gap. Sizes are saved to config/neoorigins/hud.json when the editor closes, separately from bar positions, so resizing a bar neither moves it nor takes it out of the stack. The Edit button appears in Creative mode, or in any game mode with the show_origin_editor client option turned on.

Bug Fixes

  • Punchy no longer causes heavy client lag when a pack loads Origins-format powers (#136). Punchy, and any mod that checks item use animations often, could spend about a third of each frame rebuilding NeoOrigins' list of edible items. With Origins-format powers loaded, the full power list was rebuilt on every lookup, so the edible-item cache never hit. The power list is now built once per reload, and the edible-item cache also refreshes when the client receives new tags.

  • Flight powers are no longer cancelled by mods that reset player flight every tick. Riding the Sword, Phantom Form and the other creative-style flight powers granted flight through the player's mayfly ability flag, which some mods, such as Create Buzzy Beez, switch off for every survival player each tick. These powers now grant flight through NeoForge's creative flight attribute instead, which those mods leave alone. Turning a flight power off or losing it still drops the player out of flight and clears their fall distance, as before, and creative or spectator flight is never affected. Switching one on while its condition is not yet met, such as drawing the sword after the toggle, now lifts the player off as soon as the condition holds, where before they had to jump to start flying.

  • The slime's bounce keeps the speed you had in the air. The bounce used the player's sideways speed at landing, after ground contact had already reduced it, so a running slime could still come out of a bounce with almost no forward speed. The sideways speed now comes from the last full tick in the air.

  • The origin info screen lists the powers your evolution tier has given you. The Powers section only ever showed an origin's base powers, so a power gained at a later tier, such as the Sword Immortal's Heavenly Sword Formation at tier 2, was missing from it along with its keybind, and a power that a tier takes away was still listed. The list and the keybind slots now follow the player's current tier, the same way the server grants the powers. Classes do not evolve, so the class layer still shows its base powers.

  • Origin packs left in the old game-root originpacks/ folder load again. 2.0 moved the folder to config/originpacks/ and read the old one only when the new one was missing, but it also created config/originpacks/ on every launch, so a single launch left an empty new folder beside a full old one and the packs stopped loading without warning. The old folder is now read whenever it still holds packs and config/originpacks/ does not, still with the warning asking you to move it across. If both hold packs, only config/originpacks/ is read, and a warning names the folder being skipped.

  • exhaustion_filter cancels the exhaustion it lists. The power loaded, but nothing read it, so it never filtered anything, including the imported origins-classes:no_sprint_exhaustion and no_mining_exhaustion. It now cancels the hunger exhaustion vanilla charges for each listed source: sprint, mining, jump and swim. Every other source of exhaustion is left alone.

  • Cobweb affinity now covers the mod's own web, not just vanilla's. Climbing read the #neoorigins:cobwebs tag, but the slowdown suppression and the 10x break speed tested minecraft:cobweb directly, so a holder inside neoorigins:temporary_cobweb, which that tag has always listed, could climb it and still be slowed by it and still break it at normal speed. All three now read the tag, so a pack that adds its own web to it gets the whole of cobweb affinity rather than climbing alone.

  • Three power descriptions now say what their powers actually do. The Herbalist's Bountiful Harvest promised 50% more crops, the classic Farmer's promised twice the yield, and the classic Rancher's Twin Births promised a chance of two babies. The descriptions reflected the intended behaviour rather than the actual behaviour: both harvest powers add one extra drop, and Twin Births fires every time. The Herbalist power also carried a multiplier field that crop_harvest_bonus has never accepted, so it was being dropped in silence and the power fell back to one extra drop anyway; the dead field is gone. No power's behaviour changes here, only the text that described it.

  • in_block_anywhere works in entity conditions. It was only usable in player conditions. A condition tested against a living entity, such as the entity_condition of entity_glow or prevent_entity_render, can now use it.

  • NeoOrigins.registerPower works from a startup_scripts/ file (1.21.1 and 26.1, the builds carrying the KubeJS bridge). KubeJS clears every plugin's caches at the top of each script reload, and the server scripts reload when a world loads, long after the startup script's single run for that session. That cleared the handler before any power could look it up, so a js_custom or js_active power stayed inert, while the same call from server_scripts/ worked because it ran after the clear. Registrations from a startup script now survive a reload; ones from a reloadable script are still replaced on each reload, so re-registering there keeps working. NeoOrigins.registerCallback was affected the same way and is fixed with it.

  • The classic Enderian's Gourd Blindness works. The power checks whether another entity is wearing a pumpkin, but equipped_item could not check other entities' equipment. The resulting condition could never be satisfied: the power hid nobody, and the server logged a warning on every load. The verb now reads any entity's equipment, in any of the six vanilla slots, so the power works, and so does any pack power written the same way. Two limits remain: the accessory slot cannot be asked about another entity, and a nested item condition NeoOrigins does not understand makes it refuse the whole filter rather than match everything, which in a hide-entities power would have hidden the world.

Pack Author Features

  • hud_render.dynamic stacks a bar above the permanent ones. Cooldown and timer bars took their slot in the same resource id order as every other bar, so one that appeared partway up the stack pushed every bar above it up, and they all dropped back when it went. A bar with "dynamic": true in its hud_render now stacks above every bar without it, with each group still in resource id order, so permanent bars hold their places while dynamic ones come and go on top. Cooldown bars from the Origins compatibility layer, both an origins:cooldown power and the cooldown bar of an active power, are dynamic by default. Native neoorigins:resource bars are not, and opt in with "hud_render": { "dynamic": true }. A bar given a saved position in the HUD editor is unaffected.

  • neoorigins:execute_command runs when an action targets a mob. Commands were a player-only verb, so wherever an action ran against a mob, such as the target of action_on_hit, target_action_on_hit or a projectile hit, a command was skipped, and an and containing one was skipped entirely. The command now runs as the mob, so @s is the mob, with output suppressed and the same permission level as other power commands. It goes through the same legacy command repair, blocked-command list and unparseable-command log as every other place a power runs a command.

  • neoorigins:like_air carries movement speed into the air. Airborne control speed goes through the player's movement_speed modifiers, as it does for Origins' Avian. That includes the sprint modifier, so a sprinting holder gets vanilla's airborne sprint bonus with the modifier's +30% on top, also as in Origins. Creative and ability flight are left alone.

  • neoorigins:conduit_power_on_land lets conduits affect players with this power while they are on land. An active conduit nearby gives them Conduit Power out of water or rain too. The power grants nothing by itself: a conduit still has to be built and active.

  • neoorigins:entity_glow outlines entities for the holder alone. Living entities matching entity_condition, and bientity_condition with the holder as actor, get a glowing outline that only the holder sees, the way a Spectral Arrow marks a target. Nobody is given the Glowing effect. With use_teams on, the default, an entity on a coloured team keeps its team colour; otherwise the outline takes red, green and blue. The classic Arachnid uses it to sense non-arthropods stuck in cobwebs.

  • neoorigins:projectile_vulnerability adds damage from listed projectiles. The holder takes amount extra damage, 3 by default, from each projectile in projectiles, given by id or as a #tag. The bonus is dealt even when the projectile itself deals none, so a snowball can hurt a Blazeborn. POWER_TYPES.md documents all four new types.

  • cobweb_affinity can climb. A new climb field, off by default, makes a cobweb the player is inside work as a ladder: jump to climb, sneak to hold. POWER_TYPES.md shows how the classic Arachnid gates wall and web climbing on a toggle, under wall_climbing.

Compatibility (Apoli / Origins)

  • target_action_on_hit fires on every hit and acts on the entity that was hit. The compatibility layer ran its entity_action only when the holder killed something, and ran it on the holder rather than on the victim. It now fires each time the holder damages an entity and runs on that entity, as in Apoli, honouring the power's condition and its cooldown. A player who is hit gets the full action set; a mob gets the actions that can apply to any entity, such as effects, damage, fire, knockback and now commands. damage_condition and target_condition are not read yet, so the action fires on any hit while the power's condition holds.

  • An older origin pack's worldgen files can stop a 26.x server from starting. A pack that ships its own dimension or worldgen files in the 1.21.1 format, such as a dimension_type without has_ender_dragon_fight or a biome with "carvers": {}, is rejected by vanilla Minecraft 26.x, and the server fails to start. NeoOrigins does not read these files, so it cannot bypass these errors: the fix is to update the pack's worldgen files to the 26.x format. Pack authors targeting 26.x should check every dimension_type, dimension and worldgen file they ship. Server admins whose startup log names one of these files should update the pack or remove it.

  • Imported origins:entity_glow outlines entities for the holder. It gave the holder the Glowing effect, so everyone else saw the holder glow while the holder saw nothing new. It now maps onto neoorigins:entity_glow, which outlines matching entities for the holder alone. Its bientity_condition can now check distance, so SeerOrigin's sight outlines living things within 25 blocks while astral, where before that sight outlined nothing. origins:self_glow is unchanged.

  • Imported origins:conduit_power_on_land no longer grants effects Origins never gave. A power with that id, whether the pack shipped the file or only referenced the bare id, gave permanent Water Breathing, Night Vision and Haste. In Origins it only lets an active conduit reach the holder out of water, and that is now what it does. Written as a power type, it now maps the same way.

  • The bare origins:master_of_webs id no longer climbs every wall. A pack referencing it without shipping the file got wall_climbing. It now gets cobweb_affinity with climb on.

  • Imported Blazeborn snowball damage matches Origins. Origins' damage_from_snowballs loaded as a 4x multiplier on all incoming damage, with no snowball check, and the bare id was not recognised at all. Both now map onto neoorigins:projectile_vulnerability: a snowball deals a Blazeborn 3 damage, and other damage is unaffected. Any modify_damage_taken of the same shape, a positive flat addition from one projectile type, maps the same way.

  • An imported resource bar keeps its value when you log back in. origins:resource seeded its start_value on every login, not only when the power was granted, so a bar tracking progress (a level counter, stored energy, a kill tally) reset to its floor on every world join, and any power reading it read the floor with it. A login now leaves the stored value alone, and still seeds one for a player who has none. Changing origin, or an Orb of Origin re-pick, resets the bar as before. The native neoorigins:resource was already right.

  • Three well-known Origins powers did nothing when a pack named them by id alone. origins:burn_in_daylight, origins:hotblooded and origins:water_vulnerability were each represented by a power with no configuration, which loaded but did nothing. They now get what Origins gives: catching fire once a second in direct sunlight unless invisible, immunity to Poison and Hunger, and 2 damage a second in water or rain. A pack shipping its own file for one of these is translated from that file, as before.

  • An attribute can follow a resource. Apoli lets a modifier take its value from a resource, which is how a pack makes max health, or any other attribute, track a counter it keeps. NeoOrigins applied the modifier's declared value and ignored the resource, and these powers are written with a value of 0 because the resource is meant to supply all of it, so the power loaded and then did nothing. origins:modify_attribute now carries the resource across, and neoorigins:attribute_modifier takes a resource of its own: the modifier's value is the resource's current value, re-read every 5 ticks, so the attribute moves with it both ways. A resource nothing has written yet reads 0. Apoli can also run further modifiers over that value before it reaches the attribute, which is not supported: the attribute tracks the raw value, and a warning is logged during loading when a pack requests additional modifiers.

This mod has no additional files