# RedeemCodes – Easy & Powerful Code Redemption Plugin for Minecraft
**RedeemCodes** is a lightweight yet powerful plugin that allows server administrators to create, manage, and redeem custom codes to reward players.
---
## Features
* ️ **Custom Redeemable Codes** – Define unlimited codes with flexible reward options.
* ⛔ **Blacklist/Whitelist System** – Block or allow specific players for each code.
* **Redemption Limits & Cooldowns** – Set per-player or global redemption limits with cooldown timers.
* **Interactive GUI Editor** – Manage codes and rewards directly in an intuitive in-game GUI.
* **Success & Error Sounds** – Configurable sounds that play on successful or failed redemption.
* **Placeholder Support** – Use placeholders like `%player%`, `%uuid%`, `%random-min-max%`, and more inside reward commands.
* **Permission-Based Access** – All admin commands are fully permission protected.
* **Fully Configurable** – Customize all messages, sounds, and prefix in `config.yml`.
---
## Reward System
* **Console Command**: Rewards are assigned as console commands, creating endless possibilities without limitations.
* **Placeholder Support**: Supports placeholders to add custom values in commands.
---
## Supported Placeholders
* `%player%` – Player's name
* `%uuid%` – Player's UUID
* `%displayname%` – Player's display name
* `%world%` – World name
* `%random-min-max%` – Random number within a range
Example reward:
```yaml
- "eco give %player% %random-100-500%"
```
---
## Commands & Permissions
### ✅ Player Command
```plaintext
/redeem <code>
```
Redeem a code and claim its reward.
⤷ *Permission: None (available to all players)*
---
### Admin Commands
```plaintext
/rc create <code> - Create a new code
/rc remove <code> - Remove a code
/rc addreward <code> <command> - Add a reward command to a code
/rc removereward <code> <id> - Remove a reward by ID
/rc list - List all codes
/rc redeemed <code> - Show players who redeemed a code
/rc rewards <code> - Show rewards attached to a code
/rc reload - Reload plugin configs
/rc version - View plugin version
```
⤷ *Permission: `op`*
---
## ️ GUI System
The plugin includes a modern and easy-to-use GUI for code management:
* **Main Menu**
* Create Code
* Codes List
* Admin Command
* **Codes List GUI**
* View all available codes at a glance
* **Code Editor**
* Edit rewards, settings, and options directly in-game
---
## Example Code Setup
<details>
<summary>codes.yml</summary>
```yaml
Codes:
samplecode:
enabled: true
permisson:
required: false
list:
- code.sample.redeem
redeem-limit:
Type: PLAYER
Count: 1
Cooldown: 5
Cooldown-message: "&cYou must wait %Cooldown% before redeeming again!"
Playerlist:
Used: []
Blacklist:
Type: ENABLED
List:
- reyalp
rewards:
- say %player% redeemed with UUID %uuid%
- give %player% diamond %random-1-5%
```
</details>
---
## Configurable Sounds
```yaml
sounds:
success: ENTITY_PLAYER_LEVELUP
failure: BLOCK_ANVIL_LAND
```
---
## Fully Customizable Messages
```yaml
messages:
redeem-success: "&aSuccessfully redeemed the code!"
already-used: "&eYou have already redeemed this code."
blacklisted: "&cYou are not allowed to redeem this code."
code-disabled: "&cThis code is currently disabled."
out-of-stock: "&cThis code is out of stock!"
```
---
## Requirements
* Minecraft 1.20.2+
* Paper / Spigot / Purpur / Bukkit
---
## Why Use RedeemCodes?
Whether you’re organizing events, giveaways, loyalty programs, or simple player rewards, RedeemCodes offers a seamless, lightweight, and customizable way to engage your server community.