FioMenu Update - Changelog
(1.23.0)
- Expanded Bedrock
imageRule Resolution withimages.<key>.rulesX
- Added conditional image resolution support to Bedrock UI entries so server owner can now define rule-based image states directly inside image sections.
- Bedrock buttons are now able to switch image output dynamically through structures such as
image.rules0, includingsuccessandfailedimage branches.- This makes it possible to present different textures, icons, or visual states depending on whether a configured Bedrock rule passes or fails, without needing to duplicate the entire button definition.
- Added Bedrock Support for
actions.<key>.rulesXConditional Branches
- Extended Bedrock action handling so rule-based action branches can now be defined directly under scoped action keys such as
actions.any.rules0.- Introduced FioMenu
Menu Bundlingfor Java and Bedrock
- Added a new menu bundling system that allows multiple virtual menus to be stored inside a single physical
.ymlfile.
FioMenu Update - Changelog
(1.22)
- Improved Bedrock UI
RulesKey Compatibility
- Applied additional Bedrock-side fixes around the
Ruleskey so Bedrock UI configurations are now parsed more consistently with Java-side menu logic.- Expanded
actions.<key>.<rulesX>Click-Scope Support
- Extended conditional action handling so rule blocks can now be defined directly under click-specific action keys such as
actions.left.rules0,actions.right.rules0, and similar scoped branches.- Server owners are no longer limited to a single shared conditional block when defining rule-based click behavior inside
actions:.- Improvised compact rule syntax such as
rules0: "%vault_eco_balance% >= 75000"continues to work alongside structured syntax like:
rules0: type: "money" value: ">= 75000"- Fixed
ENUM_SOUNDCategory Parsing Bug
- Resolved a sound parsing issue where FioMenu could incorrectly interpret category input and produce warnings such as invalid
SoundCategoryenum constants.
FioMenu Update - Changelog
(1.21.5)
- 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
successorfailedis 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
.ymlmenu 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.
FioMenu Update - Changelog
(1.20.3)
- Added New Delayed Action Tag Syntax:
[TAG=<DELAY VALUE>]
- Introduced a new universal delayed action format so action tags can now be scheduled directly inline using
[TAG=<ticks>].- Enables cleaner action configuration without requiring separate delay control lines for common delayed action flows.
- Supports practical usage patterns like
[CLOSE=5],[OPEN_MENU=10] menu_id,[SOUND=2] SOUND_NAME 100 1, and similar executor tags.- Kept backward compatibility with existing action syntax, so previous
[TAG]configurations continue to work unchanged.- Fixed
shadow.ymlForced Regeneration on Reload
- Resolved an issue where bundled
shadow.ymlcould reappear automatically after manual deletion and plugin reload.- Removed hard-forced bundled copy flow that previously recreated the file during menu reload lifecycle.
- Reload behavior now respects administrator file management decisions, preventing unwanted default menu re-injection.
- Default menu seeding behavior remains available for fresh setup scenarios without overriding existing manual cleanup intent.
- Reconstructed
/fiomenu admin listOutput & Metadata Presentation
- Refactored list display to a cleaner compact format:
file1.yml, file2.yml, file3.yml, reducing noisy vertical output.- Added rich hover metadata for each listed menu entry, including file allocation path, enabled/disabled state, active viewer count, menu type, and platform scope.
- Extended listing source coverage so Java and Bedrock menu resources are both represented in menu listing workflows.
- Improved console-facing list readability to avoid clutter while keeping in-game detail accessibility through hover interactions.
FioMenu Update - Changelog
(1.19)
- Fixed
$profileno longer caching after recentLIST_PLAYERlistener changes
- Resolved a regression where
$profiledata was being held by stale cache flow after the latestLIST_PLAYERlistener update.- Adjusted profile/list synchronization so profile rendering now reflects fresh runtime state instead of outdated cached snapshots.
- Improved cache invalidation timing in the list-to-profile transition path to prevent stale profile views.
- Added New Example GUI:
/trash
- Added a new default example GUI entry for
/trash.- Provides a ready-to-use reference for disposal/cleanup interaction patterns in FioMenu menu configuration.
- Can be used as a base template for custom trash-like utility menus.
- Expanded Example GUI Collection (30+ GUIs)
- FioMenu now includes more than
30+example GUI resources by default.- Improves onboarding by giving broader real-world menu patterns for interaction, placeholders, sorting, prompts, and utility flows.
- Makes it easier to start quickly without building every menu from scratch.
- Optimized Default Animation Configuration
- Refined bundled animation defaults for better baseline performance and cleaner behavior in common menu transitions.
- Improved default animation resource structure so customization is more maintainable and predictable.
- Reduced unnecessary overhead in stock animation setup while keeping visual behavior intact.
- Fixed Bundle Right-Click Desync/Disappear Issue in Menu
- Fixed an issue where bundle items containing content could be right-clicked in menu context and appear to disappear.
- Hardened bundle interaction handling to block extraction actions while FioMenu inventory is open.
- Applied client refresh flow after blocked bundle actions so displayed bundle state stays consistent with server-side item data.
FioMenu Update - Changelog
(1.18)
- Added New
list_players.ymlandprofile.yml
- Introduced two new configuration resources to separate player-list presentation logic from individual profile presentation.
list_players.ymlis intended for scalable player listing views (for example, paged player selectors, filtered lists, and sorted index menus).profile.ymlprovides a dedicated profile-layer menu structure, making it easier to build per-player detail screens without overloading generic menu files.- Added
behavior.ifnoPrevious
- Added a dedicated behavior branch to explicitly handle flows where no previous menu/navigation state exists.
- Added
behavior.ifnoPrevious.show: true/false
- Added a visibility toggle for
ifnoPreviousbehavior handling.- Added
empty_behaviorInsideifnoPrevious
- Added an explicit empty-state behavior node for cases where no prior navigation context exists and no fallback content should be rendered.
- Added New
<id_format>;<format_shown>;<placeholder>Pattern insort.format
- Expanded
sort.formatsyntax to support richer sort display descriptors in a single structured token.- This improves consistency between backend sort logic and frontend menu text rendering, especially for multi-language or dynamic-stat sorting displays.
- Added New
<key>.type: "LIST_PLAYERS"
- Introduced a dedicated typed node for player-list driven elements.
- Added
behavior.ifSearch: true/false
- Added behavior branching based on active search state.
- Added
behavior.bedrock_head_compatible: true/false
- Added a compatibility toggle for Bedrock-oriented head/visual handling.
- Added
behavior.bedrock_behavior.<key>
- Added extensible Bedrock-specific behavior mapping using keyed entries.
- Added
sign_prompt.title_change: true/falsein[SIGN_PROMPT]
- Added a toggle to control whether the sign prompt title should be dynamically replaced.
- Added
sign_prompt.title: <value>in[SIGN_PROMPT]
- Added direct custom title assignment for sign prompt interfaces.
- Useful for branding, context-specific instructions, and localized interaction cues.
FioMenu Update - Changelog
(1.17)
- Stopped Automatic Generation of Default Menu Config
- FioMenu no longer generates the default menu configuration file automatically on first startup.
- Added Database Support for FioMenu
- Added database backend support for centralized FioMenu data persistence.
- Data Storage Refactor: Moved
language_state,player_state, andcustom_slot_datatodatabases
- Removed legacy storage locations for
language_state,player_state, andcustom_slot_data.- These components are now consolidated into the
databaseslayer for consistent read/write behavior.- Added New
algorithmFeature in FioMenu
- Introduced a new
algorithmfeature to support more flexible logic behavior inside FioMenu.- The feature is designed to expand internal processing capabilities and enable more advanced behavior patterns.
- Added New
timezoneOption inconfig.yml
- Added a new
timezoneoption inconfig.yml.- Added New Text Effect Tag:
<shadow:#RRGGBB:opacity>Text</shadow>
- Added support for a new text shadow tag:
<shadow:#RRGGBB:opacity>Text</shadow>.- Fixed Animation Flicker in
%fiomenu_at:<name>%
- Fixed a bug in
%fiomenu_at:<name>%animation usage where some text could be skipped during rendering.
FioMenu Update - Changelog
(1.16)
- Added SellGUI / Vaults-Oriented Selling Flow (Configurable Integration Path)
- Introduced a new SellGUI-oriented workflow so FioMenu menus can act as controlled sell containers, with economy payout routed through supported providers.
- Expanded compatibility handling for vault-based economy deposit flow and plugin-driven pricing pipelines, allowing SellGUI use-cases to be managed from FioMenu menu logic.
- Improved transaction safety behavior around unsold-item handling and refund scenarios so inventory reconciliation is more predictable during close/sell cycles.
- Result: server owners can now build practical SellGUI/Vault-style menu experiences directly from FioMenu configuration with cleaner integration behavior.
- Added New Menu Action:
[SELL_GUI]
- Added a new executable action token:
[SELL_GUI]- This action enables a dedicated sell execution path from menu actions, so sell behavior can be triggered explicitly in GUI action chains without relying on ad-hoc command wiring.
- Integrated the action into existing action execution flow so it works alongside current click/action orchestration patterns (e.g., state clicks, message/sound feedback, conditional branches).
- Result: menu authors get a first-class sell trigger for cleaner, more readable SellGUI configs.
- Modernized
config.ymlStructure (Simpler + More Maintainable)
- Refined
config.ymlorganization to be more modern and easier to navigate for server owners.- Reduced ambiguity in integration-related sections and improved readability of key settings so setup and long-term maintenance are simpler.
- Prepared configuration structure for forward compatibility, while preserving practical migration behavior for existing setups.
- Result: cleaner config UX, lower setup friction, and easier future expansion of settings.
- Added Permission-Gated Tab Completion
- Implemented permission-aware filtering in command suggestions so players only see subcommands/routes they are allowed to use.
- Updated command tab-completion behavior to respect access control at suggestion time, reducing command discovery noise for unauthorized users.
- Improved dynamic command suggestion handling by aligning completion visibility with runtime permission expectations.
- Result: safer UX, clearer command suggestions, and better parity between visible completions and executable actions.
