FioChat Update - Changelog
(2.1.18)
- Telemetry (bStats)
Added bStats integration to provide plugin usage metrics. FioChat now initializesMetricsduring startup using plugin id31458, with support for custom chart reporting (e.g.SimplePie) to improve monitoring and release insight.
- Commands & Aliases
Fixed a bug where aliases configured inaliases.commandswere rewritten internally but not fully registered in Bukkit's command map. Aliases (such as/qc,/giveaways, etc.) are now re-registered properly and visible/usable as real command aliases after startup and reload.
FioChat Update - Changelog
(2.1.17)
- Nametag
- Fixed
nametagmovement flickering, this update now makes the nametag follow the player’s own perspective client view.- Chat
- Fixed a bug where after a player had
0 permissionsor got deopped, they could not use chat.- Nickname
- Fixed
/nickwhere FioChat will no longer respect 2nd/3rd-party plugins that modify the player’s name.
FioChat Update - Changelog
(2.1.16)
- Formats & Fallback
- Fixed an issue where
fallbackwas not processed correctly whenformat: []was blank.- Added new
shadow_settingssupport underfallback:.- Restructured
fallback.format.rankintofallback.- Fixed behavior where FioChat forcefully fallbacked
%vault_prefix%to FioChat placeholder settings.- Scoreboard & Below Name
- Starting from
2.1.16, FioChat no longer usesscoreboardfor thebelow_namefeature.
FioChat Update - Changelog
(2.1.15)
- GUI & UX Improvements
- Fixed
page.next.disabledandpage.previous.disabledmaterial not properly rendered in FioChat.- Added support for
AIRto make GUI items completely invisible.- Added
actionsto the rest of FioChat GUIs for broader menu customization.- Under
history.yml->player_info, theloreoption is now available.- Added more customization to FioChat Reports GUI.
- Commands & Module Behavior
- Changed
/emoji listto/emoji.- Modules that are disabled will now have their commands fully removed from
/[TAB]suggestions.- Scoreboard & GamerTag
- Fixed
/toggle scoreboard, now also affectingbelow_nametagscoreboard objective correctly.- Added respect setting for GamerTag
npcandhologram.- Module
gamertagis now deprecated for MC776and above due toMC-99647andMC-307012.- Formatting, Tags & Fallbacks
- Added
%fontRendered%so players can see what the actual rendered font is.- Added new tag
<shadow:#RRGGBB:<OPACITY>>Text</shadow>.- Added
fallback.format.ranksettings to formats.- Fixes & Compatibility
- Fixed item-display default config typo where
lowercasewas incorrect.- Fixed a bug where adding a new emoji and using
TEST_EMOJI:%emoji-id%could ignore Emoji Event.- FioChat drops support from
1.16up to1.19starting from2.1.15.- Fixed Item Display Module preview for
[inv]: row count changed from3to4.- Restructured
item-display/menu.yml; remove old GUI file and let FioChat generate a new one.
FioChat Update - Changelog
(2.1.14)
- GamerTag Optimization
- Fixed
GamertagService&GamertagService.tickUpdateis alot more optimized than 2.1.13.- GamerTag Bug with Hologram/NPC BelowName
- FioChat will no longer adds a
below_namescoreboard objective to NPC / Hologram.
FioChat Update - Changelog
(2.1.13)
- JoinQuit Menu & UX Fixes
- Fixed
Current Selectionitem disappearing in/joinand/quitsound mode.- Added fallback placement for current selection in sound-tree view when
info-itemis not configured.- Fixed current-selection renderer so configured material/texture is respected (no longer forced to player head).
- Removed
<!italic>usage from sound display formatting.- JoinQuit Sound-Tree Icon Mapping
- Added explicit Block Soundmappings to prevent
PAPERfallback:
BUBBLE -> WATER_BUCKETCHAIN -> CHAINwithIRON_CHAINfallbackCORAL -> TUBE_CORAL_BLOCKCROP -> WHEATENCHANTMENT -> ENCHANTING_TABLEEND -> END_STONEFENCE -> OAK_FENCEFIRE -> FLINT_AND_STEELFUNGUS -> CRIMSON_FUNGUSLAVA -> LAVA_BUCKETMETAL -> IRON_BLOCKNYLIUM -> WARPED_NYLIUMPORTAL -> CRYING_OBSIDIANROOTS -> ROOTED_DIRTSTEM -> CRIMSON_STEMSWEET -> SWEET_BERRIESTRIPWIRE -> TRIPWIRE_HOOKWART -> NETHER_WART_BLOCKWATER -> WATER_BUCKETWET -> WET_SPONGEWOOD -> BIRCH_WOODWOODEN -> SPRUCE_PLANKSWOOL -> RED_WOOL- Added explicit Entity Soundmappings to prevent
PAPERfallback:
BOAT -> OAK_BOATARMOR -> ARMOR_STANDELDER -> ELDER_GUARDIAN_SPAWN_EGGEXPERIENCE -> EXPERIENCE_BOTTLEFIREWORK -> FIREWORK_ROCKETENDER -> ENDER_EYEFISH -> FISHING_RODGENERIC -> PLAYER_HEADHOSTILE -> CREEPER_HEADILLUSIONER -> EGGIRON -> IRON_GOLEM_SPAWN_EGG(modern), fallbackIRON_INGOT(legacy)ITEM -> STICKLEASH -> LEADLIGHTNING -> END_RODLINGERING -> LINGERING_POTION- Added automatic
HIDE_POTION_EFFECTSflag for lingering potion icon rendering.- Sprite Compatibility (1.21.9 vs 1.21.10+ / 26.1.2)
- Fixed missing texture behavior on modern runtimes caused by legacy block-atlas fallback being applied too broadly.
- Item sprite atlas selection is now protocol-aware:
1.21.9keeps legacy compatibility path.1.21.10+uses modern item atlas path to prevent missing textures.
FioChat Update - Changelog
(v2.1.12)
- Join/Quit Sound Tree Fixes
- Fixed issue where
/joinand/quitsound tree branches/parents could fail to load after sound compatibility changes.- Sound-tree config source now has safe fallback resolution, so branch data is still read even if one config source is missing or incomplete.
- Improved cross-version sound resolving behavior for legacy + modern runtimes.
- Added more detailed particle options for join & quit effects.
- Sound Compatibility Runtime Fix
- Fixed
VerifyErroron modern Paper caused by enum-casting assumptions in sound id handling.- Sound id resolution now uses safer reflective/runtime-compatible lookup and fallback paths.
- AFK Behavior Corrections
- AFK auto-clear now correctly respects per-cause toggles:
movehead-rotateinteractchatcommand- Fixed false AFK cancellation from minor movement jitter/head movement edge cases.
- Added broadcast message when player exits AFK mode (cleared/unafk).
- Added AFK silent mode:
/afkcan freeze client chat while AFK.- On AFK exit, player can unfreeze chat and view stored history via
/prevmsg.- Added previous message history support while AFK.
- Advancement Module (Cross-Version) Fixes
- Improved custom advancement handling on legacy server versions.
- Fixed duplicate advancement send issue where vanilla + custom messages could both appear.
- Module now prioritizes FioChat-controlled advancement output more consistently across versions.
- Sprite / Inline Object Rendering
[p:<player>]and[s:<material>]remain supported.- Added/confirmed inline support for
[s:<item>]and[p:<player>].- Fixed
[s:emerald]missing-texture behavior on modern builds (1.21.10+ / 26.1.2).- Added server-version-aware sprite atlas selection:
1.21.9keeps compatibility path.1.21.10+forces item atlas path for item sprites to prevent missing textures.- Added sprite blocker/blacklist feature.
- Added sprite support to FioChat scoreboard and expanded support across almost all FioChat modules.
- Display-Tag / Formula Evaluator Update
- Added evaluator operators
>=,<=,<, and>to display-tag module and all sub-modules.- Animation & Config Improvements
- Resimplified placeholder
{fiochat_animation:<animation>}to{anim:<animation>}.- Updated default configurations for TAB, scoreboard, bossbar gamertag, and vault-group.
- Redeem-Code Module Fix
- Fixed faulty caching issue in Redeem-Code module.
FioChat Update - Changelog
(2.1.11)
- Biome Discovery (Custom Biome / Datapack Support)
- Biome detection now supports namespaced keys (for example
terralith:moonlight_grove,terralith:caves/deep_caves).- Custom datapack biome IDs can now be recognized and announced correctly.
- Display names for custom biomes can be overridden in
modules/biome-discovery/config.ymlunderdisplay-names:.- With
ignore-unmapped-biomes: true, unknown biome IDs are ignored silently.- Biome state and per-player toggles remain persistent across reload/restart (YAML/DB).
- Chat Channels (GUI Move + Permission Visibility Details)
- Channel GUI moved from legacy
gui/channels.ymltomodules/chat-channels/gui/channels.yml, with migration support.- Channel selector now supports structured
content-slots,decorations, improved fallback item rendering, and safer slot resolution.- Active channel preference is now persisted per player (YAML/DB) and survives restart.
- Visibility behavior details:
- Normal channel message: viewer must have channel permission and be listening to that channel.
- Prefix-routed message (example
#,$): permitted viewers can receive the routed message even if they are not currently listening to that channel.- Added runtime channel statistics for placeholder usage (online/offline/messages/chatters in rolling windows).
- Chat History (Possibility/Probability Filter Update)
- Chat History GUI was split into:
modules/chat-history/admin/chat-history/history.yml
andmodules/chat-history/admin/chat-history/browser.yml.- Legacy chat-history GUI paths are migrated automatically.
- Possibility filter is now applied only in compatible history modes.
- When mode is incompatible, possibility filter safely falls back to
ALLto prevent invalid/stale filter states.- Improved history menu click/drag guard handling and control slot reliability.
- Display Tag Refactor (Gamertag, Scoreboard, TAB, Bossbar as Sub-Modules)
- Display systems are consolidated under:
modules/display-tag/display_tag.yml,
modules/display-tag/animations.yml,
modules/display-tag/data.yml.- Sub-module toggles are centralized in
modules/settings.yml -> modules.tab.sub-settings:
tab,scoreboard,gamertag,bossbar.- Runtime player toggle/forced-profile state is standardized under
display_tagtree.- Shared Display Tag pipelines added/standardized for:
settings.output-papireplacesettings.papi-refresh- TAB improvements include group-based list-name formats, player/world profile matching, and hidden-viewer rules.
- Scoreboard improvements include shared settings path alignment, calendar handling, world profile matching, and optional score-number hiding.
- Bossbar improvements include shared settings path alignment, world profile matching, and unified toggle persistence migration.
- Gamertag improvements include profile matching enhancements and below-name configuration flow stabilization.
- New Module: Mailbox
- Added new
mailboxmodule and/mailboxcommand.- Added permissions:
fiochat.mailbox.format.hex,
fiochat.mailbox.format.color,
fiochat.mailbox.format.modifier.- Added full modular GUI suite:
inbox.yml,view.yml,compose.yml,sent.yml,history.yml,rewards.yml,selector.yml,delete-confirm.yml.- Mailbox core includes unread notifications, prompt compose flow, target selection, sent log, history navigation, and reply-window behavior.
- Server mailbox entries support configurable command rewards and item rewards.
- Rewards editor includes pagination, compact mode, blacklist support, and click-cooldown protection.
- Added mailbox placeholders for unread count, message/sound state, and read/deleted/received logs.
- QuickChat Fixes and Improvements
- Fixed prompt input flow related to the
Value cannot be emptyissue.- Prompt capture now preserves original message input before chat-event cleanup.
- Dynamic keyword allocation now fills the smallest missing numeric ID.
cancelprompt flow support remains available and consistent.- Added
/quickchat <page>page-open support.- Improved menu rendering reliability, disabled page button states, and click slot validation.
- Additional Notes
- Plugin version updated to
2.1.11.- Command and permission registrations updated in
plugin.yml(including mailbox).- Toggle placeholder standardization continues with
*_stateformat and legacy alias compatibility.
Full Commands (FioChat 2.1.11)
/fiochat- usage:/fiochat- aliases:[fc]/report- usage:/report <player>/reports- usage:/reports/emoji- usage:/emoji list/fonts- usage:/fonts [font]- aliases:[font]/toggle- usage:/toggle <mentions|message|announcement|join|quit|motd|biomediscovery|daycounter|deathmessage|scoreboard|bossbar|tab|inventoryalert> [option]/itemdisplay- usage:/itemdisplay <list|open>- aliases:[item-displays]/join- usage:/join/quit- usage:/quit/giveaway- usage:/giveaway- aliases:[giveaways]/id- usage:/id <open|book> <preview_uuid>/redeem- usage:/redeem <code>/afk- usage:/afk [player] [reason]/ignore- usage:/ignore <player>|list/unignore- usage:/unignore <player>/channel- usage:/channel- aliases:[channels]/quickchat- usage:/quickchat- aliases:[qc]/msg- usage:/msg <name> <msg>- aliases:[message]/reply- usage:/reply <message>- aliases:[r]/vanish- usage:/vanish [toggle [player]|status|interaction <key> [on|off|toggle]]/mailbox- usage:/mailbox
Full Permission Nodes (plugin.yml)
fiochat.adminfiochat.admin.afkfiochat.admin.mutechatfiochat.admin.channel.mutechatfiochat.emoji.usefiochat.emoji.listfiochat.fonts.usefiochat.bypass.maxjoinsfiochat.bypass.allfiochat.channel.usefiochat.channel.listfiochat.channel.joinfiochat.channel.tradefiochat.channel.stafffiochat.quickchat.usefiochat.mailbox.format.hexfiochat.mailbox.format.colorfiochat.mailbox.format.modifierfiochat.mentions.usefiochat.mentions.playerfiochat.mentions.herefiochat.mentions.everyonefiochat.mentions.selffiochat.mentions.cooldown.bypassfiochat.mentions.player.cooldown.bypassfiochat.mentions.here.cooldown.bypassfiochat.mentions.everyone.cooldown.bypassfiochat.message.usefiochat.message.bypass.togglefiochat.deathmessage.usefiochat.deathmessage.togglefiochat.announcement.usefiochat.announcement.toggle.messagefiochat.announcement.toggle.soundfiochat.report.usefiochat.report.receivefiochat.report.reviewfiochat.report.cooldown.bypassfiochat.afk.usefiochat.afk.reasonfiochat.afk.checkfiochat.afk.othersfiochat.afk.blacklist.bypassfiochat.afk.message.bypassfiochat.ignore.usefiochat.ignore.listfiochat.ignore.exemptfiochat.joinquit.usefiochat.joinquit.command.joinfiochat.joinquit.command.quitfiochat.joinquit.toggle.join.messagefiochat.joinquit.toggle.join.soundfiochat.joinquit.toggle.quit.messagefiochat.joinquit.toggle.quit.soundfiochat.giveaway.createfiochat.giveaway.admin.createfiochat.redeem.usefiochat.admin.codefiochat.gamertag.usefiochat.scoreboard.usefiochat.scoreboard.togglefiochat.bossbar.usefiochat.bossbar.togglefiochat.tab.usefiochat.tab.togglefiochat.inventoryfullalert.usefiochat.inventoryfullalert.togglefiochat.motd.usefiochat.motd.toggle.messagefiochat.biomediscovery.usefiochat.biomediscovery.toggle.titlefiochat.biomediscovery.toggle.subtitlefiochat.biomediscovery.toggle.soundfiochat.biomediscovery.toggle.actionbarfiochat.daycounter.usefiochat.daycounter.toggle.titlefiochat.daycounter.toggle.subtitlefiochat.daycounter.toggle.soundfiochat.daycounter.toggle.actionbarfiochat.chathistoryfiochat.itemdisplays.usefiochat.itemdisplays.itemfiochat.itemdisplays.profilefiochat.itemdisplays.inventoryfiochat.itemdisplays.enderchestfiochat.itemdisplays.item.cooldown.bypassfiochat.itemdisplays.profile.cooldown.bypassfiochat.itemdisplays.inventory.cooldown.bypassfiochat.itemdisplays.enderchest.cooldown.bypassfiochat.format.usefiochat.format.chat.markup.boldfiochat.format.chat.markup.strikethroughfiochat.format.chat.markup.italicfiochat.format.chat.markup.spoilerfiochat.chat.cooldown.bypassfiochat.chat.flood.bypassfiochat.command.flood.bypassfiochat.chat.antiunicode.bypassfiochat.chat.grammar.bypassfiochat.chat.caps.bypassfiochat.antibot.bypassfiochat.chat.clear.bypassfiochat.command.cooldown.bypassfiochat.chat.repeat.bypassfiochat.command.repeat.bypassfiochat.chat.antiswear.bypassfiochat.command.antiswear.bypassfiochat.sign.antiswear.bypassfiochat.chat.antiadvertising.bypassfiochat.command.antiadvertising.bypassfiochat.sign.antiadvertising.bypassfiochat.perworldchat.bypassfiochat.chatradius.bypass.senderfiochat.chatradius.bypass.receivefiochat.commandhider.bypassfiochat.vanish.usefiochat.vanish.othersfiochat.vanish.seefiochat.vanish.bypassfiochat.vanish.interactionfiochat.vanish.autojoinfiochat.spy.cooldownfiochat.spy.cooldown.excludefiochat.spy.floodfiochat.spy.flood.excludefiochat.spy.antiunicodefiochat.spy.antiunicode.excludefiochat.spy.antirepeatfiochat.spy.antirepeat.excludefiochat.spy.antiswearfiochat.spy.antiswear.excludefiochat.spy.antiadvertisingfiochat.spy.antiadvertising.excludefiochat.spy.excludefiochat.warnpoints.bypassfiochat.vanish.level.*fiochat.vanish.see.level.*fiochat.admin.module.reloadfiochat.admin.setlang
All Placeholders
- Static %fiochat_% placeholders
%fiochat_afk_duration%%fiochat_afk_duration_seconds%%fiochat_afk_reason%%fiochat_afk_state%%fiochat_announcement_message_state%%fiochat_announcement_sound_state%%fiochat_antibot_pending%%fiochat_antibot_verified%%fiochat_biomediscovery_state%%fiochat_bossbar_state%%fiochat_channel_current%%fiochat_channels_available%%fiochat_daycounter_state%%fiochat_deathmessage_disabled%%fiochat_deathmessage_state%%fiochat_font%%fiochat_font_display%%fiochat_inventory_alert_enabled%%fiochat_inventory_alert_full_enabled%%fiochat_inventory_alert_full_status%%fiochat_inventory_alert_prewarn_enabled%%fiochat_inventory_alert_prewarn_status%%fiochat_inventory_alert_status%%fiochat_inventory_alert_threshold%%fiochat_inventoryalert_state%%fiochat_inventoryalert_threshold%%fiochat_join_message_state%%fiochat_join_particle%%fiochat_join_preset%%fiochat_join_sound%%fiochat_join_sound_state%%fiochat_join_style%%fiochat_mailbox_log_deleted%%fiochat_mailbox_log_read%%fiochat_mailbox_log_received%%fiochat_mailbox_message_state%%fiochat_mailbox_sound_state%%fiochat_mailbox_unread_count%%fiochat_mentions_state%%fiochat_message_state%%fiochat_motd_message_state%%fiochat_player_msg_state%%fiochat_quit_message_state%%fiochat_quit_particle%%fiochat_quit_preset%%fiochat_quit_sound%%fiochat_quit_sound_state%%fiochat_quit_style%%fiochat_scoreboard_state%%fiochat_tab_state%%fiochat_user_platform%%fiochat_vanish_interaction_armorstandedit%%fiochat_vanish_interaction_breakingblocks%%fiochat_vanish_interaction_bucketuse%%fiochat_vanish_interaction_containeropen%%fiochat_vanish_interaction_doorleverbuttonuse%%fiochat_vanish_interaction_entityinteract%%fiochat_vanish_interaction_itemdrop%%fiochat_vanish_interaction_itemframerotate%%fiochat_vanish_interaction_itempickup%%fiochat_vanish_interaction_placingblocks%%fiochat_vanish_interaction_pressureplates%%fiochat_vanish_interaction_tripwiretrigger%%fiochat_vanish_interaction_xppickup%%fiochat_vanish_level%%fiochat_vanish_state%- Dynamic %fiochat_% channel statistic patterns
%fiochat_channel_<channel_id>_online%%fiochat_channel_<channel_id>_offline%%fiochat_channel_<channel_id>_messages_<window>%%fiochat_channel_<channel_id>_chatters_<window>%- Supported window examples:
10s,5m,2h,1d,1w,1mo,1y,all.- Alias expansion placeholders registered by FioChat
%tab_placeholder_<placeholder_id>%,%tab_papi_<placeholder_id>%%fc_placeholder_<placeholder_id>%,%fc_papi_<placeholder_id>%%scoreboard_placeholder_<placeholder_id>%,%scoreboard_papi_<placeholder_id>%%bossbar_placeholder_<placeholder_id>%,%bossbar_papi_<placeholder_id>%- Core passthrough alias:
%fiochat_papi_<placeholder_id>%- Compatibility alias behavior
- Any
%fiochat_*_toggle%request is normalized to%fiochat_*_state%automatically.
