Origins

Origins

Mod

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

Client and server Adventure

969.8k downloads
1,090 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!

1.21.1: Origins 1.13.0-alpha.10

Changelog

Power/action/condition types and actions/conditions have been overhauled in this update. There is currently no documentation, but you can check out PR https://github.com/apace100/apoli/pull/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

Files

Origins-1.13.0-alpha.10+mc.1.21.x.jar(4.38 MiB) Primary Download
Origins-1.13.0-alpha.10+mc.1.21.x-sources.jar(415.26 KiB) Download

Project members

Apace

Owner

eggohito

Maintainer

Details

Licensed MIT
Published 4 years ago
Updated 10 days ago