[#4708] Rebuild AdvancementFlow, SubclassFlow, & TraitFlow for V2#6053
Merged
Conversation
AdvancementFlow and SubclassFlow for V2AdvancementFlow, SubclassFlow, & TraitFlow for V2
arbron
marked this pull request as draft
August 19, 2025 22:35
21 tasks
arbron
force-pushed
the
advancement/flow-v2
branch
from
September 24, 2025 21:19
3455080 to
9fb8eaf
Compare
arbron
marked this pull request as ready for review
September 24, 2025 21:19
arbron
force-pushed
the
advancement/flow-v2
branch
from
September 26, 2025 22:47
9fb8eaf to
5afe465
Compare
Collaborator
Author
arbron
force-pushed
the
advancement/instances
branch
from
October 15, 2025 22:11
e602e8f to
748e824
Compare
arbron
force-pushed
the
advancement/flow-v2
branch
from
October 15, 2025 22:14
5afe465 to
ab9c58a
Compare
arbron
force-pushed
the
advancement/instances
branch
from
January 29, 2026 19:11
2a916ff to
42f31e7
Compare
arbron
force-pushed
the
advancement/flow-v2
branch
from
February 3, 2026 01:13
ab9c58a to
d9fa863
Compare
Adds a new version of `AdvancementFlow` based on `ApplicationV2` and implements `SubclassFlow` & `TraitFlow` using it. Adds some modified rendering for `AdvancementManager` to support either application version. The design of `SubclassFlow` remains the same, but `TraitFlow` has been reworked to use a separated list and display icons for each trait. The V2 version of advancement flows are designed to submit on change, rather than only submitting during the forward process. This will generally require changes to the coresponding advancement's application method to handle piecemeal application. In order to keep everything in the correct state, this also means that `apply` is called once before the initial rendering of the flow to give the advancement a chance to populate initial data. This change involves some modification to the `Advancement` API for the `apply`, `restore`, `reverse`, and `automaticApplicationValue` methods: - `apply`, `restore`, and `reverse` get a new `options` object - `automatic` option is passed when the automatic application process is being applied - `initial` option is passed when the `apply` method is called initially before the flow is first rendered - `automaticApplicationValue` has been made `async` (this change applies when using both V1 or V2 flows) All of these changes have been made in a way to allow V1 and V2 advancement flows to coexist for a time, but should support future changes to the advancement manager allowing for grouped flows.
Fyorl
force-pushed
the
advancement/flow-v2
branch
from
February 4, 2026 01:12
d9fa863 to
b89ae52
Compare
Fyorl
requested changes
Feb 4, 2026
Fyorl
approved these changes
Feb 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Adds a new version of
AdvancementFlowbased onApplicationV2and implementsSubclassFlow&TraitFlowusing it. Adds some modified rendering forAdvancementManagerto support either application version.The design of
SubclassFlowremains the same, butTraitFlowhas been reworked to use a separated list and display icons for each trait.The V2 version of advancement flows are designed to submit on change, rather than only submitting during the forward process. This will generally require changes to the coresponding advancement's application method to handle piecemeal application. In order to keep everything in the correct state, this also means that
applyis called once before the initial rendering of the flow to give the advancement a chance to populate initial data.This change involves some modification to the
AdvancementAPI for theapply,restore,reverse, andautomaticApplicationValuemethods:apply,restore, andreverseget a newoptionsobjectautomaticoption is passed when the automatic application process is being appliedinitialoption is passed when theapplymethod is called initially before the flow is first renderedautomaticApplicationValuehas been madeasync(this change applies when using both V1 or V2 flows)All of these changes have been made in a way to allow V1 and V2 advancement flows to coexist for a time, but should support future changes to the advancement manager allowing for grouped flows.