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] AddedSerializableDataType#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] DeprecatedSimpleDataObjectFactory
in favor of usingDataObjectFactory
directly viaDataObjectFactory#simple
-
[
calio
] [For addon developers] RenamedSerializableDataTypeList
class toListSerializableDataType
-
[
calio
] [For addon developers] RenamedFunctionedFieldImpl
class toFunctionedDefaultFieldImpl
-
[
calio
] [For addon developers] RenamedOptionalFieldImpl
class toDefaultedFieldImpl
-
[
calio
] [For addon developers] RenamedField#path
method toField#name
-
[
calio
] [For addon developers] Tweaked field presence check logic inSerializableData$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 ofSerializableData$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 thekeep_inventory
power type use slot ranges (e.g:enderchest.*
,inventory.*
, etc.) -
[
apoli
] Renamed thesimple
power type todummy
(and added its old name as an alias) -
[
apoli
] Renamed theactive_self
power type toaction_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] AddedPowerUtil
, 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 theinventory
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 itsTypedDataObjectFactory
(viaTypeConfiguration#dataFactory
), which is an extension to Calio'sDataObjectFactory
that contains aCompoundSerializableDataType
) - Power/action/condition types now use a similar structure for consistency
- Actions/conditions now have their own classes (e.g:
EntityAction
instead ofConsumer<Entity>
orActionTypeFactory.Instance
)
- Power/action/condition types no longer use type factories, but type configurations (that has its ID (via
Fixes
-
[
apoli
] Fixed theamount
field of modifiers being prioritized over theresource
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
] Fixedaction_on_item_pickup
power type not properly executing its actions -
[
apoli
] Fixedinventory
power type giving ghost items when the power is lost -
[
apoli
] Fixedin_entity_set
bi-entity condition type causing a crash when either the actor or target do not exist -
[
apoli
] Fixedrelative_health
entity condition type using an integer type for itscompare_to
field instead of a floating point value type -
[
origins
] Fixed origin layers (aside from the base origin layer) not being visible when viewing
Dependencies
External resources
Project members
Apace
Owner
eggohito
Maintainer
Technical information
License
MIT
Client side
required
Server side
required
Project ID