Fixes
- Fixed badges of sub-powers from multiple powers not being hidden if the multiple power has defined badges.
[O] marks the changes in Origins, while [A] and [C] marks the changes in its underlying Apoli and Calio versions respectively.
Changes
- [A] Tweaked mod compatibility of certain power types.
- [A] Made power names/descriptions translatable by default.
- [A] Improved searching logic of legacy damage sources.
- [A] Added missing translation keys for Apoli's config.
- [C] Made registry key data types validate.
- [C] Made tag data types validate.
- [C] Made tag-like data types validate.
Fixes
- [O] Fixed origin layers ignoring its specified title.
- [O] Fixed issue with badge tooltips and multiple powers; the badge tooltips that corresponds to its sub-powers are now rendered properly.
- [A] Fixed issue when preventing modified damage that deals 0 or less damage to entities.
- [A] Fixed issues with
game_event_listenerpower type. - [A] Fixed
modify_attributepower type not modifying modded attributes (for real this time.) - [A] Fixed
*_item_pickuppower type not working for non-player entities. - [A] Fixed
exposed_to_sunentity condition type not working properly. - [A] Fixed
light_levelblock condition type not account for the world's ambient darkness iflight_typenot specified. - [A] Fixed
namedamage condition type not properly accounting for legacy damage sources. - [A] Fixed desync issue when dismounting from a player.
- [A] Fixed contents of
inventorypower type not being synced to the client in certain cases. - [A] Fixed item action types not properly resetting its item stack if it's empty.
- [A] Fixed faulty logic in the
damageentity/bi-entity action types. - [A] Fixed unreliable behavior of
action_on_callbackpower type in certain cases. - [A] Fixed
entity_setpower type keeping UUIDs of entities that have been discarded. - [A] Fixed
*_hitpower types not working on certain vanilla entities.
Changelogs
Make sure to check Calio, and Apoli's changelog as well for more details on the changes.
- Apoli:
v2.11.6 - Calio:
v1.13.1 - Origins:
v1.12.4...v1.12.5
[O] marks the changes in Origins while [A] marks the changes in the underlying Apoli version.
Changes
- [A] Simplified implementation of
modify_foodpower type for making items always edible. - [A] Simplified implementation of
modify_grindstonepower type. - [A] Added support for
*(current namespace/path) inREGEX_MAPdata type (used by thereplace_loot_tablepower type.)
Fixes
- [A] Fixed condition logic in
replace_loot_tablepower type. - [A] Fixed
edible_itempower type not working on items usable on blocks. - [A] Fixed
exposed_to_skyandbrightnessentity condition types not accounting for the world's ambient darkness (in most cases.) - [A] Fixed
modify_enchantment_levelpower type not working on empty item stacks (in some cases.) - [O] Fixed
originentity condition type crashing the game by specifying an originlayerthat doesn't exist.
Apoli changelog: v2.11.5
Origins full changelog: v1.12.3...v1.12.4
[A] marks the changes in the underlying Apoli version.
Fixes
- [A] Fixed oversight where the
action_on_removebi-entity action of theentity_setpower type is only being called when removing a temporary entity from an entity set. - [A] Fixed
entity_setpower type ticking temporary entities inconsistently.
Apoli changelog: v2.11.4
[O] marks the changes in Origins while [A] marks the changes in the underlying Apoli version.
Fixes
- [A] Fixed
replace_loot_tablepower type ignoring block conditions. - [A] Fixed potential issues with the
inventorypower type. - [O] Fixed result stack of recipe badge tooltips not being modified by a power that uses the
modify_craftingpower type. - [O] Fixed concurrent modification crash edge-case issue when removing disabled powers from origins on server (re)load.
Apoli changelog: v2.11.3
Origins changelog (full): v1.12.1..v1.12.2
[O] marks the changes in Origins while [A] marks the changes in the underlying Apoli version.
Fixes
- [O] Fixed badges not appearing in the origin screen caused by badges not being synced to the client.
- [A] Fixed
burnpower type ignoring conditions. - [A] Fixed
fire_projectilepower type not accepting zero value in itsintervalandstart_delayfields. - [A] Fixed
entity_setpower type not executing itsaction_on_removebi-entity action upon removing entities from an entity set.
Warning
Item actions have been changed to operate on aPair<World, StackReference>instead of aPair<World, ItemStack>, so if you're an addon developer and your addon implements an item action type, please read this migration guide for the steps for migrating and for more information.
[O] marks changes in Origins, [A] marks changes in the underlying Apoli version.
Thanks to @MerchantPug for contributing!
Additions
- [A] New power types related to placing blocks:
action_on_block_placeandprevent_block_place - [A] New power type:
entity_set - [A] New entity action type:
revoke_all_powers - [A] New entity action type:
remove_power - [A] New entity action type:
random_teleport - [A] New bi-entity action type:
add_to_set - [A] New bi-entity action type:
remove_from_set - [A] New bi-entity condition type:
in_set - [A] New block action type:
spawn_entity - [A] New
/powersub-command:/power dump - [O] Added compatibility to Carpet's fake players in the
/origincommand
Changes
- [A] The
hud_renderfield of powers can now accept an object or an array of objects - [A] Made the
prevent_entity_collisionpower type work for entities with solid collision - [A] Made the
particlepower type andspawn_particlesentity action type consistent with vanilla - [A] Changed the default resource bar sprite sheet for backwards compatibility
Fixes
- [A] Fixed an exception being thrown on the client when syncing a power in certain edge-cases
- [A] Fixed application/removal of attribute modifiers of powers that use the
conditioned_attributepower type - [A] Fixed spawnpoint of players not persisting upon being set
- [A] Fixed
movingentity condition type not working reliably - [A] Fixed worn armor not being damaged upon taking damage
- [O] Fixed untranslated "can't sleep" message for the Avian origin
- [O] Fixed issue when syncing origins from S2C
- [O] Fixed hidden origin layers not being hidden
More information
Make sure to read Apoli and Calio's changelogs, as it contains more information compared to this release note, which is only a condensed version.
Origins full changelog: https://github.com/apace100/origins-fabric/compare/v1.11.3...v1.12.0
Apoli changelog: v2.11.0
Calio changelog: v1.13.0
[O] denotes the changes made in Origins, [A] denotes the changes in the underlying Apoli version, and [C} denotes the changes in the underlying Calio version.
Changes
- [A][O] Entity actions specified in a power that uses the
action_on_callbackpower type are now only executed if the entity condition specified in theconditionfield of a power is fulfilled or absent. - [C] Added support for
*(current namespace/path) in tag-like data type. - [C] Added methods to tag-like data type for clearing all its tags/entries and adding all the tags/entries of another tag-like.
- [C] The item stack from the item stack data type is now instantiated using the specified item's default stack getter.
- [A] Global power sets can now merge and be replaced. In order to replace or add onto a global power set that has already been replaced, a
loading_priorityvalue higher than theloading_priorityspecified in the replacement global power set must be specified. - [A] Bi-entity action/condition types are now null-safe, where it now stops early/evaluates to false if neither the actor or target exist.
- [O] Added support for
*(current namespace/path) in origin layers. - [O] The contents of the origin screen now looks more seamless.
- [O] The logic for determining whether a player has selected origins in all origin layers now account for origin layers that do not have any options (e.g: if an origin layer automatically chooses an origin conditionally and if that condition is not fulfilled).
Fixes
- [C] Functioned default data fields in a serializable data are now written/read to/from buffers properly.
- [C] Presence check of functioned default data fields from a serializable data is now done properly.
- [A] Fixed ticking implementation of the
action_over_timepower type not properly accounting for when a power is active for the first time or no longer active. - [A] Fixed the
prevent_item_usepower type ignoring the entity condition specified in the condition field of a power. - [A] Fixed the
game_event_listenerpower type executing the bi-entity action on the owner of the entity that emitted the game event (which is the case if the said entity is a projectile), instead of the entity that emitted the game event. - [A] Fixed the crafting interface opened via the
crafting_tableentity action type closing upon the player moving. - [A] Fixed items that are used on release (e.g: crossbow) not being consumed via the
edible_itempower type.
Origins changelog (full): https://github.com/apace100/origins-fabric/compare/v1.11.2...v1.11.3
Apoli changelog: https://github.com/apace100/apoli/releases/tag/v2.10.3
Calio changelog: https://github.com/apace100/calio/releases/tag/v1.12.2
[O] marks changes in Origins, [A] marks changes in the underlying Apoli version.
Changes
- [A] Made modifiers serialize to JSON
- [A] Regular expression patterns specified in the
replace_loot_tablepower type is now pre-compiled, reducing the overhead from re-compiling it every time it replaces a loot table. - [A] Used testing resource bar sprite sheet as the default resource bar sprite sheet.
- [O] Extra icons of resource bars have been aligned.
Fixes
- [A] Fixed enchantments not working caused by the
modify_enchantment_levelpower type. - [A] Fixed a crash issue caused by the
nbtitem condition type. - [A] Fixed a crash issue caused by the
predicateentity condition type being provided anullrandom identifier. - [A] Fixed a crash issue caused by the
attributeand other related power types trying to re-apply/remove already applied/removed attribute modifiers. - [A] Fixed a translation error in the
/power revokecommand. - [A] Fixed addition and removal of sub-powers of a multiple power when syncing.
- [O] Fixed origin name widget not being refreshed upon resizing the screen.
Fixes
- Fixed crash issue with Calio not including QuiltMC's JSON parser.
Item conditions have been changed to evaluate an
Pair<World, ItemStack>instead of anItemStack, so if you're an addon developer and your addon implements an item condition type, make sure to change how you're registering your item condition types and evaluating its result to match this change.
[O] marks changes in Origins, [A] marks changes in the underlying Apoli version.
Thanks to @Silent04, @MerchantPug and @ThatRobin for their contributions!
Additions
- [O] (#670) Added new badges.
- [A] New item condition type:
fuel. - [A] New power type;
modify_enchantment_level. - [A] New power type:
game_event_listener. - [A] New entity condition types related to the weather:
in_rain,in_thunderstorm. - [A] New power type:
action_on_death. - [A] New block condition type:
command. - [A] New damage condition type:
type - [A] New power type:
edible_item.
Changes
- [O][A] Updated to 1.20.2
- [O][A] Migrated to Fabric's object-based packet networking API
- [O] Keybind badges now shows the ID of its specified keybind if the keybind is either not bound or does not exist.
- [O] Origins and origin layers are now synced on reload. This allows for reloading the data of origins upon
/reload-ing or removing origins that no longer exists from players. - [O] Players are now only invulnerable when currently choosing an origin, instead of when not having all origins.
- [O] Badges and power names are now wrapped if there's too many badges or if the power name is too long.
- [A] The
invisibilitypower type has a new field:bientity_condition. - [A] The
*_advancemententity action types has three new fields:criteria,criterionandselection - [A] The
raycastentity action/condition types has new fields:block_distance,entity_distance,direction,space. - [A] The
ownerbi-entity condition type now works for other ownable entities. - [A] The
prevent_sleeppower type has a new field:priority. - [A] Multiple powers that use the
overlaypower type now works at the same time. - [A] The damage entity/bi-entity action types have new fields:
modifierandmodifiers. - [A] The
/power clearcommand now targets the entity that invoked the command if no selector is specified. - [A] The
modifyitem action type now has more loot context for certain item modifiers to work properly. - [A] The
item_on_itempower type has a new field:click_type. - [A] The way how usability hints of the
prevent_item_usepower type is displayed has been changed. - [A] HUD renders has a new field:
icon_index.
Fixes
- [A] A couple of bug fixes.
More information
Make sure to read the Apoli release notes, as they contain more detailed information, whereas this list is just a condensed version.
Full changelog: https://github.com/apace100/origins-fabric/compare/v1.10.0...v1.11.0
Updated to support 1.20 and 1.20.1.
Thanks @halbrg, @eggohito and @MerchantPug for updating Origins' dependencies and new Apoli features and fixes.
Read more about Apoli changes in the Apoli 2.9.0 changelog.
The above changelog should be read by datapack developers due to deprecation of the material block condition.
Players using a lot of mods and upgrading their world to 1.20 should also read the above notice and make use of the material tag generation tool.
- Updated Turkish translation (thanks BoranYEET on Discord)
- Added missing, new translation keys to all language files
- Updated the mod dependency metadata, which fixes unexpected crashes when using outdated FAPI versions
Note to add-on (not datapack) developers: this build currently includes a locally built version of ReachEntityAttributes which has updated mod metadata to allow it to run on 1.20. This means your gradle build script will not be able to resolve the dependency. You can build this JAR from this fork and publish it to your local maven for development.
[O] marks changes in Origins, [A] marks changes in the underlying Apoli version.
Thanks to BiFT, ThatRobin, eggohito, Dahminh, and diamonddevv for their contributions (listed in no particular order).
Additions
[O] Added Ukrainian translation (thanks BiFT#3428 on Discord)
[A] New power type: grounded
[A] New entity actions: grant_advancement, revoke_advancement, selector_action
[A] New block action: area_of_effect
[A] New damage condition: in_tag
[A] Global powers
Changes
[O] Updated to 1.19.4
[A] Damage sources have been deprecated in favor of damage types. If you create datapacks, read more about this change here.
[A] action_on_item_use has two new fields: trigger and priority
[A] projectile damage condition has a new field: projectile_condition
[A] enchantment item condition will now check for the total amount (not level) of enchantments on the item if the enchantment field isn't specified
[A] modify_food power type now supports Apoli's custom modifiers
[A] /power command has been reworked
[A] mixin.entity.collisions.suffocation is now automatically disabled if Lithium is installed, preventing problems with phasing
[A] high_humidity and precipitation biome conditions may behave differently than before, due to irreconcilable Vanilla changes
Bug Fixes
[A] A few bug fixes.
More information
Make sure to read the Apoli release notes, as they contain more detailed information, whereas this list is just a condensed version.
[O] marks changes in Origins, [A] marks changes in the underlying Apoli version.
Changes
- [O] Added Orb of Origin to the Tools & Utilities creative tab (thanks @halbrg)
- [A] Fixed
add_velocityactions adding velocity in wrong directions (thanks @halbrg) - [A] Made
multiplepower type ignore fields starting with$, as those are considered JSON meta fields (thanks @S-K-Tiger) - [A] Made
destruction_typefield inexplodeactions backwards compatible and fixedexplodeactions crashing
[O] marks changes in Origins, [A] marks changes in the underlying Apoli version.
@-mentions are GitHub usernames. Thanks to all contributors!
Additions
- [O] Added Finnish translation (thanks @Maxmani)
- [A]
block_collisionentity condition now has ablock_conditionfield (thanks @eggohito) - [A]
particlepower type has new fields:visible_while_invisible,count,spread,offset_y(thanks @Dahminh) - [A]
replace_inventoryentity action has new fieldmerge_nbt(thanks @eggohito) - [A]
drop_inventoryentity action has new fieldamount(thanks @eggohito) - [A] Added entity condition:
glowing(thanks @LimonBlaze) - [A]
invisibilitypower type has new fieldrender_outlinewhich allows control over whether glowing outlines are visible (thanks @LimonBlaze)
Changes
- [O] Updated to 1.19.3 (thanks @halbrg)
- [O] Updated Korean translation (thanks @Snaplan)
- [A]
invisibilitypower type does not completely cancel rendering anymore whenrender_armoris false (thanks @LimonBlaze) - [A] (Internal/technical)
Active.Keyobjects are now comparable, addedhashCodeandequalsmethod (thanks @MerchantPug)
Fixes the bug of powers not loading when using Quilt instead of Fabric.
Should work on 1.19.1 and 1.19.2.
- [O] /origin command now has a "random" sub-command to randomize a player's origin (thanks eggohito)
- [O] /origin command now only shows origins available on the selected layer (thanks eggohito)
- [A] Fix crash on 1.19.1/1.19.2 with command execution (thanks seeruk)
- [A] Fix incompatibility with Fluidlogged by (thanks Leximon)
[O] denotes changes to Origins, while [A] denotes changes to Apoli, which has been updated to 2.5.1.
- [O] Fixed shaped recipe badges not showing correctly
- [O] Fixed incorrect translation keys for the empty origin (thanks Golder06)
- [O] Updated Spanish translation (thanks Golder06)
- [O] Updated Russian translation (thanks CoringPlay)
- [O] Updated Brazilian Portuguese translation (thanks rwmb)
- [A] Fixed
modify_swim_speedandmodify_lava_speednot supporting conditions - [A] Fixed meta conditions crashing for biome condition types
- [A] Fixed tooltip from
prevent_item_usehaving no translation for goat horn tooting - [A] Fixed
item_actioninreplace_inventoryaction not applying to the replacedstack - [A] Fixed damage modifying powers not applying to players when original source did not deal damage
- [A] Fixed
modify_projectile_damagenot applying to all types of projectiles
Fixed dedicated servers crashing on startup.

