Releases: apace100/apoli
Releases · apace100/apoli
Apoli 2.12.0-alpha.14 (Minecraft 1.21.1)
Changes
- The
modifier
/modifiers
field(s) are now required in themodify_item_cooldown
power type - The tooltip texts in the
tooltip
power type are no longer wrapped in string when serialized to NBT
Fixes
- Fixed class casting issue in
offset
block condition type - Fixed ID of the
action_on_key_press
power type - Fixed initializing issues with power types
- Fixed abnormal behavior with
add_velocity
entity/bi-entity action types - Fixed default offset values of
spawn_particles
entity action type - Fixed
area_of_effect
entity/block action types accepting a positive integer/floating pointradius
value instead of a non-negative integer/floating point value respectively - Fixed
action_on_block_break
power type evaluating its block condition too late (evaluating the block at the mined position after it's been mined) - Fixed typo in fields for encoding the
modify_food
power type - Fixed
choice
meta action type executing all the defined actions instead of just one - Fixed
give
entity action type only working once (per game/server restart) due to the provided item stack not being copied - 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) - Fixed
modify_harvest
power type evaluating its block condition too late (evaluating the block at the mined position after it's been mined) - Fixed
attacker
damage condition type requiring an entity condition
Changelogs
Apoli 2.12.0-alpha.13 (Minecraft 1.21.1)
Additions
- Added legacy aliases for meta condition types;
and
-->all_of
or
-->any_of
chance
-->random_chance
Changes
- Renamed some meta condition types (and added their old name as an alias)
and
-->sequence
chance
-->random_chance
- Made the
*_inventory
action/condition types use slot ranges (e.g:hotbar.*
,armor.*
, etc.) - Made the
keep_inventory
power type use slot ranges (e.g:enderchest.*
,inventory.*
, etc.) - Renamed the
simple
power type todummy
(and added its old name as an alias) - Renamed the
active_self
power type toaction_on_key_press
(and added its old name as an alias) - [For addon developers] Added
PowerUtil
, a utility class for modifying/querying resource values, and validating if a power type is considered a resource. - [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)
- [#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 of Calio'sDataObjectFactory
that contains itsCompoundSerializableDataType
) - 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<Entity>.Instance
)
- Power/action/condition types no longer use type factories, but type configurations (that has its ID (via
Fixes
- Fixed
amount
field of modifiers being prioritized over theresource
field (it should be the other way around) - Fixed
/power remove
command and revoking powers in general - Fixed NullPointerException issue (crash) when checking for power types in entities
- Fixed
action_on_item_pickup
power type not properly executing its actions - Fixed
inventory
power type giving ghost items when the power is lost - Fixed
in_entity_set
bi-entity condition type causing a crash when either the actor or target do not exist
Changelogs
Apoli 2.12.0-alpha.12 (Minecraft 1.21.1)
Warning
Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#file-alpha_9-md for more details about this update!
Changes
- [#247] Crafting recipes defined in powers are now visible in the recipe book.
- Fields that accept action types can now accept an array as a shorthand for using the
and
meta action type. - Renamed the following meta condition types for consistency with vanilla:
chance
-->random_chance
and
-->all_of
or
-->any_of
- The
slot
parameters of thehas_power
andpower_count
item condition types are now optional. - The
apoli:powers
item component will no longer error when a non-existent power is defined. - Power names/descriptions can now be translated with the respective
power.<namespace>.<path>.name/description
translation keys, even when not using thetranslate
JSON text component.
Fixes
- Fixed crash caused by encoding global power sets.
- Fixed some aspects of global power sets being replaced when merging.
- Fixed minor issue with printing JSON as text where JSON keys with null values are being printed (affects the
/power dump
command.) - Fixed determining logic in the
game_event_listener
power type used for determining whether a game event should be accepted. - Fixed
on_block
entity condition type incorrectly evaluating a block at the wrong position. - Fixed crash caused by the
modify_projectile_damage
power type. - Fixed
spawn_particles
entity action type miscalculating its spread. - Fixed default translatable text (aka. the
ApoliDataTypes#DEFAULT_TRANSLATABLE_TEXT
data type) not being translatable by default.
Apoli 2.12.0-alpha.11 (Minecraft 1.21)
Changes
- The name of sub-powers is now validated before the sub-power itself is parsed.
- The
modify_type_tag
power type can now account for when the defined tag in the power is nested in multiple parent tags.
Apoli 2.12.0-alpha.10 (Minecraft 1.21)
Warning
Make sure to check out https://gist.github.com/eggohito/510eb0cf7d36d40f906ac1fcef74ee96#file-alpha_7-md for more details about this update!
Fixes
- Fixed sub-powers being decoded first before its Fabric resource conditions are evaluated (it should be evaluating the resource conditions first.)
- 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
.)
- Fixed
fire_projectile
entity action/power types having inconsistent implementations. - Fixed
if_else
meta action type causing a crash if the optionalelse_action
field is not present. - Fixed
advancement
entity condition type not working properly. - Fixed
target_action
bi-entity action type executing on the 'actor' in a bi-entity context. - Fixed how the
biome
entity condition type is evaluated. - Fixed
attacker
damage condition type not accounting for when the attacker is non-existent like it used to. - Fixed
damage
entity action type accepting an optional damage type when it should be required.
Changes
- 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
- The
modify_type_tag
power type can now account for tags that may include the tag specified in the power. - The
damage
entity/bi-entity action types now require any of theamount
,modifier
ormodifiers
fields to be defined. - The
/power revokeall <targets> <source>
sub-command has been changed to/power revoke <targets> all <source>
.
Apoli 2.12.0-alpha.9 (Minecraft 1.21)
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 more details about this update!
Additions
- [#215] Added
modify_type_tag
power type.
Removals
- Removed the
meat
item condition type. - Removed the
category
biome condition type. - Removed fields/types that use
ApoliDataTypes#LEGACY_MATERIAL
. - Removed fields/types that use
ApoliDataTypes#DAMAGE_SOURCE_DESCRIPTION
- Removed
client
andserver
boolean fields fromadd_velocity
entity/bi-entity action types. - Removed the following aliases for certain types;
nbt
alias forcustom_data
item condition type.merge_nbt
alias formerge_custom_data
item condition type.action_on_set
alias foraction_on_entity_set
entity action type.remove_from_set
alias forremove_from_entity_set
bi-entity action type.in_set
alias forin_entity_set
bi-entity condition type.set_size
alias forentity_set_size
entity condition type.is_damageable
alias fordamageable
item condition type.is_equippable
alias forequippable
item condition type.fireproof
alias forfire_resistant
item condition type.addition
alias forapoli:add_base_early
attribute modifier operation.multiply_base
alias forapoli:multiply_base_additive
attribute modifier operation.multiply_total
alias forapoli:multiply_total_multiplicative
attribute modifier operation.
PowerTypeRegistry
in favor of integrating its functionality toPowerManager
(formerly known asPowerTypes
.)
Changes
- Renamed the
value
field ofApoliDataTypes#ATTRIBUTED_ATTRIBUTE_MODIFIER
toamount
to be consistent with vanilla. - Changed some fields of
Modifier#DATA_TYPE
to be consistent with vanilla;value
-->amount
amount
is now optional; ifamount
andresource
is absent, an error will be thrown.
- Renamed the
action
field of thechance
meta action type tosuccess_action
to be consistent with itsfail_action
field. - The
replacable
block condition type has been renamed toreplaceable
. - Re-implemented
add_power
andremove_power
item modifier types, andhas_power
andpower_count
item condition types. - The textures used in a power that uses the
overlay
power type have to be moved to theassets/.../textures/overlay/sprites
directory of a resource pack.
Apoli 2.12.0-alpha.8 (Minecraft 1.21.x)
Fixes
- Fixed
night_vision
-related power types causing a crash.
Apoli 2.12.0-alpha.7 (Minecraft 1.21.x)
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.
Apoli 2.12.0-alpha.6 (Minecraft 1.20.4)
Fixes
- Fixed certain errors not being caught when reading sub-powers.
Apoli 2.12.0-alpha.5 (Minecraft 1.20.4)
Additions
- (#225) Added
duration
andduration_on_use
fields to thespawn_effect_cloud
entity action type. - (#227) Added
sprinting
power type. - (#228) Added
pose
power type. - (#234) Added
prevent_entity_selection
power type.
Changes
- (#223) Global power sets now support Fabric's resource conditions.
Fixes
- Fixed
*_when_hit
power types causing a crash when executing/evaluating actions/conditions on the possibly non-existent attacker. - Fixed issue with selecting entities by command tags (via the
@e[tag = <tagName>]
selector argument) added in the same tick. - Fixed inconsistent format of automatically-generated translation keys in power names and descriptions.