FioMenu Update - Changelog
(1.21)
- Improved Rule-Based Item Resolution & Priority Fallback
- FioMenu no longer fully relies on a single explicitly matched item node to decide what should be shown in the menu.
- Expanded structural item resolution so nested indexed items now continue checking the next available priority node when the previous one does not satisfy its configured rules0/rules1/... condition.
- Reduces the need to over-define duplicate rule keys across every item variant just to keep fallback display behavior working correctly.
- Expanded Click-Type Rule Handling & Action Branch Support
- Extended click handling so action branches can now respond more flexibly to click context, including left, right, shift-left, shift-right, and drop-style interactions.
- Fixed actions: String Parsing & Conditional Action Compatibility
- Resolved an issue where FioMenu could fail to interpret string-based rule declarations correctly when used inside actions: sections.
- Added support for improvised scalar rule syntax such as rules0: "%vault_eco_balance% >= 75000" in addition to section-based syntax.
- Conditional action branch resolution is now more tolerant when only one of success or failed is defined, improving backward compatibility with older or experimental configs.
- This allows action-driven rule logic to behave more predictably even when menu authors use simplified or partially defined YAML structures.
- Added Dual Rule Syntax Support in #1.21.5
- Introduced two supported rule declaration styles for FioMenu configuration.
- Modern structured syntax remains available through:
rules0:
type: "money"
value: ">= 75000"
- Fallback improvised syntax is now also supported through:
rules0: "%vault_eco_balance% >= 75000"
- This improves authoring flexibility while keeping old and new configuration styles compatible in the same plugin version.
- Improved Runtime Error Handling, Validation, and Reload Stability
- FioMenu now handles configuration and runtime failures much more cleanly, replacing several hard exceptions with plugin-controlled warnings where possible.
- Missing menu files, invalid animation references, unsupported menu types, invalid rule definitions, and similar config problems now produce clearer FioMenu warnings instead of unnecessary large crash traces.
- Added safer handling for empty .yml menu files so 0 KB or whitespace-only menu files are skipped during load/reload instead of breaking /fiomenu admin reload.
- Listener and command entrypoints are now more defensive, improving overall runtime stability and reducing disruptive event exception output.
- Fixed Success Animation State Desync & Previous-Item Flashing
- Resolved the success animation issue where players could briefly see the old rules0 / previous-priority item before the newly valid item state appeared.
- Animation completion now refreshes the active menu state using current resolved rules instead of restoring stale pre-animation snapshots.
- Added protection against mid-animation refresh interference so auto-refresh and other update paths do not reveal the next item state before the animation has finished playing.
- Final animation frames now remain visible for their intended duration, producing smoother transitions and preventing split-second visual flicker after successful actions.