Changes
- [
apoli
] Themodifier
/modifiers
field(s) are now required in themodify_item_cooldown
power type - [
apoli
] The tooltip texts in thetooltip
power type are no longer wrapped in string when serialized to NBT - [
origins
] Reformatted code style of the/origin
command to match the code style in Apoli - [
origins
] Adjusted the text area of the origin window
Fixes
- [
apoli
] Fixed class casting issue inoffset
block condition type - [
apoli
] Fixed ID of theaction_on_key_press
power type - [
apoli
] Fixed initializing issues with power types - [
apoli
] Fixed abnormal behavior withadd_velocity
entity/bi-entity action types - [
apoli
] Fixed default offset values ofspawn_particles
entity action type - [
apoli
] Fixedarea_of_effect
entity/block action types accepting a positive integer/floating pointradius
value instead of a non-negative integer/floating point value respectively - [
apoli
] Fixedaction_on_block_break
power type evaluating its block condition too late (evaluating the block at the mined position after it's been mined) - [
apoli
] Fixed typo in fields for encoding themodify_food
power type - [
apoli
] Fixedchoice
meta action type executing all the defined actions instead of just one - [
apoli
] Fixedgive
entity action type only working once (per game/server restart) due to the provided item stack not being copied - [
apoli
] Fixed*_inventory
entity action/condition types being provided slots that aren't within the bounds of an entity's inventory (or inventory of a power that uses theinventory
power type) - [
apoli
] Fixedmodify_harvest
power type evaluating its block condition too late (evaluating the block at the mined position after it's been mined) - [
apoli
] Fixedattacker
damage condition type requiring an entity condition - [
origins
] Fixed not being able to see custom origin layers in the origin screen - [
origins
] Fixedorigins:origin
item component not setting the player's origin
Changelogs
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
[!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
] ChangedSerializableDataTypes#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 theand
meta action type. - [
apoli
] Renamed the following meta condition types for consistency with vanilla:chance
-->random_chance
and
-->all_of
or
-->any_of
- [
apoli
] Theslot
parameters of thehas_power
andpower_count
item condition types are now optional. - [
apoli
] Theapoli:powers
item component will no longer error when a non-existent power is defined. - [
apoli
] Power names/descriptions can now be translated with the respectivepower.<namespace>.<path>.name/description
translation keys, even when not using thetranslate
JSON text component. - [
origins
] Theorigins:origin
item component will no longer error when a non-existent power is defined. - [
origins
] Origin names/descriptions can now be translated with the respectiveorigin.<namespace>.<path>.name/description
translation keys, even when not using thetranslate
JSON text component. - [
origins
] Origin layer names can now be translated with thelayer.<namespace>.<path>.name
translation key, even when not using thetranslate
JSON text component. - [
origins
] RemovedOriginRegistry
in favor of integrating its functionality toOriginManager
.
Fixes
- [
calio
] Fixedeat_seconds
parameter of food components (aka. encoded/decoded via theSerializableDataType#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 theSerializableDataTypes#INGREDIENT
data type) unable to be sent to the client. - [
calio
] Fixed enum data types (aka. data types usingSerializableDataType#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 thegame_event_listener
power type used for determining whether a game event should be accepted. - [
apoli
] Fixedon_block
entity condition type incorrectly evaluating a block at the wrong position. - [
apoli
] Fixed crash caused by themodify_projectile_damage
power type. - [
apoli
] Fixedspawn_particles
entity action type miscalculating its spread. - [
apoli
] Fixed default translatable text (aka. theApoliDataTypes#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.
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
] Themodify_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.
Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#file-alpha_7-md for more details about this update!
Additions
- [
calio
] AddedSerializableDataTypes#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 inStrictListCodec<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 usedmodify_status_effect_amplifier
.)riding_action
entity action type (it usedpassenger_action
.)air
entity condition type (it usedfood_level
.)
- [
apoli
] Fixedfire_projectile
entity action/power types having inconsistent implementations. - [
apoli
] Fixedif_else
meta action type causing a crash if the optionalelse_action
field is not present. - [
apoli
] Fixedadvancement
entity condition type not working properly. - [
apoli
] Fixedtarget_action
bi-entity action type executing on the 'actor' in a bi-entity context. - [
apoli
] Fixed how thebiome
entity condition type is evaluated. - [
apoli
] Fixedattacker
damage condition type not accounting for when the attacker is non-existent like it used to. - [
apoli
] Fixeddamage
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 toSerializableDataTypes#NBT_COMPOUND
. - [
apoli
] Themodify_type_tag
power type can now account for tags that may include the tag specified in the power. - [
apoli
] Thedamage
entity/bi-entity action types now requires any of theamount
,modifier
ormodifiers
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 totype
. - The
Type
NBT has been renamed toid
. - The
Sources
NBT has been renamed tosources
. - The
Data
NBT has been renamed todata
.
- The
- [
apoli
] The/power revokeall <targets> <source>
sub-command has been changed to/power revoke <targets> all <source>
.
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
] Fixedrestrict_armor
power type only working partially, and preventing items from being quick-moved. - [
apoli
] Fixedmodify_player_spawn
power type disregarding previously set spawn points. - [
apoli
] Fixed issue with encoding the packet forshow_toast
entity action type. - [
apoli
] Fixedmodify_food
power type incorrectly calculating and assigning nutrition and saturation values. - [
apoli
] Fixed ingredients being duplicated when modifying crafting recipes with themodify_crafting
power type. - [
apoli
] Fixed crash caused by theattribute
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.
[!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.
Additions
- [
apoli#225
] Addedduration
andduration_on_use
fields to thespawn_effect_cloud
entity action type. - [
apoli#227
] Addedsprinting
power type. - [
apoli#228
] Addedpose
power type. - [
apoli$234
] Addedprevent_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 theSerializableDataTypes#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
- Calio:
1.14.0-alpha.2+mc.1.20.4
Changes
- [
apoli#224
] Renamed action/condition types related to entity sets. - [
apoli
] Powers that use themultiple
power type can now be replaced entirely withloading_priority
.
Additions
- [
apoli#192
] Addedshow_toast
entity action type. - [
apoli#211
] Addedmodify_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
] Addedentity_in_radius
entity condition type. - [
apoli#232
] Addedleash
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.
Changes
- [
origins#750
] Made Phantom's Phasing power re-enable itself upon respawning. - [
origins#755
] Unhardcoded some powers of certain origins.
Additions
- [
apoli#180
] Addedhas_command_tag
entity condition type. - [
apoli#186
] Added compatibility with Appleskin. - [
apoli#229
] Addedclick_phases
andpriority
fields to theitem_on_item
power type. - [
apoli#231
] Addedusage_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 theaction_on_item_use
power type not being triggered with the trigger"stop"
or"during"
if itspriority
value is less than 0. - [
apoli
] Fixedtamed
entity condition type not working for certain entities. - [
apoli
] Fixedtame
bi-entity action type not working for certain entities.
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.
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.
[A] marks the changes in the underlying Apoli version, while [C] marks the changes in the underlying Calio version.
Changes
- [A] Reverted supposed fix for issue with negating modified damage.
- [A] Made the
entity_set
power type validate its entries upon the holder of the power being loaded.
Fixes
- [C] Fixed argument type data types not properly printing its error in the output log.
- [A] Fixed power HUD renders not rendering properly.
- [A] Fixed automatic removal of entities in powers that use the
entity_set
power type. - [A] Fixed potential infinite recursion when granting powers.
Changelogs
Make sure to check out Apoli's and Calio's changelog for more information about this release:
[O] marks the changes in Origins, while [A] marks the changes in its underlying Apoli version.
Fixes
- [O] Fixed automatically-generated badges of powers not being overridden with an empty
badges
field. - [O] Fixed origins not supporting
*
in identifiers. - [A] Fixed
status_bar_texture
power type not rendering regioned sprites (e.g: the "fill" portion of the experience bar) properly. - [A] Fixed
entity_set
power type executing theaction_on_remove
bi-entity action on discarded entities that weren't in the entity set and regardless of whether the power's condition is fulfilled. - [A] Fixed
/power list ... <subpowers>
sub-command not being accounted when specified. - [A] Fixed powers being removed not actually being removed from the entity, resulting in powers with empty sources.
- [A] Fixed power addition callbacks not working reliably in certain cases (e.g: setting the value of a resource upon gaining a power, which was previously dependent on order of when the power is registered and/or granted.)
- [A] Fixed
modify_attribute
power type applying vanilla modifiers twice. - [A] Fixed
game_event_listener
power type triggering advancements that use theminecraft:avoid_vibration
criterion (this wasn't the case before.) - [A] Fixed crash caused by power types related to preventing interaction with entities.
- [A] Fixed
modify_jump
power type still applying sprint-jump effects (e.g: extra horizontal velocity, exhaustion) even though the jump velocity is negated. - [A] Fixed oversight with syncing the power registry.
- [A] Fixed power HUD renders not being offset properly in cases such as mounting a living entity, or being submerged underwater.
- [A] Fixed crash that could be caused by
action_on_block_break
power type and block action types that may utilize directions.
Full changelog: v1.12.8...v1.12.9
Apoli changelog: v2.11.10
[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 themodify_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.
[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 iflight_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.
- 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_food
power type for making items always edible. - [A] Simplified implementation of
modify_grindstone
power type. - [A] Added support for
*
(current namespace/path) inREGEX_MAP
data type (used by thereplace_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
andbrightness
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 originlayer
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 theentity_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