Intercepted Commands Improvements
+ Added new logic for when intercepted command is not in config.
+ Added a check for intercepted commands being in the config (ignore command if not).
+ Fixed TAB reload not being applied when /list is disabled.
+ Fixed sending /r and /msg correct usage with cancelled event.
+ Fixed "None" appearing when no players are online.
+ Fixed custom intercepted commands being reset on restart.
+ Reorganised classes for command interception.
NPC Respawn + Death Message
+ Added back respawn module with correct naming/death message.
+ Added back some important comments to config.
+ Added two new values to config: respawn delay min and max in seconds.
Config Rework
+ Reworked the config.yml file to be more readable, broken into sections and have important links.
Console Error Fix
+ Fixed a minor issue with location error in console.
Message Fix + Migration Module
+ Added a migration module for old lang.yml files.
+ Fixed a message bug with version sent instead of incorrect usage.
Mode Fix + Clean up
+ Fixed an issue when loading the population mode.
+ Improved project structure and class layout.
Languages
+ Moved "player-list.message" to the lang file (You will need to update your list message if configured).
+ Fixed the OP permission on command check.
+ Added new languages: Spanish, French, German, Russian.
+ Added language setting in the config.yml to preload messages.
+ Improved the message model used by the plugin.
FakePlayer Reuse System
+ Added a new fake player re-use system for the chance to have a fake player that has logged in before.
+ Added a cooldown period for when a fake player leaves until they can next join.
+ Added player location support so when they logout they return to that location.
+ Fixed real player joining when a fake player is online.
General Improvements
+ Improved singleton instances and readability throughout plugin.
+ Moved adventureAPI to messages to clean up main class.
+ Removed some unused code.
Skin Loading Improvements
+ Improved skin loading time when a fake player already exists in database.
Console Improvements
+ Improved all console messages to correctly reference ConsoleUtil.
+ Added some debug messages where appropriate.
Minor Improvements
+ Applied minor bug fixes and general stability improvements.
Reload Fixes
+ Fixed a case where /tab reload was cancelled.
+ Fixed /fp help appearing for players without permission.
+ Fixed not removing current names on /fp reload.
+ Fixed /fp reload causing tab to break when real players join.
Name System Revamp
+ Completely reworked the fake player naming system. This now pulls real Minecraft names only from a pre-set list to ensure realistic names.
+ Fixed TAB not instantly loading so causing slight "glitch" on fake player join.
+ Fixed if fake player is already online, generate another name.
Performance Improvements
+ Cleaned up project startup sequence.
+ Cleaned up project manager interface.
+ Improved performance and readability throughout the plugin.
Version Command
+ Added /fp version command in-game to ensure latest version.
Folia Support Fix
+ Fixed all Folia implementations with scheduler (now uses region, npc, etc).
+ Added some fail-safe checks on NPC spawn and despawn.
+ Added checks for shutdown to stop unnecessary code.
Plugin Hook Cleanup
+ Added a custom plugin hook interface.
+ Added console messages for all supported plugins.
+ Cleaned up all plugin hook classes.
Disallow Previous Names
+ Added an option in the config "disallow-previous-names" which loads previously played names on your server and disallows them from name generation.
+ Fixed the project version number for the update checker.
ProtocolLib Compatibility
+ Added version checks on start-up for ProtocolLib to validate it's the correct version for the plugin.