# v1.5.0

> Released: 2025-05-12

## ✨ New Features

### Admin Panel (Full Overhaul)

* **Tier Management GUI** — Create, delete, enable/disable tiers, toggle shop visibility
* **Tier Block Selector** — Dialog API input for creating new tiers (name, radius, price)
* **Tier Order GUI** — Reorder tier display in shop
* **First Join Config GUI** — Set which tier to give new players on first join
* **Region List GUI** — Browse all regions with pagination + search by player name
* **Region Detail GUI** — Teleport, edit flags, add members, transfer owner, delete
* **Default Flags GUI** — Set default flag values for newly created regions

### Player GUI Improvements

* **Rename Region** — Players can rename their protection zones via Settings GUI
* **Border Visualizer** — Particle border display from Settings GUI
* **Owner GUI** — Transfer ownership + delete region with confirmation
* **Delete Confirm GUI** — Safety confirmation before deleting

### Migration System

* `/ps migrate` — Single command, auto 3-step process:
  1. Import regions from ProtectionStones WorldGuard data
  2. Cleanup old `ps*` WG regions
  3. Sync new `cake_ps_*` WG regions

### Configuration System

* **messages.yml** — All player-facing text, fully customizable with hex colors
* **lore.yml** — All GUI item names/lore, hot-reloadable
* **config.yml** — Settings (limits, teleport delay, border visuals, greeting, shop)
* **database.yml** — Backend selection (SQLite/MySQL), connection settings, journal mode
* **Settings class** — Reads all config values, used throughout plugin
* `/ps reload` — Reloads all config files without restart

### Technical

* All text uses `&#RRGGBB` hex colors (zero legacy `&X` codes)
* GUI titles in English Small Caps (ᴘʀᴏᴛᴇᴄᴛ, ꜰʟᴀɢ, ᴍᴇᴍʙᴇʀ, etc.)
* Database reads backend/settings from `database.yml`
* SQLite: configurable file path, journal mode, synchronous mode
* MySQL: host, port, database, credentials, table prefix, SSL
* Dialog API for tier creation (Paper 1.21+)
* Floodgate/Geyser Bedrock form support
* Folia/CanvasMC scheduler compatibility
* Region limit enforcement from config
* Greeting messages use config format strings

## 🐛 Fixes

* Fixed resource files (database.yml, lore.yml, messages.yml) not extracting on first run
* Fixed `?: run {}` pattern causing type mismatch in PSBedrockDialog
* Fixed border visualizer not connected in Settings GUI (was TODO placeholder)

## 📦 Dependencies

* **Required:** WorldGuard 7.0+
* **Optional:** Vault (shop), Floodgate (Bedrock forms)
* **Added:** Floodgate API compile dependency

## ⬆️ Upgrade Notes

* Delete `plugins/CakeProtect/` folder before first run to regenerate all config files
* Or manually add missing files: run server once, it will create them automatically
* If migrating from ProtectionStones: run `/ps migrate` after both plugins are loaded


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.niendsitekungz.com/changelog/v1.5.0.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
