FrozenShop
The ultimate replica of DonutSMP Shop for free
FrozenShop
❄️ FrozenShop
A clean, fully configurable GUI shop plugin for Minecraft servers running Vault. Economy is powered exclusively by Vault.
---
📋 Requirements
| Dependency | Type | Notes | |---|---|---| | Spigot / Paper 1.21+ | Required | Server software | | Vault | Required | Economy bridge | | An economy plugin | Required | EssentialsX, CMI, etc. | | PlaceholderAPI | Optional | Enables `%frozenshop_totalspent%` |
---
⚙️ Installation
1. Drop `FrozenShop.jar` into your `/plugins` folder 2. Make sure Vault and an economy plugin are installed 3. Start the server — default config and shop files generate automatically 4. Edit `plugins/FrozenShop/config.yml` and `plugins/FrozenShop/shops/*.yml` 5. Run `/frozenshop reload` to apply changes without restarting
---
💬 Commands
| Command | Permission | Description | |---|---|---| | `/shop` | `frozenshop.open` | Open the main shop menu | | `/frozenshop reload` | `frozenshop.admin` | Reload all configs live | | `/frozenshop addcategory <name>` | `frozenshop.admin` | Create a new shop category file | | `/frozenshop removecategory <name>` | `frozenshop.admin` | Delete a shop category | | `/frozenshop addhanditem <category> <price>` | `frozenshop.admin` | Add the item in your hand to a shop | | `/toggleshopmessages` | `frozenshop.toggle` | Toggle purchase messages on/off per player |
---
🔑 Permissions
| Permission | Default | Description | |---|---|---| | `frozenshop.open` | Everyone | Open the shop | | `frozenshop.admin` | OP | All admin commands | | `frozenshop.toggle` | Everyone | Toggle personal shop messages |
---
🗂️ File Structure
``` plugins/FrozenShop/ ├── config.yml ← Main menu, confirm menu, sounds, messages ├── saves.yml ← Auto-generated — player data (do not edit) └── shops/ ├── end.yml ├── farming.yml ├── food.yml ├── gear.yml └── nether.yml ← Add your own .yml files here for new categories ```
---
🛒 Adding a Shop Item
Open any file inside `shops/` and add a block under `items:`:
```yaml items: my_item: price: 500 slot: 9 material: DIAMOND displayname: '&bShiny Diamond' amount: 1 giveitem: true givelore: false hide_attributes: false command: '' lore: - '&fBuy Price: �bf52b$%price%' ```
To run a console command instead of giving an item, set `giveitem: false` and fill `command`:
```yaml giveitem: false command: 'give %player% diamond 1' ```
> ⚠️ YAML tip: Every item key under `items:` must be unique within the same file. Duplicate keys will cause items to silently disappear from the shop.
---
📄 Placeholders (PlaceholderAPI)
| Placeholder | Description | |---|---| | `%frozenshop_totalspent%` | Total money a player has spent in the shop |
---
🔧 Config Tips
- `confirm-cooldown-ticks` — prevents accidental double-purchases (set to `0` to disable) - `use-actionbars: true` — shows purchase messages in the action bar instead of chat - `play-open-sound: true` — plays a sound when the main shop opens - All colour codes support legacy `&` codes and hex `&#RRGGBB` format
---
👤 Author
Made by DrFrozen