Main Configuration (config.yml)
General Settings
license: "CODE"
serverName: "survival"
defaultBalance: 0
confirmUi: true
| Option | Type | Default | Description |
|---|
license | String | "CODE" | Plugin license key |
serverName | String | "survival" | Server identifier used for multi-server sync and notifications |
defaultBalance | Double | 0 | Initial wallet balance for new players |
confirmUi | Boolean | true | Show a confirmation dialog before completing a purchase |
Database
database:
databaseType: H2
hostname: "localhost"
base: "mineLogin"
port: 3306
username: "root"
password: "securepass"
mongoConnectionString: "mongodb://localhost:27017"
| Option | Type | Default | Description |
|---|
databaseType | Enum | H2 | Database backend: H2, MYSQL, or MONGODB |
hostname | String | "localhost" | MySQL server hostname |
base | String | "mineLogin" | Database name |
port | Integer | 3306 | MySQL server port |
username | String | "root" | Database username |
password | String | "securepass" | Database password |
mongoConnectionString | String | "mongodb://localhost:27017" | MongoDB connection URI |
Tip: For single-server setups, the default H2 database requires no additional configuration.
Redis
redis:
enabled: true
hostname: "localhost:25123"
username: "root"
password: "securepass"
| Option | Type | Default | Description |
|---|
enabled | Boolean | true | Enable Redis-based multi-server synchronization |
hostname | String | "localhost:25123" | Redis server address with port |
username | String | "root" | Redis username (set to null if no authentication) |
password | String | "securepass" | Redis password |
Products
products:
defaultCategory: "ranks"
availableProducts:
- name: "vip"
price: 10.0
category: "ranks"
isQuantity: false
possibleDiscount: true
commands:
- "give {player} minecraft:diamond"
purchaseDisplay: "<#FFFFFF>VIP"
| Option | Type | Description |
|---|
defaultCategory | String | Category shown when the shop opens |
availableProducts | List | List of products available for purchase |
Product Fields
| Field | Type | Description |
|---|
name | String | Unique product identifier |
price | Double | Product price |
category | String | Category grouping for the shop GUI |
isQuantity | Boolean | Whether this product can be purchased in bulk |
possibleDiscount | Boolean | Whether this product can appear in promotions |
commands | List | Commands executed on purchase. Supports {player} and {quantity} placeholders |
purchaseDisplay | String | Display name shown in purchase notifications (MiniMessage format) |
promotion:
enabled: true
rechargeMultiplier: 1
productsPerPromotion: 1
minimumPromotionPercent: 5
maximumPromotionPercent: 50
promotionResetDuration: "1d"
| Option | Type | Default | Description |
|---|
enabled | Boolean | true | Enable the promotion system |
rechargeMultiplier | Double | 1 | Multiplier applied when using /wa recharge (e.g. 1.5 = 50% bonus) |
productsPerPromotion | Integer | 1 | Number of products on promotion at the same time |
minimumPromotionPercent | Integer | 5 | Minimum discount percentage |
maximumPromotionPercent | Integer | 50 | Maximum discount percentage |
promotionResetDuration | String | "1d" | Duration between promotion refreshes. Format: 1d, 12h, 30m, 60s |
Bonus
bonus:
enabled: true
minimumBonusAmount: 0.05
maximumBonusAmount: 0.15
bonusResetDuration: "1d"
| Option | Type | Default | Description |
|---|
enabled | Boolean | true | Enable the daily bonus system |
minimumBonusAmount | Double | 0.05 | Minimum bonus payout |
maximumBonusAmount | Double | 0.15 | Maximum bonus payout |
bonusResetDuration | String | "1d" | Cooldown between bonus claims. Format: 1d, 12h, 30m, 60s |
Notifications
notification:
enabled: true
purchaseType: ALL_SERVERS
rechargeType: ALL_SERVERS
| Option | Type | Default | Description |
|---|
enabled | Boolean | true | Enable broadcast notifications |
purchaseType | Enum | ALL_SERVERS | Purchase notification scope: ALL_SERVERS or SINGLE |
rechargeType | Enum | ALL_SERVERS | Recharge notification scope: ALL_SERVERS or SINGLE |
Messages (messages.yml)
All messages support MiniMessage formatting syntax (e.g. <#FF0000> for hex colors).
Available Placeholders
| Placeholder | Context | Description |
|---|
{player} | Admin commands | Target player name |
{balance} | Balance messages | Wallet balance |
{amount} | Transaction messages | Transaction amount |
{permissions} | Permission error | Required permission node |
{schematic} | Usage error | Correct command syntax |
{time} | Bonus/History | Time remaining or timestamp |
{productName} | Purchase | Product display name |
{product} | Notifications | Product name in broadcast |