Origins
- Fixed key badges showing "none" instead of the primary active key when no key is explicitly specified in the power
Apoli (updated to 2.0.4)
- Made status effects synchronize to clients, so the
status_effect
condition works on client-side powers (likeentity_glow
orinvisibility
) (Thanks Pug) - Removed debug outputs from the
modify
item action - Fixed an error that occured when syncing some powers
- Fixed
on_block
not properly checking for the actual block the player's standing on if that isn't a full block (e.g. soul sand) - Fixed
modify_break_speed
crashing when noblock_condition
is provided - Fixed powers which prevent entity actions (
prevent_entity_use
andprevent_being_used
) not working correctly
Origins
- Made use of more readable way to specify classes with
attribute_modify_transfer
inlike_air
power - Fixed view origin screen showing "Choose your Origin" instead of the correct text
- Improved caching of keybinds for badges, they should now update properly when powers are changed
- Optimized assets a bit, reducing file size of the mod (thanks RDKRACZ)
- Fixed a misspelling in the Polish translation (thanks RDKRACZ)
Apoli (updated to 2.0.3)
- Prevented
testdata
from showing up in builds status_bar_texture
now also affects the experience bar- Fixed a crash which occured with
in_block_anywhere
modify_swim_speed
no longer affects upward movement in lavamodify_swim_speed
now properly affects vertical speed while swimming- Added more power-related callbacks
- Made power synchronization more efficient, causing less stress on servers
- Fixed
modify_damage_dealt
only working with player entities - Fixed snowballs not causing a hit
- Fixed multiple ability powers for the same ability (e.g. multiple
creative_flight
powers) conflicting with each other - Fixed
modify_food
not syncing properly when food or saturation were modified to be 0.
- Un-hardcoded the phasing overlay
- Fixed a bug where joining players would not correctly receive the powers of other players
- Fixed
mount
not synchronizing properly when players are mounted - Fixed
modify_crafting
not calling theentity_action
andblock_action
- Fixed
prevent_entity_use
only triggering itsbientity_action
on the server - Fixed crash when using the
grant_power
entity action - Fixed
revoke_power
entity action not removing sub-powers active_self
now has a defaultcooldown
of 1 and a hiddenhud_render
by defaultcommand
condition now also respects theexecute_command
configcan_see
now only considers visual obstructions, not physical collidersattacker
condition now works properly on the client-side
Since the patch notes are quite long if I were to include Apoli and Calio changes, this will just list the changes to Origins as well as a few select ones relevant to many users:
Gameplay Changes
- Avians now have "Like Air" which makes modifiers to their movement speed also apply to their airborne movement
- Felines now have "Velvet Paws" which make their steps not cause vibrations (relevant for sculk sensors and in the future the Warden)
Other Changes
- Added
loading_priority
field to layer files. A layer withreplace
set totrue
will replace all layers at the same and at lowerloading_priority
than itself. - Added badges: small icons next to powers which can display additional information in a tooltip. By default, powers will get an "active" or "toggle" badge if they are active or toggleable powers. These can be overridden, and custom badges can be added too via a
badges
field in the power file. - Added
/origin gui
command to force a player into the origin selection GUI. - Added support for NBT data on the Orb of Origin item, which makes it only work for specific layers, or even set layers to a specific origin when used.
- Added a scroll bar to the origin display screens
- Added a
hidden
boolean field to layer files, which makes them not be visible in the view origin screen
- The mod menu config screen now shows Apoli's power config
- Right and left arrow buttons are now hidden in the choose origin screen if there is only one option
- Right and left arrow buttons are now hidden in the view origin screen if there is only one layer
- Fixed a bug where removing an origin from the world (by deleting/changing a datapack) would not remove the powers of that origin from players who had it before
- Fixed Shulker's inventory power not having the proper name
- The phasing overlay is no longer hardcoded, now uses a separate
overlay
power
Some changes from Apoli / Calio
- Entity conditions are more general
- Interactions can now be defined much better thanks to bientity actions and conditions
- Many bug fixes (including Invalid Player Data, hopefully)
execute_command
actions now use a permission level specified in a config that's on the server (by default level 2) - no more safety issues!
Read the changelogs of Apoli and Calio here: https://github.com/apace100/apoli/releases/tag/v2.0.0 https://github.com/apace100/calio/releases/tag/v1.0.3
Apoli and Calio changes are listed if they are relevant to Origins. They will be marked with an [A] or a [C] at the beginning, while changes to Origins will be marked with [O]. These details should be mostly irrelevant to the regular user, so feel free to ignore them. :)
Misc Changes
- [A] Removed the inability to equip an elytra when an
elytra_flight
power is active - [A] Changed order of execution of actions in
action_over_time
power.rising_action
now executes before the firstentity_action
tick - [O] Added a clause that shows that Origins is incompatible with version of Identity older than 1.14.2-beta
- [O] Updated the "breaks OptiFabric" clause to only be valid up to the current version, in case the OptiFabric devs update their mod to fix the incompatibility issues
Bug Fixes
- [O] Fixed a bug where setting an origin would execute "on chosen" callbacks for other origins
- [O] Fixed player head icons in view origins screen being set to the player's head even though they have a
SkullName
specified. - [A] Fixed damage over time protection enchantment not increasing the damage onset as much as intended
- [A] Fixed
shader
powers crashing when an undefined shader was specified and the power is revoked - [A] Fixed some ghost callbacks being executed on clients, making it appear as if they would gain additional starting equipment
- [C] Fixed some serializations not working on Turkish systems
- [C] Fixed order of data parameters not being guaranteed, making functioned defaults unusable (mostly important for add-on devs)
Translations
- [O] Added Japanese translation (thanks Lavender!)
Misc Changes
- [O] Updated Huang's resource bars. The sprites 1 and 2 have been merged into 1 to save space. They also received a visual overhaul.
- [A] Added an additional optional argument to the
power list
command, which specifies whether or not to list "sub-powers" which are granted through amultiple
power type (default: false).
- [A] Changed the protection onset delay calculation in the
damage_over_time
power type. Will become more customizable with the next feature update. (Yes, this means there won't be a huge jump to 20 minutes of onset delay for Water Protection anymore.) - [A] Removed the version check in Apoli. This means the message will now display "You need to install Origins" and not "You need to install Apoli".
- [C] Error messages for wrong identifiers (e.g. for registry elements) were improved.
Bug Fixes
- [O] Conduits now affect Merlings on land again.
- [O] Phasing powers now grant a hardcoded overlay again (will be data-driven in 1.1.0).
- [O] Fixed Origin upgrades not working.
- [O] Fixed incompatibility with the Atlantis mod.
- [O] Fixed new powers or removed powers on origins not applying to existing players with that origin.
- [O] Fixed players not being invulnerable when selecting an origin.
- [O] Fixed "view origin" screen not working when the server does not perform a version check.
- [O] Fixed version check not working correctly.
- [O] Fixed water vision of Merlings not being as effective as before.
- [O] Fixed powers which contain the
origins:origin
condition crashing when applied to a non-player entity. - [A] Fixed
entity_glow
power freezing the game. - [A] Fixed attributes visually being applied on the client when entering a Nether portal.
- [A] Fixed
creative_flight
andelytra_flight
power types not supporting conditions. - [A] Fixed
creative_flight
power type stopping to work after death. - [A] Fixed explosive projectiles not spawning when used in
fire_projectile
power type. - [A] Fixed hud renders not allowing bars that are 8 pixels tall. (Still not perfect, because background is always only 5 pixels tall due to sprite layout, lol)
- [A] Fixed
lava_vision
power type not working. - [C] Fixed
*
not working in all identifiers in datapacks where they previously would have.
Changes to Origins
- Updated to support Minecraft 1.17
- Now uses Apoli and Calio as libraries, as well as PlayerAbilityLib (which is a new dependency of FallFlyingLib)
They are bundled inside the mod, no need to download anything in addition!
- Updated Brazilian Portuguese translation (thanks lostopkk)
- Updated Polish translation (thanks SpiderKolo)
- Added new resource bar files made by JustHuangHere
Notes
-
An additional content update will follow.
-
The main focus of this update was extracting the power part of Origins as well as some common systems (such as the serializable data system) into separate library mods. That's why it took so long.
-
I tried to keep everything compatible with old worlds and datapacks. However, there might still be bugs. Please make sure to backup your world before updating! I won't be responsible for any damage caused to your world files.
-
New power types, conditions, etc, will now be part of Apoli, not Origins. I'm still unsure how to present this in the patch notes.
-
While datapacks generally should work, add-ons will not work out-of-the-box, due to internal changes and the update to 1.17. Please be patient with add-on developers while they update their mods!
- Added missing link to the issue tracker in the mod metadata
- Added
origin get
command which retrieves the origin of a player in a certain layer, e.g.origin get Apace origins:origin
- Fixed
prevent_block_selection
crashing when no condition is provided - Fixed
damage_over_time
always using an interval of 20 ticks, regardless of what is specified - Fixed
modify_player_spawn
falsely reading thedimension_distance_multiplier
as an integer - Fixed
origin set
command not calling the "onChosen" callback (fixes players being set to Elytrian while wearing heavy armor not unequipping said armor) - Changed FallFlyingLib to use the new host - should allow add-ons to grab Origins as a dependency again without much trouble (thanks MerchantPug)
- Fixed resource/cooldown bars rendering below vanilla overlays
- Fixed
apply_effect
action executing on the client - Fixed a bug where
modify_xp_gain
would apply inconsistently - Fixed
modify_projectile_damage
with damage reduced to 0 or less still applying a hit - Fixed players with an Elytra power showing both their cape and the Elytra
- Fixed players with the
ignore_water
power not being targeted by Drowned, or being able to receive the conduit power.
- Cloned Spanish translation to other Spanish country codes
- Updated Turkish translation (thanks Efimity)
Fixes
- Fixed
auto_choose
in layers not working if the layer came directly after a layer with 0 possible options - Fixed
restrict_armor
powers disabling all armor for slots where the power didn't specify a condition (instead of allowing all armors in those slots) - Updated dependencies, fixes the freeze on world generation experienced when using Origins with Fabric API 0.34.0
- Made resource bars render below other HUD elements (such as the chat)
- Fixed actions on modifying powers being fired even when the modification doesn't apply due to a condition
Translations
- Added Polish translation (thanks RDKRACZ)
- Added Indonesian translation (thanks typhoic)
- Updated Spanish translation (thanks Golder06)
- Updated Korean translation (thanks 스넵_란)
- Updated Russian translation (thanks Yuvental)
- Fixed English translation having periods at the end of death messages
Gameplay Changes
- Avians now lay eggs in the morning!
-
Merlings now are also faster when swimming vertically, but their underwater speed boost was nerfed from to +150% (from +200%). However, depth strider affects them now.
-
Merlings now also gain air from potions, not just water bottles.
-
Enderians and Blazeborn now take damage from drinking potions (due to being vulnerable to water).
Datapack Additions
-
Added power types:
ignore_water
,modify_projectile_damage
,action_on_wake_up
,prevent_block_use
,prevent_death
,action_on_item_use
-
Added entity actions:
set_fall_distance
,give
,equipped_item_action
,play_sound
,trigger_cooldown
-
Added entity conditions:
climbing
,tamed
,gamemode
,using_item
,moving
,enchantment
-
Added block action:
execute_command
-
Added block condition:
exposed_to_sky
,light_level
-
Added
set_spawn_point
field toprevent_sleep
power type which specifies whether the spawn point will be set even when the power prevents sleeping -
Added
biome
field tomodify_player_spawn
-
Added entity action fields to the damage modifying power types (this allows you to negate damage but still execute actions!)
-
Added
set
boolean field toadd_velocity
action, which, when true, will make the action set the desired velocity instead of adding onto the current velocity of the entity -
Added
min_action
andmax_action
fields toresource
power type, which will execute when the resource reaches its min or max value, respectively -
The asterisk
*
can now be used in power files where an identifier is specified, both in the namespace to specify the current namespace, and in the path to specify the current path (not including the sub-power, if currently in sub-power). -
Origin icons can now specify a full item stack (with nbt data in
tag
!) -
Origin layers have two new fields:
default_origin
andauto_choose
. The origin specified indefault_origin
will automatically be set by the game, no matter which other origins are in the layer. When you use an orb however, default origins will not apply and you are free to choose any origin in the layer.auto_choose
is a boolean (false by default), which specifies whether the game will automatically pick an origin for the player if there is only one available option. This will also apply when an orb is used.
Minor Changes
-
Made origin JSON files use serializable data system.
-
powers
array in origin data is now optional. -
Made
consume
item action have a defaultamount
of 1. -
Exposed method for registering keybindings for powers to use for third-parties (e.g. add-ons)
Bug Fixes
-
Fixed Arachnid climbing not behaving correctly when holding onto walls/cobwebs
-
Fixed tags not applying correctly to spawned entities in
fire_projectile
powers andspawn_entity
actions -
Fixed
action_on_land
triggering when just standing on ground and also only triggering on client-side -
Fixed explosive projectiles (fireballs etc) stopping in air after some time when
fire_projectile
is used to shoot them -
Fixed
action_on_block_break
crashing when no block condition is provided -
Added
minecraft:barrier
toorigins:unphasable
tag -
Fixed bug where the depth strider enchantment would override
modify_swim_speed
powers -
modify_swim_speed
now also affects vertical swimming -
Fixed resource command not working on cooldown powers
-
Fixed origin upgrades applying already when only one criterion of the specified advancement is fulfilled
Translations
-
Added Hebrew translation (thanks nate_lev)
-
Added Korean translation (thanks Snap_lan)
- Updated Chinese translation (thanks Neubulae)
- Added server-side config file which can be used to disable the version check on player login (yes, if you do this, it should allow running Origins on Velocity or other proxy-based servers! But don't disable this otherwise)
- Fixed game crashing when attacking a non-living entity with a
modify_damage_dealt
power (e.g. as Blazeborn) - Fixed game crashing when Origins version specified a pre-release or build identifier
- Updated Russian translation (thanks Yavental)
- Fixed bug where multiple powers which should react to the same keybind would not all trigger when the corresponding key is pressed, only one of them.
- Fixed bug where the choose origin GUI would not render when the only option was to choose a random origin.
- Fixed bug where the GUI would still appear if no origins were choosable in the layer and the random option was allowed but had no possibility to choose from.
- Completely empty layers (where the player can't choose an origin) now don't appear in the view origin GUI anymore.
- Added translation key for the message that is shown to Avians when they can't sleep because of the bed height.
- Removed period at the end of the Avian's sleep fail message to be consistent with vanilla, which was incredibly important.
Changelog here: https://github.com/apace100/origins-fabric/releases/tag/v0.6.0