Configuration
The plugin uses config.json for all settings. This page documents every available option.
Complete Configuration Example
{
"language": "en-US",
"loadDefaultAchievements": true,
"display": {
"displayMode": "both",
"titlePosition": "prefix",
"nametagFormat": "{title} {name}",
"chatFormat": "{title} {name}: {message}",
"titleColor": "#FFD700"
},
"notifications": {
"enabled": true,
"displayMode": "both",
"displayDurationMs": 5000,
"showRewardsInBanner": true,
"broadcastToChat": false,
"broadcastFormat": "{player} unlocked: {achievement}"
},
"tracking": {
"saveIntervalSeconds": 300,
"enableExploration": true,
"enableCombat": true,
"enableProgression": true,
"enableSocial": true
},
"admin": {
"cascadeRevoke": true,
"cascadeRevokeWarning": true,
"bypassPrerequisites": true
},
"export": {
"enabled": false,
"intervalSeconds": 300,
"exportGlobalStats": true,
"exportLeaderboards": true,
"exportRecentUnlocks": true,
"leaderboardSize": 100,
"recentUnlocksSize": 50,
"includePlayerTotals": true
},
"groupPrefixes": {
"admin": {
"prefix": "<red>[Admin]</red> ",
"priority": 100
},
"vip": {
"prefix": "<gold>[VIP]</gold> ",
"priority": 50
}
}
}
Configuration Sections
General Settings
| Option | Type | Default | Description |
|---|---|---|---|
language | string | "en-US" | Language for UI and messages. Options: "en-US", "de-DE" |
loadDefaultAchievements | boolean | true | Load built-in achievements. Set to false for fully custom setups |
Display Settings
Controls how titles appear on player nametags and in chat.
"display": {
"displayMode": "both",
"titlePosition": "prefix",
"nametagFormat": "{title} {name}",
"chatFormat": "{title} {name}: {message}",
"titleColor": "#FFD700"
}
| Option | Type | Default | Description |
|---|---|---|---|
displayMode | string | "both" | Where to show titles: "nametag", "chat", or "both" |
titlePosition | string | "prefix" | Title position: "prefix" (before name), "above", or "below" |
nametagFormat | string | "\{title\} \{name\}" | Format for nametag display |
chatFormat | string | "\{title\} \{name\}: \{message\}" | Format for chat messages |
titleColor | string | "#FFD700" | Default color for titles (hex) |
Placeholders:
\{title\}- Player's active title\{name\}- Player's username\{message\}- Chat message content (chat format only)
Notification Settings
Controls achievement unlock notifications.
"notifications": {
"enabled": true,
"displayMode": "both",
"displayDurationMs": 5000,
"showRewardsInBanner": true,
"broadcastToChat": false,
"broadcastFormat": "{player} unlocked: {achievement}"
}
| Option | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Enable/disable notifications |
displayMode | string | "both" | Notification type: "chat", "banner", or "both" |
displayDurationMs | number | 5000 | Toast banner duration in milliseconds |
showRewardsInBanner | boolean | true | Show rewards in toast notification |
broadcastToChat | boolean | false | Announce unlocks to all players |
broadcastFormat | string | "\{player\} unlocked: \{achievement\}" | Broadcast message format |
Tracking Settings
Controls which achievement categories are tracked.
"tracking": {
"saveIntervalSeconds": 300,
"enableExploration": true,
"enableCombat": true,
"enableProgression": true,
"enableSocial": true
}
| Option | Type | Default | Description |
|---|---|---|---|
saveIntervalSeconds | number | 300 | Auto-save interval (5 minutes default) |
enableExploration | boolean | true | Track exploration achievements |
enableCombat | boolean | true | Track combat achievements |
enableProgression | boolean | true | Track progression achievements |
enableSocial | boolean | true | Track social achievements |
Admin Settings
Controls administrative behavior.
"admin": {
"cascadeRevoke": true,
"cascadeRevokeWarning": true,
"bypassPrerequisites": true
}
| Option | Type | Default | Description |
|---|---|---|---|
cascadeRevoke | boolean | true | Revoke dependent achievements when parent is revoked |
cascadeRevokeWarning | boolean | true | Warn admin before cascade revoke |
bypassPrerequisites | boolean | true | Admin grant bypasses prerequisites |
Export Settings
Controls statistics export for external tools.
"export": {
"enabled": false,
"intervalSeconds": 300,
"exportGlobalStats": true,
"exportLeaderboards": true,
"exportRecentUnlocks": true,
"leaderboardSize": 100,
"recentUnlocksSize": 50,
"includePlayerTotals": true
}
| Option | Type | Default | Description |
|---|---|---|---|
enabled | boolean | false | Enable statistics export |
intervalSeconds | number | 300 | Export frequency |
exportGlobalStats | boolean | true | Include global statistics |
exportLeaderboards | boolean | true | Include player leaderboards |
exportRecentUnlocks | boolean | true | Include recent unlock history |
leaderboardSize | number | 100 | Number of top players |
recentUnlocksSize | number | 50 | Number of recent unlocks |
includePlayerTotals | boolean | true | Include per-player totals |
Group Prefixes (LuckPerms Integration)
Configure custom prefixes per LuckPerms group.
"groupPrefixes": {
"admin": {
"prefix": "<red>[Admin]</red> ",
"priority": 100
},
"moderator": {
"prefix": "<blue>[Mod]</blue> ",
"priority": 75
},
"vip": {
"prefix": "<gold>[VIP]</gold> ",
"priority": 50
},
"default": {
"prefix": "",
"priority": 0
}
}
| Option | Type | Description |
|---|---|---|
prefix | string | Prefix text with MiniMessage formatting |
priority | number | Higher priority takes precedence |
Supported Color Formats:
- MiniMessage tags:
<red>,<gold>,<#FF5555> - Gradients:
<gradient:#FF0000:#00FF00>Text</gradient> - Rainbow:
<rainbow>Text</rainbow> - Legacy codes:
&a,&b,&c, etc.
LuckPerms Integration
If LuckPerms is installed, the plugin automatically retrieves prefixes from LuckPerms groups. The groupPrefixes config serves as a fallback or override.