New Features
- Added automatic badges for
recipepowers (thanks @LimonBlaze) - Added config options for disabling origins or powers
Changes
- Updated to 1.19
- Updated Apoli to version 2.5.0, bringing fixes and new features
- Currently uses a locally built branch of my Reach Entity Attributes fork. Will update to an official version once that releases
- Reworked the badge system (thanks @LimonBlaze)
- Changed config to use JSON instead of toml
- Fixes
INGREDIENTdata type not being sent in a way that's friendly to later tag updates, which caused a bug with any powers relying on custom tags not working correctly when first joining a world. (thanks slapjd)
[A] indicates changes in Apoli (updated to 2.3.2), [O] indicates changes in Origins.
Additions
- [O] Layer files now have an additional field called
gui_titlewith two sub-fieldsview_originandchoose_origin, which override the default prompt at the top of the choose/view origin GUI for that layer. (thanks eggohito) - [O] The origin loot condition now also optionally supports a
layerfield. (thanks eggohito) - [A] Added Spanish translations. (thanks Golder06)
Changes
- [A+O] Updated to 1.18.2. (thanks slapjd for the effort, even though I didn't end up using all of your code)
- [O] Added integration for Enchantment Descriptions. (thanks Darkhax)
- [O] Updated Spanish translations. (thanks Golder06)
- [O] Updated the
swim_speedpower to be anattributepower instead of using themodify_swim_speedpower type.
Fixes
- [A] Fixed
modify_block_statechecking incorrect fields for integer properties, causing it to not function. - [A] Fixed
distance_from_spawnanddistance_from_coordinatesconditions crashing when nooffsetorcoordinatesare specified. - [O] Updated the power
phantomize_overlayto be hidden.
- Fixed compatibility with Spectrum (thanks DaFuqs for your work on making this happen)
- Now relies on https://github.com/DaFuqs/AdditionalEntityAttributes (included in the jar) for the following power types:
modify_swim_speed,modify_lava_speedandlava_vision. Please use the respective attributes with theattributepower type instead of these powers, since the power types are now considered deprecated and might be removed in a future update. The attribute IDs are:additionalentityattributes:water_speed,additionalentityattributes:lava_speedandadditionalentityattributes:lava_visibility, respectively. - Updated Turkish translation (thanks Hexasan)
- Updated Chinese translation (thanks LimonBlaze and Neubulae)
- Added support for Enchantment Descriptions in English (thanks Darkhax)
- Specified that this version does not work with 1.18.2, so users get a more legible error message when they try to use it
[A] indicates changes in Apoli (updated to 2.2.2), [O] indicates changes in Origins.
Additions
- [A] Added a tooltip to items which can't be used due to a power (such as "Vegetarian", "Carnivore" or "Unwieldy"). Configurable in the config file or via the config screen accessible with Mod Menu installed.
Changes
- [O] Updated English localization to be a bit more inclusive, and include Phantom's new hunger condition in the phantomize power description.
- [O] Updated all translation files to include the untranslated translation keys, which should make it easier for translators to update their translations.
Fixes
- [A] Fixed
modify_status_effect_durationandmodify_status_effect_amplifierpower types crashing the game.
[A] indicates changes in Apoli (updated to 2.2.0), [O] indicates changes in Origins.
Changes
- [O] Forgot in 1.2.0 patch notes: Phantom's phantomized mode now ends when food reaches 3 full hunger chunks. You need to be able to sprint to phantomize.
- [O] The phantomized overlay now changes color as the player's hunger approaches 3 full hunger chunks, acting as a visual indicator that the phantomization is about to end.
- [O] Sandstone, smooth sandstone, as well as the red variants, now count as "natural stone" for Feline's "Weak Arms" and Shulk's "Strong Arms".
- [A] Made the
block_statecondition return true if the property exists and no specific value is desired.
Additions
- [A] Added
entity_actionfield toaction_on_block_usepower type - [A] Added
damagebientity action - [A] Generalized actions, making
and,chance,choice,if_else,if_else_list,delayandnothingavailable for all action types - [A] Added
fail_actionfield tochancemeta actions
Fixes
- [A] Fixed
action_on_landpower type also triggering its actions during air time - [A] Fixed
swing_handentity action only working when called from clients - [A] Fixed
modify_status_effect_durationandmodify_status_effect_amplifierpower types not being registered - [A] Fixed a bug where only one
action_on_hitpower would fire its actions when multiple are present - [A] Fixed a bug where only one
tooltippower would work at a time - [A] Fixed
raycast_actioncrashing whencommand_hit_offsetis specified - [A] Fixed
crafting_tableaction not producing output - [A] Fixed ability powers (e.g.
creative_flight) crashing when granted viagrant_poweraction - [A] Fixed the
climbingcondition not account forclimbingpowers
Origins 1.2.0
- Updated to 1.18.
- Made badge tooltips wrap automatically if they would not fit on the screen.
- Does not use FallFlyingLib anymore (replaced by functionality in Fabric API).
Apoli (updated to 2.1.0)
Additions
- Added power types:
modify_slipperiness,action_on_block_use,prevent_entity_collision,prevent_feature_render,modify_status_effect_amplifierandmodify_status_effect_duration - Added entity actions:
swing_hand,raycast,spawn_particles,explode,area_of_effect,crafting_tableandender_chest - Added block actions:
explode,modify_block_stateandbonemeal - Added entity conditions:
raycast,power_type,ability,distance_from_coordinatesanddistance_from_spawn - Added block conditions:
slipperiness,hardness,blast_resistance,distance_from_coordinatesanddistance_from_spawn - Added item condition:
smeltable
Changes
- Added a
nonerender type to thephasingpower type - Added
bientity_conditiontoprevent_entity_render - Added
bientity_conditionandbientity_actionfield tomodify_damage_takenandmodify_damage_dealtpower types. When provided in amodify_damage_takenpower, the power will be ignored if no attacker is present. - Added
prevent_effects,replace_stackanditem_actionfields tomodify_foodpower type - Added
result_from_on_stackfield toitem_on_itempower type - Made the ticking of
action_over_timemore consistent - Changed the
particleparameter in theparticlepower type to optionally take a full particle effect object withtypeandparams - Added
clientandserverboolean fields toadd_velocityto control where the velocity is applied - Made
set_blockandadd_blocktake a full "block with state", e.g.minecraft:redstone_lamp[lit=true]is now a valid entry for theblockfield - Added an optional
sourcefield to thepowerentity condition
Bug Fixes
- Fixed local and velocity space X/Y axes for the
add_velocityentity action - Fixed
furnace_smeltloot function to be used in item modifiers by themodifyitem action
Thanks @Alluysl, @eggohito, @MerchantPug and @Jarva for contributing to this update.
Origins
- Fixed an occasional but game-breaking bug in which origins would load without powers
- Made key badges show the key ID instead of just "unbound" when the key is unbound, so players know what to look for
Apoli (updated to 2.0.5)
- Fixed
entity_glownot working on non-living entities
Origins
- Fixed key badges showing "none" instead of the primary active key when no key is explicitly specified in the power
Apoli (updated to 2.0.4)
- Made status effects synchronize to clients, so the
status_effectcondition works on client-side powers (likeentity_gloworinvisibility) (Thanks Pug) - Removed debug outputs from the
modifyitem action - Fixed an error that occured when syncing some powers
- Fixed
on_blocknot properly checking for the actual block the player's standing on if that isn't a full block (e.g. soul sand) - Fixed
modify_break_speedcrashing when noblock_conditionis provided - Fixed powers which prevent entity actions (
prevent_entity_useandprevent_being_used) not working correctly
Origins
- Made use of more readable way to specify classes with
attribute_modify_transferinlike_airpower - Fixed view origin screen showing "Choose your Origin" instead of the correct text
- Improved caching of keybinds for badges, they should now update properly when powers are changed
- Optimized assets a bit, reducing file size of the mod (thanks RDKRACZ)
- Fixed a misspelling in the Polish translation (thanks RDKRACZ)
Apoli (updated to 2.0.3)
- Prevented
testdatafrom showing up in builds status_bar_texturenow also affects the experience bar- Fixed a crash which occured with
in_block_anywhere modify_swim_speedno longer affects upward movement in lavamodify_swim_speednow properly affects vertical speed while swimming- Added more power-related callbacks
- Made power synchronization more efficient, causing less stress on servers
- Fixed
modify_damage_dealtonly working with player entities - Fixed snowballs not causing a hit
- Fixed multiple ability powers for the same ability (e.g. multiple
creative_flightpowers) conflicting with each other - Fixed
modify_foodnot syncing properly when food or saturation were modified to be 0.
- Un-hardcoded the phasing overlay
- Fixed a bug where joining players would not correctly receive the powers of other players
- Fixed
mountnot synchronizing properly when players are mounted - Fixed
modify_craftingnot calling theentity_actionandblock_action - Fixed
prevent_entity_useonly triggering itsbientity_actionon the server - Fixed crash when using the
grant_powerentity action - Fixed
revoke_powerentity action not removing sub-powers active_selfnow has a defaultcooldownof 1 and a hiddenhud_renderby defaultcommandcondition now also respects theexecute_commandconfigcan_seenow only considers visual obstructions, not physical collidersattackercondition now works properly on the client-side
Since the patch notes are quite long if I were to include Apoli and Calio changes, this will just list the changes to Origins as well as a few select ones relevant to many users:
Gameplay Changes
- Avians now have "Like Air" which makes modifiers to their movement speed also apply to their airborne movement
- Felines now have "Velvet Paws" which make their steps not cause vibrations (relevant for sculk sensors and in the future the Warden)
Other Changes
- Added
loading_priorityfield to layer files. A layer withreplaceset totruewill replace all layers at the same and at lowerloading_prioritythan itself. - Added badges: small icons next to powers which can display additional information in a tooltip. By default, powers will get an "active" or "toggle" badge if they are active or toggleable powers. These can be overridden, and custom badges can be added too via a
badgesfield in the power file. - Added
/origin guicommand to force a player into the origin selection GUI. - Added support for NBT data on the Orb of Origin item, which makes it only work for specific layers, or even set layers to a specific origin when used.
- Added a scroll bar to the origin display screens
- Added a
hiddenboolean field to layer files, which makes them not be visible in the view origin screen
- The mod menu config screen now shows Apoli's power config
- Right and left arrow buttons are now hidden in the choose origin screen if there is only one option
- Right and left arrow buttons are now hidden in the view origin screen if there is only one layer
- Fixed a bug where removing an origin from the world (by deleting/changing a datapack) would not remove the powers of that origin from players who had it before
- Fixed Shulker's inventory power not having the proper name
- The phasing overlay is no longer hardcoded, now uses a separate
overlaypower
Some changes from Apoli / Calio
- Entity conditions are more general
- Interactions can now be defined much better thanks to bientity actions and conditions
- Many bug fixes (including Invalid Player Data, hopefully)
execute_commandactions now use a permission level specified in a config that's on the server (by default level 2) - no more safety issues!
Read the changelogs of Apoli and Calio here: https://github.com/apace100/apoli/releases/tag/v2.0.0 https://github.com/apace100/calio/releases/tag/v1.0.3
Apoli and Calio changes are listed if they are relevant to Origins. They will be marked with an [A] or a [C] at the beginning, while changes to Origins will be marked with [O]. These details should be mostly irrelevant to the regular user, so feel free to ignore them. :)
Misc Changes
- [A] Removed the inability to equip an elytra when an
elytra_flightpower is active - [A] Changed order of execution of actions in
action_over_timepower.rising_actionnow executes before the firstentity_actiontick - [O] Added a clause that shows that Origins is incompatible with version of Identity older than 1.14.2-beta
- [O] Updated the "breaks OptiFabric" clause to only be valid up to the current version, in case the OptiFabric devs update their mod to fix the incompatibility issues
Bug Fixes
- [O] Fixed a bug where setting an origin would execute "on chosen" callbacks for other origins
- [O] Fixed player head icons in view origins screen being set to the player's head even though they have a
SkullNamespecified. - [A] Fixed damage over time protection enchantment not increasing the damage onset as much as intended
- [A] Fixed
shaderpowers crashing when an undefined shader was specified and the power is revoked - [A] Fixed some ghost callbacks being executed on clients, making it appear as if they would gain additional starting equipment
- [C] Fixed some serializations not working on Turkish systems
- [C] Fixed order of data parameters not being guaranteed, making functioned defaults unusable (mostly important for add-on devs)
Translations
- [O] Added Japanese translation (thanks Lavender!)
- [A] Fixed resource bars not being rendered correctly
- [O] Added all dependencies to the dependencies list, so players will know when they're missing (which shouldn't happen, but you never know)
Misc Changes
- [O] Updated Huang's resource bars. The sprites 1 and 2 have been merged into 1 to save space. They also received a visual overhaul.
- [A] Added an additional optional argument to the
power listcommand, which specifies whether or not to list "sub-powers" which are granted through amultiplepower type (default: false).
- [A] Changed the protection onset delay calculation in the
damage_over_timepower type. Will become more customizable with the next feature update. (Yes, this means there won't be a huge jump to 20 minutes of onset delay for Water Protection anymore.) - [A] Removed the version check in Apoli. This means the message will now display "You need to install Origins" and not "You need to install Apoli".
- [C] Error messages for wrong identifiers (e.g. for registry elements) were improved.
Bug Fixes
- [O] Conduits now affect Merlings on land again.
- [O] Phasing powers now grant a hardcoded overlay again (will be data-driven in 1.1.0).
- [O] Fixed Origin upgrades not working.
- [O] Fixed incompatibility with the Atlantis mod.
- [O] Fixed new powers or removed powers on origins not applying to existing players with that origin.
- [O] Fixed players not being invulnerable when selecting an origin.
- [O] Fixed "view origin" screen not working when the server does not perform a version check.
- [O] Fixed version check not working correctly.
- [O] Fixed water vision of Merlings not being as effective as before.
- [O] Fixed powers which contain the
origins:origincondition crashing when applied to a non-player entity. - [A] Fixed
entity_glowpower freezing the game. - [A] Fixed attributes visually being applied on the client when entering a Nether portal.
- [A] Fixed
creative_flightandelytra_flightpower types not supporting conditions. - [A] Fixed
creative_flightpower type stopping to work after death. - [A] Fixed explosive projectiles not spawning when used in
fire_projectilepower type. - [A] Fixed hud renders not allowing bars that are 8 pixels tall. (Still not perfect, because background is always only 5 pixels tall due to sprite layout, lol)
- [A] Fixed
lava_visionpower type not working. - [C] Fixed
*not working in all identifiers in datapacks where they previously would have.
Changes to Origins
- Updated to support Minecraft 1.17
- Now uses Apoli and Calio as libraries, as well as PlayerAbilityLib (which is a new dependency of FallFlyingLib)
They are bundled inside the mod, no need to download anything in addition!
- Updated Brazilian Portuguese translation (thanks lostopkk)
- Updated Polish translation (thanks SpiderKolo)
- Added new resource bar files made by JustHuangHere
Notes
-
An additional content update will follow.
-
The main focus of this update was extracting the power part of Origins as well as some common systems (such as the serializable data system) into separate library mods. That's why it took so long.
-
I tried to keep everything compatible with old worlds and datapacks. However, there might still be bugs. Please make sure to backup your world before updating! I won't be responsible for any damage caused to your world files.
-
New power types, conditions, etc, will now be part of Apoli, not Origins. I'm still unsure how to present this in the patch notes.
-
While datapacks generally should work, add-ons will not work out-of-the-box, due to internal changes and the update to 1.17. Please be patient with add-on developers while they update their mods!
- Removed accidentally included test origin
- Updated Spanish translations (thanks Golder06)
- Updated Turkish translation (thanks Efimity)
- Added missing link to the issue tracker in the mod metadata
- Added
origin getcommand which retrieves the origin of a player in a certain layer, e.g.origin get Apace origins:origin
- Fixed
prevent_block_selectioncrashing when no condition is provided - Fixed
damage_over_timealways using an interval of 20 ticks, regardless of what is specified - Fixed
modify_player_spawnfalsely reading thedimension_distance_multiplieras an integer - Fixed
origin setcommand not calling the "onChosen" callback (fixes players being set to Elytrian while wearing heavy armor not unequipping said armor) - Changed FallFlyingLib to use the new host - should allow add-ons to grab Origins as a dependency again without much trouble (thanks MerchantPug)
- Fixed resource/cooldown bars rendering below vanilla overlays
- Fixed
apply_effectaction executing on the client - Fixed a bug where
modify_xp_gainwould apply inconsistently - Fixed
modify_projectile_damagewith damage reduced to 0 or less still applying a hit - Fixed players with an Elytra power showing both their cape and the Elytra
- Fixed players with the
ignore_waterpower not being targeted by Drowned, or being able to receive the conduit power.
- Cloned Spanish translation to other Spanish country codes
- Updated Turkish translation (thanks Efimity)
Fixes
- Fixed
auto_choosein layers not working if the layer came directly after a layer with 0 possible options - Fixed
restrict_armorpowers disabling all armor for slots where the power didn't specify a condition (instead of allowing all armors in those slots) - Updated dependencies, fixes the freeze on world generation experienced when using Origins with Fabric API 0.34.0
- Made resource bars render below other HUD elements (such as the chat)
- Fixed actions on modifying powers being fired even when the modification doesn't apply due to a condition
Translations
- Added Polish translation (thanks RDKRACZ)
- Added Indonesian translation (thanks typhoic)
- Updated Spanish translation (thanks Golder06)
- Updated Korean translation (thanks 스넵_란)
- Updated Russian translation (thanks Yuvental)
- Fixed English translation having periods at the end of death messages
Gameplay Changes
- Avians now lay eggs in the morning!
-
Merlings now are also faster when swimming vertically, but their underwater speed boost was nerfed from to +150% (from +200%). However, depth strider affects them now.
-
Merlings now also gain air from potions, not just water bottles.
-
Enderians and Blazeborn now take damage from drinking potions (due to being vulnerable to water).
Datapack Additions
-
Added power types:
ignore_water,modify_projectile_damage,action_on_wake_up,prevent_block_use,prevent_death,action_on_item_use -
Added entity actions:
set_fall_distance,give,equipped_item_action,play_sound,trigger_cooldown -
Added entity conditions:
climbing,tamed,gamemode,using_item,moving,enchantment -
Added block action:
execute_command -
Added block condition:
exposed_to_sky,light_level -
Added
set_spawn_pointfield toprevent_sleeppower type which specifies whether the spawn point will be set even when the power prevents sleeping -
Added
biomefield tomodify_player_spawn -
Added entity action fields to the damage modifying power types (this allows you to negate damage but still execute actions!)
-
Added
setboolean field toadd_velocityaction, which, when true, will make the action set the desired velocity instead of adding onto the current velocity of the entity -
Added
min_actionandmax_actionfields toresourcepower type, which will execute when the resource reaches its min or max value, respectively -
The asterisk
*can now be used in power files where an identifier is specified, both in the namespace to specify the current namespace, and in the path to specify the current path (not including the sub-power, if currently in sub-power). -
Origin icons can now specify a full item stack (with nbt data in
tag!) -
Origin layers have two new fields:
default_originandauto_choose. The origin specified indefault_originwill automatically be set by the game, no matter which other origins are in the layer. When you use an orb however, default origins will not apply and you are free to choose any origin in the layer.auto_chooseis a boolean (false by default), which specifies whether the game will automatically pick an origin for the player if there is only one available option. This will also apply when an orb is used.
Minor Changes
-
Made origin JSON files use serializable data system.
-
powersarray in origin data is now optional. -
Made
consumeitem action have a defaultamountof 1. -
Exposed method for registering keybindings for powers to use for third-parties (e.g. add-ons)
Bug Fixes
-
Fixed Arachnid climbing not behaving correctly when holding onto walls/cobwebs
-
Fixed tags not applying correctly to spawned entities in
fire_projectilepowers andspawn_entityactions -
Fixed
action_on_landtriggering when just standing on ground and also only triggering on client-side -
Fixed explosive projectiles (fireballs etc) stopping in air after some time when
fire_projectileis used to shoot them -
Fixed
action_on_block_breakcrashing when no block condition is provided -
Added
minecraft:barriertoorigins:unphasabletag -
Fixed bug where the depth strider enchantment would override
modify_swim_speedpowers -
modify_swim_speednow also affects vertical swimming -
Fixed resource command not working on cooldown powers
-
Fixed origin upgrades applying already when only one criterion of the specified advancement is fulfilled
Translations
-
Added Hebrew translation (thanks nate_lev)
-
Added Korean translation (thanks Snap_lan)
- Updated Chinese translation (thanks Neubulae)

