Skip to content

Releases: apace100/origins-fabric

Origins 1.13.0-alpha.10 (Minecraft 1.21.1)

01 Dec 12:06
ff49da9
Compare
Choose a tag to compare

Warning

Power/action/condition types and actions/conditions have been overhauled in this update. There is currently no documentation, but you can check out PR apace100/apoli#254, or take a look at the codebase of Apoli 2.12.0-alpha.13 as a reference

Additions

  • [calio] [For addon developers] Added SerializableDataType#validateValue method for validating the operand type
  • [apoli] Added legacy aliases for meta condition types;
    • and --> all_of
    • or --> any_of
    • chance --> random_chance

Changes

  • [calio] [For addon developers] Deprecated SimpleDataObjectFactory in favor of using DataObjectFactory directly via DataObjectFactory#simple
  • [calio] [For addon developers] Renamed SerializableDataTypeList class to ListSerializableDataType
  • [calio] [For addon developers] Renamed FunctionedFieldImpl class to FunctionedDefaultFieldImpl
  • [calio] [For addon developers] Renamed OptionalFieldImpl class to DefaultedFieldImpl
  • [calio] [For addon developers] Renamed Field#path method to Field#name
  • [calio] [For addon developers] Tweaked field presence check logic in SerializableData$Instance to ensure that the default value of fields are only checked if the field doesn't have a defined value
  • [calio] [For addon developers] Separated setting of defaulted and functioned default fields of SerializableData$Instance (when decoding) to avoid nullability issues with functioned default fields relying on defaulted fields
  • [apoli] Made the *_inventory action/condition types use slot ranges (e.g: hotbar.*, armor.*, etc.)
  • [apoli] Made the keep_inventory power type use slot ranges (e.g: enderchest.*, inventory.*, etc.)
  • [apoli] Renamed the simple power type to dummy (and added its old name as an alias)
  • [apoli] Renamed the active_self power type to action_on_key_press (and added its old name as an alias)
  • [apoli] Renamed some meta condition types (and added their old name as an alias)
    • and --> sequence
    • chance --> random_chance
  • [apoli] [For addon developers] Added PowerUtil, a utility class for modifying/querying resource values, and validating if a power type is considered a resource
  • [apoli] [For addon developers] Made container type an interface. There's also a new registry, ApoliRegistries#CONTAINER_TYPE, where addons can register their container types to be used by the inventory power type. Currently, there are two types of container type:
    • Preset container type, which re-uses a screen handler/screen of a pre-existing container
    • Dynamic container type, which has definable rows, columns, title alignment, and texture via data; also has its own screen handler/screen (currently incomplete and unsupported)
  • [apoli#254] [For addon developers] Overhauled power/action/condition (types);
    • Power/action/condition types no longer use type factories, but type configurations (that has its ID (via TypeConfiguration#id), and its TypedDataObjectFactory (via TypeConfiguration#dataFactory), which is an extension to Calio's DataObjectFactory that contains a CompoundSerializableDataType)
    • Power/action/condition types now use a similar structure for consistency
    • Actions/conditions now have their own classes (e.g: EntityAction instead of Consumer<Entity> or ActionTypeFactory.Instance)

Fixes

  • [apoli] Fixed the amount field of modifiers being prioritized over the resource field (it should be the other way around)
  • [apoli] Fixed /power remove command and revoking powers in general
  • [apoli] Fixed NullPointerException issue (crash) when checking for power types in entities
  • [apoli] Fixed action_on_item_pickup power type not properly executing its actions
  • [apoli] Fixed inventory power type giving ghost items when the power is lost
  • [apoli] Fixed in_entity_set bi-entity condition type causing a crash when either the actor or target do not exist
  • [apoli] Fixed relative_health entity condition type using an integer type for its compare_to field instead of a floating point value type
  • [origins] Fixed origin layers (aside from the base origin layer) not being visible when viewing

Origins 1.13.0-alpha.9 (Minecraft 1.21.1)

02 Oct 18:03
cf82b50
Compare
Choose a tag to compare

Warning

Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#file-alpha_9-md for more details about this update!

Additions

  • [calio] Added new data types related to recipes:
    • SerializableDataTypes#RECIPE_SERIALIZER for recipe serializers.
    • SerializableDataTypes#RECIPE_ENTRY for recipe entries.

Changes

  • [calio] Changed SerializableDataTypes#RECIPE to actually reflect recipes instead of recipe entries.
  • [apoli#247] Crafting recipes defined in powers are now visible in the recipe book.
  • [apoli] Fields that accept an action type can now accept an array as a shorthand for using the and meta action type.
  • [apoli] Renamed the following meta condition types for consistency with vanilla:
    • chance --> random_chance
    • and --> all_of
    • or --> any_of
  • [apoli] The slot parameters of the has_power and power_count item condition types are now optional.
  • [apoli] The apoli:powers item component will no longer error when a non-existent power is defined.
  • [apoli] Power names/descriptions can now be translated with the respective power.<namespace>.<path>.name/description translation keys, even when not using the translate JSON text component.
  • [origins] The origins:origin item component will no longer error when a non-existent power is defined.
  • [origins] Origin names/descriptions can now be translated with the respective origin.<namespace>.<path>.name/description translation keys, even when not using the translate JSON text component.
  • [origins] Origin layer names can now be translated with the layer.<namespace>.<path>.name translation key, even when not using the translate JSON text component.
  • [origins] Removed OriginRegistry in favor of integrating its functionality to OriginManager.

Fixes

  • [calio] Fixed eat_seconds parameter of food components (aka. encoded/decoded via the SerializableDataType#FOOD_COMPONENT data type) accepting a non-zero positive floating point value instead of non-negative floating point value.
  • [calio] Fixed ingredients (aka. decoded/encoded via the SerializableDataTypes#INGREDIENT data type) unable to be sent to the client.
  • [calio] Fixed enum data types (aka. data types using SerializableDataType#enumValue) being case-sensitive when checking for matching additional values.
  • [apoli] Fixed crash caused by encoding global power sets.
  • [apoli] Fixed some aspects of global power sets (e.g: order) being replaced when merging.
  • [apoli] Fixed minor issue with printing JSON as text where JSON keys with null values are being printed (affects the /power dump command.)
  • [apoli] Fixed determining logic in the game_event_listener power type used for determining whether a game event should be accepted.
  • [apoli] Fixed on_block entity condition type incorrectly evaluating a block at the wrong position.
  • [apoli] Fixed crash caused by the modify_projectile_damage power type.
  • [apoli] Fixed spawn_particles entity action type miscalculating its spread.
  • [apoli] Fixed default translatable text (aka. the ApoliDataTypes#DEFAULT_TRANSLATABLE_TEXT data type) not being translatable by default.
  • [origins] Attempt to fix crash(?) with Merling's Water Breathing power (e.g: when drying out.)
  • [origins] Fixed some aspects of origin layers (e.g: name, order, gui_title, etc.) being replaced when merging.

Origins 1.13.0-alpha.8 (Minecraft 1.21)

30 Aug 09:58
8c59353
Compare
Choose a tag to compare
Pre-release

Fixes

  • [origins] Fixed powers of origins not being granted/revoked properly.

Changes

  • [apoli] The name of sub-powers is now validated before the sub-power itself is parsed.
  • [apoli] The modify_type_tag power type can now account for when the defined tag in the power is included in a child tag of the tag being checked.

Origins 1.13.0-alpha.7 (Minecraft 1.21)

30 Aug 00:53
3f800d6
Compare
Choose a tag to compare
Pre-release

Warning

Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#file-alpha_7-md for more details about this update!

Additions

  • [calio] Added SerializableDataTypes#NBT_ELEMENT for encoding/decoding general NBT elements.

Fixes

  • [calio] Fixed registry key data types ignoring the defined exemptions; subsequently, this also fixed issues (again) such as vanilla dimension registry keys (e.g: minecraft:overworld, minecraft:the_nether, minecraft:the_end) not being recognized on the first time the world has been loaded.
  • [calio] Fixed wrapping of inputs/outputs in StrictListCodec<T>.
  • [apoli] Fixed sub-powers being decoded first before its Fabric resource conditions are evaluated (it should be evaluating the resource condition first.)
  • [apoli] Fixed some action/condition types using the wrong IDs. This affected the following types:
    • modify_status_effect_duration power type (it used modify_status_effect_amplifier.)
    • riding_action entity action type (it used passenger_action.)
    • air entity condition type (it used food_level.)
  • [apoli] Fixed fire_projectile entity action/power types having inconsistent implementations.
  • [apoli] Fixed if_else meta action type causing a crash if the optional else_action field is not present.
  • [apoli] Fixed advancement entity condition type not working properly.
  • [apoli] Fixed target_action bi-entity action type executing on the 'actor' in a bi-entity context.
  • [apoli] Fixed how the biome entity condition type is evaluated.
  • [apoli] Fixed attacker damage condition type not accounting for when the attacker is non-existent like it used to.
  • [apoli] Fixed damage entity action type accepting an optional damage type when it should be required.
  • [origins] Fixed carnivores unable to consume Ominous Bottles.
  • [origins] Fixed temporary cobweb having an item when it shouldn't (the item was only accessible with commands.)

Changes

  • [calio] SerializableDataTypes#NBT has been renamed to SerializableDataTypes#NBT_COMPOUND.
  • [apoli] The modify_type_tag power type can now account for tags that may include the tag specified in the power.
  • [apoli] The damage entity/bi-entity action types now requires any of the amount, modifier or modifiers fields to be defined.
  • [apoli] The NBT structure of powers in entities has been changed for clarity and consistency with new NBTs in certain vanilla entities.
    • The Factory NBT has been renamed to type.
    • The Type NBT has been renamed to id.
    • The Sources NBT has been renamed to sources.
    • The Data NBT has been renamed to data.
  • [apoli] The /power revokeall <targets> <source> sub-command has been changed to /power revoke <targets> all <source>.

Origins 1.13.0-alpha.6 (Minecraft 1.21)

15 Aug 16:58
649da7b
Compare
Choose a tag to compare
Pre-release

Warning

There have been major changes in this update. Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#file-alpha_6-md for the details about this update!

Fixes

  • [apoli] Fixed issues with the 'on added/removed/gained/lost' power callbacks.
  • [apoli] Fixed restrict_armor power type only working partially, and preventing items from being quick-moved.
  • [apoli] Fixed modify_player_spawn power type disregarding previously set spawn points.
  • [apoli] Fixed issue with encoding the packet for show_toast entity action type.
  • [apoli] Fixed modify_food power type incorrectly calculating and assigning nutrition and saturation values.
  • [apoli] Fixed ingredients being duplicated when modifying crafting recipes with the modify_crafting power type.
  • [apoli] Fixed crash caused by the attribute entity condition type.
  • [origins] Fixed 'Conduit Power' status effect not being given to entities aside from players with the Merling origin.
  • [origins] Fixed origin invulnerability selection bypassing damage types included in the #minecraft:bypasses_invulnerability damage type tag.

Origins 1.13.0-alpha.5 (Minecraft 1.21)

21 Jul 11:21
b0a3631
Compare
Choose a tag to compare
Pre-release

Warning

There have been major changes in this update (and upcoming ones in future updates.) Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96 for more details!

Changes

  • Updated to 1.21.

Origins 1.13.0-alpha.4 (Minecraft 1.20.4)

01 Jul 18:38
d6ce45f
Compare
Choose a tag to compare

Additions

  • [apoli#225] Added duration and duration_on_use fields to the spawn_effect_cloud entity action type.
  • [apoli#227] Added sprinting power type.
  • [apoli#228] Added pose power type.
  • [apoli$234] Added prevent_entity_selection power type.

Changes

  • [apoli#223] Global power sets now support Fabric's resource conditions.
  • [origins#751] Origins and origin layers now support Fabric's resource conditions.

Fixes

  • [calio] Fixed issue with the SerializableDataTypes#RECIPE data type leniently parsing the recipe's ID and the recipe's serializer ID.
  • [apoli] Fixed *_when_hit power types causing a crash when executing/evaluating actions/conditions on the possibly non-existent attacker.
  • [apoli] Fixed issue with selecting entities by command tags (via the @e[tag = <tagName>] selector argument) added in the same tick.
  • [apoli] Fixed certain errors not being caught when reading sub-powers.
  • [apoli] Fixed inconsistent format of automatically-generated translation keys in power names and descriptions.
  • [origins] Fixed inconsistent format of automatically-generated translation keys in origins and origin layers.

Full changelogs

Origins 1.13.0-alpha.3 (Minecraft 1.20.4)

30 May 14:45
a24024b
Compare
Choose a tag to compare

Changes

  • [apoli#224] Renamed action/condition types related to entity sets.
  • [apoli] Powers that use the multiple power type can now be replaced entirely with loading_priority.

Additions

  • [apoli#192] Added show_toast entity action type.
  • [apoli#211] Added modify_fov power type.
  • [apoli#219] Added new item action/condition types related to item cooldowns:
    • modify_item_cooldown item action type.
    • item_cooldown item condition type.
    • relative_item_cooldown item condition type.
  • [apoli#226] Added entity_in_radius entity condition type.
  • [apoli#232] Added leash bi-entity action type.

Fixes

  • [apoli] Fixed a potential issue with re-using serializable data of objects when serializing power/action/condition type factories.
  • [origins] Fixed badges of overridden powers not being replaced.

Origins 1.13.0-alpha.2 (Minecraft 1.20.4)

29 May 06:07
9402f37
Compare
Choose a tag to compare

Changes

  • [origins#750] Made Phantom's Phasing power re-enable itself upon respawning.
  • [origins#755] Unhardcoded some powers of certain origins.

Additions

  • [apoli#180] Added has_command_tag entity condition type.
  • [apoli#186] Added compatibility with Appleskin.
  • [apoli#229] Added click_phases and priority fields to the item_on_item power type.
  • [apoli#231] Added usage_phases field to the *_block_use power types, and made them functionally consistent with the *_entity_use power types.

Fixes

  • [apoli] Fixed issues with powers that use the action_on_item_use power type not being triggered with the trigger "stop" or "during" if its priority value is less than 0.
  • [apoli] Fixed tamed entity condition type not working for certain entities.
  • [apoli] Fixed tame bi-entity action type not working for certain entities.

Origins 1.13.0-alpha.1 (Minecraft 1.20.4)

17 May 04:10
710a52a
Compare
Choose a tag to compare

Note

Origins will now be published to Ladysnake's maven. Please read this guide if you want to use the alpha/beta, and future (and old) release builds as a dependency.

Warning

The identifier aliasing system in Apoli has been refactored and moved to Calio. Please read the migration guide for steps on migrating, and for more information on the change.

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

Changes

  • [O][A][C] Updated to Minecraft 1.20.4
  • [A] Refactored and moved the identifier aliasing system to Calio.