NeoOrigins

A modern port of Origins
Back to Files

NeoOrigins v2.2.30 (MC 1.21.1)

File nameneoorigins-2.2.30+1.21.1.jar
Uploader
CyberDayCyberDay
Uploaded
Oct 11, 2026
Downloads
2.5K
Size
11.7 MB
Mod Loaders
NeoForge
File ID
9124769
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

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

Learn more about Curse Maven

What's new

A small release for the resource bar HUD and for pack commands. Resource bars now stack in a fixed, predictable order instead of one that followed an internal hash, with no empty slot left behind a bar that is hidden or dragged to its own position, and no bar's text printed over another bar's. The bars also get a new look: the built-in ones now draw in a framed style with value ticks, most with a scrolling fill themed to their origin, and packs can use the same eight styles, tint the plain one any colour, and run a bar from one colour into another. For pack authors, a command that does not parse is now written to the log along with the power that ran it, where before it failed in complete silence, and a valid execute ... run chain is no longer mistaken for a broken command by the legacy translation layer.

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

Changes

  • Resource bars stack in resource id order, lowest id nearest the hotbar. The client kept its bars in a hash map, so the vertical order of the stack followed the resource keys' string hashes: stable for a given set of bars, but nothing a pack could predict, describe to a player, or control, and adding one resource dropped its bar wherever its hash happened to fall. A full sync now stores the bars sorted by resource key, which is the power id, and value updates leave each bar where it is. This rearranges existing stacks: any two or more bars sitting at their default positions, whose hash order differed from their id order, will have moved. Bars given a saved position in the HUD editor are unaffected. POWER_TYPES.md describes the order and which bars take a slot.

  • The built-in resource bars use the new bar styles. Every origin that shows a resource bar now draws it in a framed style with value ticks: a scrolling themed fill where the origin has a clear element, such as fire for the Blazeling, water for the Kraken, void for the Enderian and sculk for the Warden, and otherwise the plain grey fill tinted to the bar's existing colour. The Frostborn bar is the one exception: it was orange and is now an ice gradient, blue at the empty end shading to frost white at the full end. Only the look changed: no resource values, regeneration or costs moved.

Bug Fixes

  • A hidden or repositioned resource bar no longer leaves a gap in the stack. The HUD advanced its stacking counter for every bar it knew about, whether or not that bar was drawn in the stack, so a bar hidden by hide when full, or one moved to a saved position in the HUD editor, still reserved its slot and the bars above it did not close up. The draw decision is now made for every bar first, and slots are handed only to the bars that will actually draw at a default position. The HUD editor assigns its slots the same way, so the gap that used to sit behind a dragged bar there is gone as well.

  • Stacked resource bars no longer print their text over each other. Every bar draws its name above it and its value below it, but the stack climbed a fixed sixteen pixels per bar, which is less than a bar and its two lines of text need. Each bar's value landed on the name of the bar below it, so in a stack of several bars everything between the top name and the bottom value was an unreadable pile. Each slot is now as tall as what its bar actually draws: the bar, the name line, the value line and a small gap, which puts the built-in framed bars 29 pixels apart. A bar whose label is empty draws no name line and takes a shorter slot, though never shorter than the old sixteen. The HUD editor measures its bars the same way, so its default stack uses the same spacing as the HUD. POWER_TYPES.md describes the slot sizes.

  • A resource bar colour of the wrong length falls back to the default. color, tint and tint_end in hud_render read any run of hex digits as a number, so the shorthand #FFF was read as #00000FFF rather than white, which draws an invisible fill or a blue tint, and a seven- or nine-digit typo gave some other wrong colour. Anything other than six or eight hex digits now falls back to #55AAFF, as a value that is not hex already did, and the log names the power and the value it rejected. An empty tint or tint_end counts as not set, as the field descriptions say, rather than as a bad value. A bar_fx preset whose track_color or level_color has the wrong length is skipped with a warning, the same as any other malformed preset.

Pack Author Features

  • A pack command that does not parse is written to the log, naming the power that ran it. Powers run their commands on a source with output suppressed, which is what keeps command spam out of chat. The game reports a command it cannot parse through that same suppressed channel, runs nothing, and raises no error doing so, so a typo such as tellraw @s {"Triggered"} produced no chat message, no log line and no effect: the power simply appeared to do nothing. Such a command is now logged once for each combination of power, site and command text, carrying the game's own reason for refusing it. Commands are still handed to the game exactly as before, so nothing that used to run stops running, and a legacy command the compatibility layer repairs on its way through is not reported. ACTIONS.md and ADMIN_CONFIG.md both record what is logged.

  • Eight resource bar styles to choose from. hud_render.animated now has built-in styles: neoorigins:fire, water, wind, earth, soul, void and sculk draw a scrolling themed fill inside a grey frame, and neoorigins:tinted draws a plain grey fill that does not move. Every style draws value ticks over the fill, a faint one every 5 points and a brighter one every 25, the same steps the old bar used, and ticks that would sit closer than 2 pixels apart are still left out. The scroll follows game time, so it moves smoothly between game ticks and stops while the game is paused. A player whose resource packs do not have the style sees the flat color fill instead, and a pack already using neoorigins:fire gets the new art and frame. Presets also gained frame (sized by frame_width and frame_height), loop_width, tint_from_color and a static mode, for packs that ship their own styles; a preset with no frame still draws the old box. POWER_TYPES.md lists the styles, PACK_FORMAT.md describes the hud_render fields, and animated_bar_artist_spec.md covers drawing the textures.

  • neoorigins:tinted takes any colour. The fill is grey, and tint multiplies it channel by channel: its lightest pixels come out as the colour itself and its darker greys as deeper shades of it, so the fill keeps its shading, and a bright, saturated colour gives the clearest bar. When tint is not set the bar uses its color, so a bar that already has one only needs "animated": "neoorigins:tinted" added. tint takes #RRGGBB or #AARRGGBB, with the alpha ignored since the fill is always opaque. It works on the themed styles too, but those are drawn in colour already. POWER_TYPES.md has worked examples.

  • hud_render.tint_end shades a bar from one colour into another. On a framed style that does not scroll, such as neoorigins:tinted, the fill runs from tint at the left end of the bar to tint_end at the right, starting from color instead when tint is not set and the style takes its colour, as neoorigins:tinted does. The gradient spans the whole bar rather than the filled part, so each point of the bar keeps its colour as the value rises and falls. Without tint_end the bar is one flat colour, as before. The Frostborn bar is built this way, and is the gradient example in POWER_TYPES.md.

  • Both power editors know the new bar fields. In the in-game creator, animated has a pick button listing the eight built-in styles and any style a loaded resource pack adds, and it still takes any id typed in. The web editor suggests the eight styles as you type and shows a preview of the bar above the hud_render fields, with its style, tint and gradient applied. Both editors now flag a color, tint or tint_end that is not six or eight hex digits, which the loader would replace with #55AAFF, and an animated id with no namespace, which can never match a style.

Compatibility (Apoli / Origins)

  • A valid execute ... run command is no longer treated as unparseable by the legacy rewriter. The check that decides whether a legacy pack's command may be rewritten asked whether the top level of the parse carried a command to run. A redirect such as execute as @s run does not: it leaves the top level empty and puts the command in a child context, so every valid execute chain in every pack read as broken. That was the reverse of what the check exists for, since an execute chain also matching a legacy pattern was handed to the rewriter even though the game would have run it exactly as written. The check now judges a parse the way the game itself does when it finishes parsing, taking the game's own parse error first, then asking whether the chain of contexts flattens into something runnable.

Documentation

  • The commands page shows a text component. Every example under neoorigins:execute_command used a command with no JSON payload, so the one thing most likely to go wrong in a pack command had no worked example on the page that documents pack commands: a text component is itself JSON, and its quotes have to be escaped inside the command string. The escaped tellraw form now sits beside the existing example, with {"Triggered"} named as the shape that does not parse and the reason it does not. The paragraph describing what a command that does not parse writes to the log now notes that up to 2.2.29 nothing was written at all, so a reader still on that version does not go hunting for a line that is not there. See ACTIONS.md.

This mod has no additional files