Описание
ColonyRank adds a competitive leaderboard system to MineColonies servers, available for both **NeoForge 1.21.1** (Java 21) and **Forge 1.20.1** (Java 17).
It scans colony data from all colonies on the server and calculates a transparent, configurable score for each one. Rankings are displayed in-game via commands and can be automatically published to a Discord channel through a webhook.
---
## Scoring Modes
### OLD Mode — Historical Multiplier System
Each of the 5 stats (**Population**, **Buildings**, **Average Building Level**, **Claimed Chunks**, **Overall Happiness**) is multiplied by an individual multiplier. A strict quota is enforced: **two stats at ×5**, **two stats at ×10**, and **one stat at ×100**. This ensures every colony ranking is balanced and no single stat can dominate.
### NEW Mode — Cross-Product System
Links related stats together for a more dynamic score. Instead of flat multipliers, the formula uses cross-products like `Population × Happiness` and `Average Level × Buildings`, then multiplies the total by 5.
**Six presets are available:**
| Preset | Pop coef | Happiness coef | Buildings coef | Level coef | Claims coef |
|---|---|---|---|---|---|
| **Development** | 5 | 0.4 | 5 | 2.5 | 0.5 |
| **Population** | 10 | 0.6 | 5 | 1.5 | 0.5 |
| **Expansion** | 5 | 0.4 | 8 | 1.5 | 2 |
| **Management** | 5 | 1.0 | 6 | 1.5 | 0.5 |
| **Metropolis** | 5 | 0.4 | 12 | 1.0 | 1 |
| **Custom** | — | — | — | — | — |
> **Custom** lets you define your own 5 coefficients directly in the config screen.
Presets can be switched at any time with `/colonyadmin preset ` or through the Fzzy Config screen.
---
## Ignored Colonies
Exclude specific colonies from the ranking, Discord publishing, and JSON export. Useful for admin colonies, test colonies, or any colony you don't want appearing in the public leaderboard.
| Command | Description |
|---|---|
| `/colonyadmin ignore ` | Exclude a colony |
| `/colonyadmin unignore ` | Restore an ignored colony |
| `/colonyadmin ignorelist` | List all ignored colonies |
Stored persistently in `config/colonyrank/ignored_colonies.json`
---
## In-Game Config Screen
All settings are configurable through the **Fzzy Config** screen (`colonyrank:settings`) without editing files manually:
- **Scoring mode** selection (OLD / NEW)
- **Preset** selection (including Custom with 5 editable coefficients)
- **OLD mode multipliers** with automatic quota enforcement
- **Language** selection (English / French)
- Changes apply **live** — scores recalculate instantly
---
## Commands
### Player Commands
| Command | Description |
|---|---|
| `/colonyrank` | Show the live colony ranking |
| `/colonyscore list` | List all colonies with their IDs |
| `/colonyscore id ` | Detailed score breakdown by colony ID |
| `/colonyscore ` | Show details by colony name |
### Admin Commands (`/colonyadmin` — permission level 4)
| Command | Description |
|---|---|
| `reload` | Reload all colonies from the server |
| `refresh` | Recalculate scores and save |
| `clear` | Clear the colony cache |
| `status` | Show mod status (colony count, mode, ignored, Discord) |
| `export` | Export colony data to JSON |
| `scoringmode ` | Switch scoring system |
| `preset ` | Set NEW mode preset |
| `ignore ` | Exclude a colony from ranking |
| `unignore ` | Restore an ignored colony |
| `ignorelist` | List all ignored colonies |
| `sendleaderboard` | Send leaderboard to Discord immediately |
| `senddaily` | Force a daily Discord send |
| `discordstatus` | Show Discord webhook status |
| `help` | Show all admin commands |
---
## Discord Integration
Publishes the colony leaderboard to a Discord channel via webhook.
- **Update mode** — publishes whenever colony data changes
- **Daily mode** — publishes once per day at a configurable time and timezone
Configured via `config/colonyrank-discord.properties`
---
## Other Features
- Colony age displayed in a readable format (days/hours)
- Building level normalized to a 1–5 scale
- Full JSON export of colony data
- **English and French** language support (messages, config screen, Discord output)
- **Server-side only** — no client installation required
---
## Requirements
| | NeoForge 1.21.1 | Forge 1.20.1 |
|---|---|---|
| **Minecraft** | 1.21.1 | 1.20.1 |
| **Loader** | NeoForge 21.1.219+ | Forge 47.4.10+ |
| **Java** | 21 | 17 |
Both versions require **MineColonies** (compatible modpack/server).
---
## Dependencies
- **Fzzy Config** — in-game config screen
- **MineColonies** — colony data source