[](https://github.com/kerpsondev/mclista-plugin/releases)
为 mclista.pl 网站创建的官方插件。
简单配置,非常快速和可靠。
## ⚙️ 需求
- Paper 引擎 (1.8 - 1.21.8)
- 服务器在网站 [mclista.pl](https://mclista.pl) 上
- 可选:数据库 mysql/mariadb/mongodb
## 💛 API 模块
API 可以添加到项目 maven/gradle
当前支持的平台:
- bukkit
- velocity (开发中)
### Maven
```xml
mclista-repository-releases
McLista Repozytorium
https://repository.mclista.pl/releases
pl.mclista
mclista-{platform}-api
1.1.0-beta2
```
### Gradle
```gradle
maven {
name = "mclistaRepositoryReleases"
url = uri("https://repository.mclista.pl/releases")
}
implementation("pl.mclista:mclista-{platform}-api:1.1.0-beta2")
```
## 🤖 API 使用
首先,我推荐通过注册获取 DeveloperService 类。
Bukkit API 的示例:
```java
RegisteredServiceProvider
provider = Bukkit.getServicesManager().getRegistration(DeveloperService.class);
if (provider != null) {
DeveloperService developerService = provider.getProvider();
}
```
DeveloperService 返回两个对象,UserService 和 RewardApiClient。
所有返回对象的动作都会返回 DeveloperService:
```java
@NotNull RESULT getResult();
@Nullable Optional getThrowable();
```
### 事件处理
插件当前有 2 个事件:
- PostRewardReceiveEvent (在接收奖励后调用的事件)
- PreRewardReceiveEvent (在接收奖励前调用的事件,可以取消)
每个模块的事件都有前缀 {platform},例如:
BukkitPreRewardReceiveEvent。
### UserService
UserService 类允许操作用户,包括离线用户。
它为您在管理用户方面提供完全的自由。
```java
void addUser(@NotNull User user);
void removeUser(@NotNull UUID uuid);
Optional getUser(@NotNull UUID uuid);
@NotNull CompletableFuture> loadUser(@NotNull UUID uuid);
@NotNull CompletableFuture> modifyUser(@NotNull UUID uuid, @NotNull Consumer userConsumer);
@NotNull CompletableFuture> saveUser(@NotNull User user);
@NotNull Set getUsers();
@NotNull CompletableFuture>> loadUsers();
```
### RewardApiClient
该对象允许您向 API 发送查询,并接收指示玩家是否已在我们的服务器列表中投票的响应。
要检查用户今天是否已收到奖励,您需要将延迟与来自 [User](#userservice) 对象的当前时间进行比较。
或者,您也可以设置自己的延迟——选择权在于您!
### 💛 项目状态
