Origins

Origins

Mod

Players choose an Origin at the beginning of the game to gain benefits and drawbacks

Client and server Adventure

432.8k downloads
766 followers
Created3 years ago
Updated10 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.
Filter loader...
Filter versions...

[O] marks the changes in Origins, while [A] and [C] marks the changes in its underlying Apoli and Calio version respectively.

Changes

  • [O] Changed Elytrian's Brittle Bones power to check for a new damage type tag: origins:kinetic.
  • [A] Slightly changed the implementation of the invisibility power type to be more optimized and compatible with other mods.

Fixes

  • [A] Fixed overlay power type rendering over screens.
  • [A] Fixed model_color power type not respecting invisibility.
  • [C] Worked around issue with the SerializableDataTypes.DIMENSION data type throwing a false error on world creation if a vanilla dimension is specified (fixes the modify_player_spawn power type.)

[O] marks the changes in Origins, while [A] marks the changes in its underlying Apoli version.

Changes

  • [O](#728) Changed Feline's Acrobatics power to check for the minecraft:is_fall damage type tag.
  • [O] Changed Enderian's Scared of Gourds power to use item tags;
    • origins:pumpkin_like/food, for preventing consumption of pumpkin-like food items (e.g: pumpkin pie.)
    • origins:pumpkin_like/equipment, for hiding entities wearing pumpkin-like equipment items (e.g: carved pumpkin.)

Fixes

  • [O](#741) Fixed badges of sub-powers being offset (in the -Y axis) at the wrong time.
  • [O] Fixed tooltip for Enderian's Scared of Gourds power not using the appropriate translation key.
  • [O] Fixed Enderian's Scared of Gourds power hiding the Enderian in its own POV when wearing a pumpkin-like equipment item.
  • [A] Fixed issue with sub-powers being disabled when overridden (via loading priority) in a multiple power.

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_listener power type.
  • [A] Fixed modify_attribute power type not modifying modded attributes (for real this time.)
  • [A] Fixed *_item_pickup power type not working for non-player entities.
  • [A] Fixed exposed_to_sun entity condition type not working properly.
  • [A] Fixed light_level block condition type not account for the world's ambient darkness if light_type not specified.
  • [A] Fixed name damage condition type not properly accounting for legacy damage sources.
  • [A] Fixed desync issue when dismounting from a player.
  • [A] Fixed contents of inventory power 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 damage entity/bi-entity action types.
  • [A] Fixed unreliable behavior of action_on_callback power type in certain cases.
  • [A] Fixed entity_set power type keeping UUIDs of entities that have been discarded.
  • [A] Fixed *_hit power 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.

[O] marks the changes in Origins while [A] marks the changes in the underlying Apoli version.

Changes

  • [A] Simplified implementation of modify_food power type for making items always edible.
  • [A] Simplified implementation of modify_grindstone power type.
  • [A] Added support for * (current namespace/path) in REGEX_MAP data type (used by the replace_loot_table power type.)

Fixes

  • [A] Fixed condition logic in replace_loot_table power type.
  • [A] Fixed edible_item power type not working on items usable on blocks.
  • [A] Fixed exposed_to_sky and brightness entity condition types not accounting for the world's ambient darkness (in most cases.)
  • [A] Fixed modify_enchantment_level power type not working on empty item stacks (in some cases.)
  • [O] Fixed origin entity condition type crashing the game by specifying an origin layer that 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_remove bi-entity action of the entity_set power type is only being called when removing a temporary entity from an entity set.
  • [A] Fixed entity_set power 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_table power type ignoring block conditions.
  • [A] Fixed potential issues with the inventory power type.
  • [O] Fixed result stack of recipe badge tooltips not being modified by a power that uses the modify_crafting power 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 burn power type ignoring conditions.
  • [A] Fixed fire_projectile power type not accepting zero value in its interval and start_delay fields.
  • [A] Fixed entity_set power type not executing its action_on_remove bi-entity action upon removing entities from an entity set.

Warning

Item actions have been changed to operate on a Pair<World, StackReference> instead of a Pair<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_place and prevent_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 /power sub-command: /power dump
  • [O] Added compatibility to Carpet's fake players in the /origin command

Changes

  • [A] The hud_render field of powers can now accept an object or an array of objects
  • [A] Made the prevent_entity_collision power type work for entities with solid collision
  • [A] Made the particle power type and spawn_particles entity 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_attribute power type
  • [A] Fixed spawnpoint of players not persisting upon being set
  • [A] Fixed moving entity 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_callback power type are now only executed if the entity condition specified in the condition field 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_priority value higher than the loading_priority specified 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_time power type not properly accounting for when a power is active for the first time or no longer active.
  • [A] Fixed the prevent_item_use power type ignoring the entity condition specified in the condition field of a power.
  • [A] Fixed the game_event_listener power 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_table entity action type closing upon the player moving.
  • [A] Fixed items that are used on release (e.g: crossbow) not being consumed via the edible_item power 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_table power 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_level power type.
  • [A] Fixed a crash issue caused by the nbt item condition type.
  • [A] Fixed a crash issue caused by the predicate entity condition type being provided a null random identifier.
  • [A] Fixed a crash issue caused by the attribute and other related power types trying to re-apply/remove already applied/removed attribute modifiers.
  • [A] Fixed a translation error in the /power revoke command.
  • [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 an ItemStack, 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 invisibility power type has a new field: bientity_condition.
  • [A] The *_advancement entity action types has three new fields: criteria, criterion and selection
  • [A] The raycast entity action/condition types has new fields: block_distance, entity_distance, direction, space.
  • [A] The owner bi-entity condition type now works for other ownable entities.
  • [A] The prevent_sleep power type has a new field: priority.
  • [A] Multiple powers that use the overlay power type now works at the same time.
  • [A] The damage entity/bi-entity action types have new fields: modifier and modifiers.
  • [A] The /power clear command now targets the entity that invoked the command if no selector is specified.
  • [A] The modify item action type now has more loot context for certain item modifiers to work properly.
  • [A] The item_on_item power type has a new field: click_type.
  • [A] The way how usability hints of the prevent_item_use power 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_velocity actions adding velocity in wrong directions (thanks @halbrg)
  • [A] Made multiple power type ignore fields starting with $, as those are considered JSON meta fields (thanks @S-K-Tiger)
  • [A] Made destruction_type field in explode actions backwards compatible and fixed explode actions 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_collision entity condition now has a block_condition field (thanks @eggohito)
  • [A] particle power type has new fields: visible_while_invisible, count, spread, offset_y (thanks @Dahminh)
  • [A] replace_inventory entity action has new field merge_nbt (thanks @eggohito)
  • [A] drop_inventory entity action has new field amount (thanks @eggohito)
  • [A] Added entity condition: glowing (thanks @LimonBlaze)
  • [A] invisibility power type has new field render_outline which 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] invisibility power type does not completely cancel rendering anymore when render_armor is false (thanks @LimonBlaze)
  • [A] (Internal/technical) Active.Key objects are now comparable, added hashCode and equals method (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)

External resources



Project members

Apace

Owner

eggohito

Maintainer


Technical information

License
MIT
Client side
required
Server side
required
Project ID