New features:
• Added a built-in update checker to all Perf plugins
Improvements:
• New config option:update-checker.enabled: true(enabled by default)
Improvements:
• GUIs updated with icons and symbols in gui titles, item names and lore for clearer, more consistent look
• Action buttons (e.g. cash out, play again, join) use distinct materials and clearer labels
• Filler and borders use themed colors per GUI for a more polished layout
Improvements:
• Game names and descriptions in the minigame selection GUI (Memory, Simon Says, Whack-a-Mole, Battleship) can now be edited in config.yml undergames.<game>.nameandgames.<game>.description
Bug fixes:
• Fixed a potential crash when switching turns in some minigames (e.g. Math Blitz) when no turn was set
• Puzzle Race (Jigsaw) now opens the game inventory on the correct server region on Folia, preventing cross-region errors
• Hangman GUI title now uses the configured format from config/messages (placeholders {word} and {turn}) instead of a hardcoded string
Improvements:
• All main GUI texts (player select, game select, queue) are now configurable in config.yml
• Page display (e.g. "Page 1/3") can be changed via gui.player-select.page-format with placeholders {page} and {total}
• Player head display uses gui.player-select.player-head-format with {player}; page item material is configurable
• Back, previous, next and close button names and lore are configurable per GUI section
• Game select: description prefix and "Click to play!" / "Click to select opponent!" texts are configurable; unknown player fallback name is configurable
• Queue GUI: "You are in this queue!", "Players in queue", "Click to join!", "(Active)" suffix, and leave-queue button name, lore and item are all configurable with placeholders where needed ({color}, {count})
• Existing configs keep working; new options use the previous defaults when keys are missing
Bug fixes:
• Fixed crash when clicking in the minigames or queue GUI on Folia/Purpur (Initial delay ticks may not be <= 0)
• Minigames menu and queue "Click to join" now open and work correctly on Folia-based servers
Improvements:
• Full Folia compatibility: all player inventory and GUI actions run on the correct entity region
• Queue countdown and game start no longer run from the global scheduler; game start is scheduled on the player region
• Cursor clearing and opponent notifications (e.g. when a player leaves) are scheduled per player to avoid cross-region access
• All minigames (Quick Click, Rhythm, Whack-a-Mole, Memory, and 15+ others) now open/close inventories via the entity scheduler
Technical:
• SchedulerHelper.runAtFixedRate now enforces a minimum initial delay and period of 1 tick to satisfy Folia
• Queue countdown task uses 1 tick initial delay instead of 0
Bug fixes
Performance
- Thread-safety for Folia (ConcurrentHashMap, ConcurrentLinkedQueue)
- Whack-a-Mole timer task correctly cancelled
- Admin stats command loads from database
- Trivia YAML answer parsing fixed
- GUI Material handling and border items corrected
- Folia-compatible entity scheduling
- Hangman and Trivia word/question caching
- SQLite stats upsert simplified
