Full Localization Support
- All GUI buttons, items, and messages now fully support multi-language
- Added complete English (en_US) and Thai (th_TH) language files
- Flag names, descriptions, and groups are now translatable
- Greeting messages moved from config.yml to lang files
- Removed hardcoded Thai text from all GUI elements
- Fixed empty lore showing as [] in admin GUI
- Fixed button keys structure (gui.buttons., gui.owner., gui.members., gui.banned.)
Bug Fixes
- Fixed chat input leaking messages to other players (CMI compatibility)
- Added legacy AsyncPlayerChatEvent listener for plugins that use old chat system
- Chat input now clears both viewers() and recipients() to prevent message leak
- Fixed plugin.yml invalid YAML (authors format)
Player Validation
- Players who never joined the server cannot be added as members
- Players who never joined cannot receive ownership transfer
- Players who never joined cannot be banned from regions
Other Changes
- Added bStats metrics integration
- /ps and /ps list now open GUI instead of text list
- Removed unused display-name from tier config
- Removed greeting format from config (now in lang)
- Dual chat event handling: AsyncChatEvent (Paper) + AsyncPlayerChatEvent (Legacy)
##New Features
### Admin Panel (Full)
- Tier Management — create/delete/enable/disable, toggle shop visibility
- Tier Block Selector — Dialog API input (name, radius, price)
- Tier Order — reorder display in shop
- First Join Config — set tier gift for new players
- Region Browser — paginated list + search by player
- Region Detail — teleport, edit flags, add members, transfer owner, delete
- Default Flags — set defaults for new regions
### Player GUI
- Rename region from Settings GUI
- Border Visualizer (particle outline)
- Owner GUI with transfer + delete confirmation
- All GUI titles in English Small Caps
### Migration
-/ps migrate— single command, auto 3-step:
1. Import from ProtectionStones WorldGuard data
2. Cleanup oldps*WG regions
3. Sync newcake_ps_*WG regions
- Safe to remove ProtectionStones after migration
### Configuration System
messages.yml— all player text (hex colors, hot-reload)lore.yml— all GUI item names/lore (hot-reload)config.yml— limits, teleport, visuals, shop, first-joindatabase.yml— backend selection (SQLite/MySQL), connection settings/ps reload— reloads everything without restart
### Technical
- All text uses
&#RRGGBBhex colors (zero legacy codes)- Database reads from
database.yml(SQLite + MySQL support)- Dialog API for tier creation (Paper 1.21+)
- Floodgate/Geyser Bedrock form support
- Folia/CanvasMC compatible
- Region limit enforcement from config
##Fixes
- Fixed resource files not extracting on first run
- Fixed border visualizer not working (was placeholder)
- Fixed Bedrock dialog type mismatch
##Dependencies
- Required: WorldGuard 7.0+
- Optional: Vault (shop), Floodgate (Bedrock forms)
##New Features
### Admin Panel (Full)
- Tier Management — create/delete/enable/disable, toggle shop visibility
- Tier Block Selector — Dialog API input (name, radius, price)
- Tier Order — reorder display in shop
- First Join Config — set tier gift for new players
- Region Browser — paginated list + search by player
- Region Detail — teleport, edit flags, add members, transfer owner, delete
- Default Flags — set defaults for new regions
### Player GUI
- Rename region from Settings GUI
- Border Visualizer (particle outline)
- Owner GUI with transfer + delete confirmation
- All GUI titles in English Small Caps
### Migration
-/ps migrate— single command, auto 3-step:
1. Import from ProtectionStones WorldGuard data
2. Cleanup oldps*WG regions
3. Sync newcake_ps_*WG regions
- Safe to remove ProtectionStones after migration
### Configuration System
messages.yml— all player text (hex colors, hot-reload)lore.yml— all GUI item names/lore (hot-reload)config.yml— limits, teleport, visuals, shop, first-joindatabase.yml— backend selection (SQLite/MySQL), connection settings/ps reload— reloads everything without restart
### Technical
- All text uses
&#RRGGBBhex colors (zero legacy codes)- Database reads from
database.yml(SQLite + MySQL support)- Dialog API for tier creation (Paper 1.21+)
- Floodgate/Geyser Bedrock form support
- Folia/CanvasMC compatible
- Region limit enforcement from config
##Fixes
- Fixed resource files not extracting on first run
- Fixed border visualizer not working (was placeholder)
- Fixed Bedrock dialog type mismatch
##Dependencies
- Required: WorldGuard 7.0+
- Optional: Vault (shop), Floodgate (Bedrock forms)
