Millida Rating
Millida Rating — rating game servers Minecraft, this plugin allows you to quickly implement rewards for players without programming knowledge, and API connection skills for a couple of clicks.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Millida Rating
Millida Rating Plugin 🎉
A plugin for awarding voters on the <b>Millida Rating</b> monitoring system. 🏆

Supported Versions:
* `Bukkit/Spigot/Paper 1.8 — 1.21` 🎮
Features:
* Award distribution 🎁 * Cumulative reward system similar to battle passes 🏅 * Support for MySQL and SQLite databases 💾 * Integration with DecentHolograms 🌟 * Integration with PlaceholderAPI 🔗
Installation ⚙️
After placing the plugin in the `plugins` folder, you need to start and stop the server, as the plugin does not work without preliminary configuration for security purposes. For the initial launch, just configure `server_id`. 🔧
[!!!] If you do not want to issue rewards for votes made before the plugin installation, set `rewards.enabled: false` before the first launch of the plugin and simply execute the command `/rating admin clearrewards` after starting the server. 🚫
For convenient configuration while the server is running, there is the command `/rating admin reload`, but it is highly recommended to use it exclusively during testing, not during an already running server with players. You can add only `holograms` and `gui` to this command to reload only the hologram module. 🔄
There are also commands for testing plugin settings: `/rating admin clear <nickname>` and `/rating admin vote <nickname>`, which clear a player's progress and give them one fake vote, respectively. 🧪
[!!!] If something goes wrong, the plugin immediately shuts down for security reasons to prevent players from losing their rewards or receiving an undeservedly large amount. ⚠️
Permissions 🔐
* `millida.rating.command` — access to the `/rating` command itself. By default, granted to all players. ✅ * `millida.rating.command.rewards` — access to the `/rewards` and `/rating rewards` commands. By default, granted to all players. The command itself can be changed by modifying `config.yml` and `plugin.yml`. ✅ * `millida.rating.command.admin` — access to the `/rating admin` command. By default, granted to all operators. 👑
Integrations 🤝
DecentHolograms
If the `DecentHolograms` plugin is installed on the server, an additional configuration file `holograms.yml` appears in the server folder. By default, holograms are disabled, but they can be enabled and configured through this configuration file. 💡
PlaceholderAPI
If the `PlaceholderAPI` plugin is installed on the server, the following placeholders are automatically registered: 📝
* `millidarating_top_<day/week/month>_<1-10>`
Usage example: * `millidarating_top_day_1` — top-1 for the day *(maximum 10)* 🥇 * `millidarating_top_week_2` — top-2 for the week *(maximum 10)* 🥈 * `millidarating_top_month_3` — top-3 for the month *(maximum 10)* 🥉
* `millidarating_top_<day/week/month>_<1-10>_votes`
Usage example: * `millidarating_top_day_4_votes` — number of votes for top-4 of the day *(maximum 10)* ✨ * `millidarating_top_week_5_votes` — number of votes for top-5 of the week *(maximum 10)* ✨ * `millidarating_top_month_6_votes` — number of votes for top-6 of the month *(maximum 10)* ✨
API 🌐
The API already exists, but for now, it can only be connected through a local Maven repository. To do this, clone the repository and use the command `gradle :api:publishToMavenLocal`, after which it can be imported:
```xml <dependencies> <dependency> <groupId>ru.leonidm.millida</groupId> <artifactId>millida-rating-api</artifactId> <version>1.0.0</version> </dependency> </dependencies> ```
Usage ⚙️
The main entry point to the API is the `MillidaRatingApi` class, from which you can obtain an instance of the API and access all necessary services.
There are also Bukkit events: * `RatingVoteEvent` — triggered when `RatingRequester` finds a new vote 🗳️ * `OfflinePlayerAwardedEvent` — triggered when a player receives a reward with the property `online: false` 🎁 * `PlayerAwardedEvent` — triggered when a player receives a reward with the property `online: true` 🎉
[!!!] If you want to get information about votes, use the `RatingRequester` service, which stores hashed values, instead of `RatingRequestService`.