NeoOrigins v2.2.33 (MC 26.2)
Curse Maven Snippet
What's new
Three fixes for phasing through walls: Spectral Form no longer slips out through the world border, portals work while phasing, and limited sight follows the player's eyes in both F5 views. The four summoning abilities cost half the hunger they had been taking, and fifteen ability descriptions stop naming a resource cost that was never charged. For pack authors, seven more active power types now charge
resource_cost, andneoorigins:togglecan pay its own hunger or resource upkeep without a separate charging power. Older origin packs have more of their 1.20 data and commands rewritten into the current format as they are read, including the loot data that stopped a 26.3 server from starting, and on 26.3 an origin pack file that still cannot be read is now skipped with a warning instead.Supports: Minecraft 26.1.x (Java 25) · Minecraft 26.2 (Java 25) · Minecraft 26.3 (Java 25) · Minecraft 1.21.1 (Java 21)
Bug Fixes
Spectral Form no longer leaves the world border. Phasing switches off the collision the world border is built out of, so a phasing player walked straight through the border and lost their flight through blocks on the far side. A phasing player now stops at the border's face with no rubber-banding, and one who is already outside is put back inside, half a block in from the face. Phase Walk, Phase Step and Void Phase also refuse to land outside: their scan reaches far enough ahead to cross the border from just inside, and teleporting bypasses movement collision checks. The classic Phantom's Phasing and the Evolved and Apex tiers of Spectral Form are covered the same way.
Portals work while phasing. A player phasing with Spectral Form or the classic Phantom's Phasing who stood in a nether portal never travelled. The same switched-off collision meant the game never offered the portal its chance to claim them. End portals and end gateways were in the same position, and all three work now. Nothing else a phasing player passes through has changed: cactus, fire, sweet berries, cobwebs and powder snow still have no effect while incorporeal.
Summoning costs half the hunger it was taking. Abyssal Command, Call of the Deep, Raise Skeleton Archer and Raise Wither Skeleton each charged their hunger cost twice, so every summon took 8 food points instead of 4. Each now charges once, however many minions it spawns. Taming was never affected.
Fifteen abilities no longer name a cost they never charged. v2.2.32 corrected the resource costs quoted in ability descriptions to match what the bar actually loses. For fifteen of them the bar lost nothing at all, because the power types behind them never read
resource_cost: Void Step, Ender Warp, Warp Step, Shadow Step, Phase Walk, Void Phase, both Shadow Orbs, the Earth Mage's Ground Slam, Tidal Wave, Stone Light and the four summoning abilities have spent nothing from their resource bars in every release. Their descriptions no longer mention a resource cost, in all twelve languages. Hunger costs are unchanged, apart from the summoning fix above.Phasing fog follows the player's eyes, not the camera. With
obscured_visionenabled, moving the F5 camera against a wall could darken the whole view while the player was standing in open air. The solid-block check was using the detached camera's position, so even a camera brushing a wall post could trigger it. It now uses the player's eye position in first person and both F5 views. A player whose eyes are inside a wall stays fogged even if the camera is outside, so switching views does not bypass the fog. See Limited sight while phasing.
Pack Author Features
neoorigins:togglecan pay its own upkeep. The named boolean flag previously ignored the upkeep fields, so keeping a mode on at a cost needed another power to do the charging. It now readshunger_cost,resource_cost,resource_cost_amount,upkeep_intervalandupkeep_conditionon the toggle itself, and pays only while its value is true, including when it starts on throughdefault: true. If the whole charge cannot be paid, nothing is deducted and the flag switches off, sopower_activereads false. It stays off until something switches it on again. The existing toggle action still controls it, andtoggle_messages: falsesilences the automatic off message. All costs default to free. See Toggle, Make a toggle and Costs and upkeep.Six more active types charge
resource_cost.active_teleport,active_phase,active_place_block,ground_slam,tidal_waveandshadow_orbtakeresource_costandresource_cost_amountand spend them once per use, on top ofhunger_costfor the five that have one. The cost is checked before the ability fires, so a player who cannot pay does nothing and spends no cooldown, and an ability that finds nothing to do, such as a teleport with no safe landing spot, charges nothing either. While resource bars are disabled server-wide the amount is charged as hunger instead. All six accepted both keys before this release and ignored them without a word, so a pack that set them was leaving the resource portion of the cost uncharged. See Costs and upkeep.summon_minioncharges a resource per activation. It takes the same two keys, charged once per activation however many minionsquantityspawns. A resource cost replaceshunger_costrather than adding to it, as it does ontame_mob, so a summon with a resource configured costs no food, unless resource bars are disabled server-wide, when the amount is charged as hunger instead. A player who cannot pay summons nothing and spends no cooldown, and is told why: "Not enough power to summon!" when a resource is charged, "Not enough hunger to summon!" when hunger is.Check the id named by
resource_cost. A resource cost reads the value stored under that id, so a typo can leave an ability waiting for a resource that never fills. The six active types above used to ignore the cost altogether; they now refuse to fire when the player cannot pay it. A pack that already sets these fields should check that eachresource_costnames the resource it intends to drain.
Compatibility (Apoli / Origins)
Older origin packs' recipes and advancements load. Packs in
config/originpacks/written for 1.20 spell an item stack{"item": ...}, which the current game no longer reads as a recipe result or an advancement icon, so such a recipe or advancement failed to load. On 26.3 a single one of these files stopped the server from starting. NeoOrigins now renames the field toidas the file is read, without changing the pack. On 26.x, recipe ingredients written as{"item": ...}or{"tag": ...}objects are rewritten too, into the item id,#tagor id list those versions expect; 1.21.1 still reads the old ingredient form. Only vanilla recipe types are touched, and a result carrying legacynbtis left alone, since dropping it would craft a different item. World datapacks are not rewritten. See Legacy Origins packs.Older origin packs' loot data loads on 26.3. 26.3 changed the loot format: conditions and functions are keyed on
type, aconditionsorfunctionslist became oneconditionormodifier, a tag entry names its tag underitems, and every number provider written as an object needs atype. A single legacy loot file stopped the server. For packs inconfig/originpacks/, the keys are now renamed as the file is read, a list or a bare array is folded into one entry (inminecraft:all_oforminecraft:sequencewhen it holds several), and an untyped{"min": ..., "max": ...}number in a pool'srollsorbonus_rolls, arandom_chancecondition, or aset_count,set_damage,enchant_with_levelsorenchanted_count_increasefunction becomesminecraft:uniform. A condition list in a criterion's entity field, such asplayer,entityorsource(but notparentorcause), is folded the same way, and a child advancement'sbackground, which 26.3 rejects, is dropped. An originpack file that still cannot be read is now skipped with a warning naming the pack and the entry, instead of stopping the server. A world datapack in the old shape still stops it.The
alternativeloot condition works in older origin packs. Vanilla renamed itany_of, with the sameterms, so a loot table, predicate, item modifier or advancement inconfig/originpacks/that still usedalternativefailed to load. It is now renamed as the file is read. On 26.3, an advancement'salternativeis renamed only in those criterion entity fields, not inlocation,parentorcause.A legacy potion projectile carries its potion. A
fire_projectilepower written for 1.20 gives its projectile anItemin the old item format (Count,tag:{Potion: ...}). The current game reads that without itstag, so the potion flew with no effect. The item is now rebuilt when the projectile is fired, and its potion, enchantments and other legacy keys carry over the same way they do for a legacygivecommand. On 26.x, which split the thrown potion intominecraft:splash_potionandminecraft:lingering_potion, a power namingminecraft:potionwas refused at load as an unknown entity type. It now throws a splash potion, or a lingering one when the power'stagnames a lingering potion item. Both fixes cover thefire_projectilepower type in any pack, but not thefire_projectileaction.More legacy function commands load. A 1.20
.mcfunctionlineattribute ... modifier add <uuid> <name> <value> <operation>failed to compile, because 1.21 takes an id instead of a UUID and a name, and renamed the operations. The name is now dropped and the UUID kept as the id, so the pack's ownmodifier remove <uuid>still matches, andadd,multiply_baseandmultiplybecomeadd_value,add_multiplied_baseandadd_multiplied_total. The 26.x builds also repair the commands those versions changed: ageneric.attribute id loses its prefix, a camelCasegameruletakes its new id (flipping the value where the rule was inverted, such asdisableRaidstoraids), a bareparticle flashgets a white colour,summon minecraft:potionsummons a splash or lingering potion, andhorse.saddlebecomessaddle. On 26.3, theNameandPropertieskeys of a block particle'sblock_statebecomeidandproperties. World datapacks get these repairs too.Renamed ids in origin icons and tags are mapped. An Origins-format origin whose
iconnamedminecraft:scute, which 1.20.5 renamedminecraft:turtle_scute, showed stone instead, and on 26.x the same happened tominecraft:chain, nowminecraft:iron_chain. Both now map to the current id. On 26.x, an item, block or entity tag inconfig/originpacks/that named one of the following renamed or split ids failed to load. Such entries are now replaced:minecraft:chainbecomesminecraft:iron_chain, theminecraft:boatentity becomes#minecraft:boat, which holds every boat type it covered, and theminecraft:potionentity becomes bothminecraft:splash_potionandminecraft:lingering_potion. An entry'srequiredflag is kept.A layer with
"exclude_random": truestops logging a warning. Origins readexclude_randomonly as a list and ignored any other value. NeoOrigins expected a list, so that layer logged a parse warning on every reload. A value that is not a list is now ignored, as in Origins, and a list is read as before.Older origin packs' tags can name Origins' weapon and shield tags. The Origins mod ships the
#origins:ranged_weaponsand#origins:shieldsitem tags and NeoOrigins did not, so a pack tag that named either one failed to load. Both now ship with the Origins contents:ranged_weaponsholds the bow, crossbow and trident, andshieldsholds the shield. Each also takes in the matching common tags, so modded bows, crossbows and shields count too.
Documentation
- The Build A Spell link opens the right Modrinth page. The
cast_spelldocumentation still pointed at the oldbuildaspelladdress, which returned a 404. It now links to Build A Spell at its current address. See Cast spell.
This mod has no additional files

