FioMenu Update - Changelog
(1.24)
- Added Dynamic
material: %placeholder%Parsing to FioMenu
- FioMenu now supports placeholder-based material resolution directly inside item definitions through
material: "%placeholder%".- Introduced
behavior.durability: <value>with Static and Placeholder Support
- Added a new
behavior.durabilityproperty that allows menu items to apply runtime durability visuals directly from configuration.- Added
behavior.fallback.enabledfor Dynamic Material Rendering Failures
- Added a dedicated fallback behavior for placeholder-driven material rendering through
behavior.fallback.enabled: true.- When a
material: "%placeholder%"result resolves to invalid, null, empty, undefined, or a non-usable value such as no material available, FioMenu can now swap the item into a configured fallback state.- Added New
[REPAIR_GUI]Action Support
- Introduced a new repair action system through
[REPAIR_GUI]and value-based variants such as[REPAIR_GUI+10].- This action repairs the item placed into the configured repair slot while preserving its existing item data, including meta, NBT-related data, components, and other item-specific information instead of converting it into a plain vanilla replacement.
- Added New
repair.ymlExample Menu for Repairing Features
- Added a new
repair.ymlexample configuration that demonstrates how to build a repair interface entirely with FioMenu components.
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.
