- 版权类型
- 原创
- 插件中文名称
- 积分与等级系统
- 插件英文名称
- GuLevel
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Purpur
- 语言支持
- 中文(简体)
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
GuLevel
一个基础的积分与等级系统,支持群组服务器
一个基础的积分与等级系统,支持群组服务器,插件提供了一个积分系统,并可根据积分系统映射玩家等级一个基础的积分与等级系统,支持群组服务器
食用方法
直接丢进 ./plugins 即可
功能
- 积分系统,可做基础计分板功能(如竞技、经验、胜场等)
- 等级系统,可根据玩家积分映射玩家等级(可用于竞技类服务器)
- API,其他插件可调用API进行积分/等级的查询、添加、删减、设置
- Mysql数据库支持,可用于群组服务器
支持版本
理论支持1.17+,测试使用1.20.1
命令
基本命令格式
level <动作> [玩家] [数值]
查询类命令(所有玩家可用)
| 命令 | 说明 | 示例 |
| /level query <玩家> | 查询指定玩家的积分 | /level query Steve |
| /level querylvl <玩家> | 查询指定玩家的等级 | /level querylvl Alex |
管理类命令(需要 gulevel.admin 权限)
| 命令 | 说明 | 示例 |
| /level give <玩家> <积分> | 给玩家添加积分 | /level give Steve 100 |
| /level take <玩家> <积分> | 从玩家扣除积分 | /level take Steve 50 |
| /level set <玩家> <积分> | 设置玩家积分 | /level set Steve 500 |
| /level up <玩家> | 提升玩家等级 | /level up Steve |
| /level down <玩家> | 降低玩家等级 | /level down Steve |
| /level setlvl <玩家> <等级> | 设置玩家等级 | /level setlvl Steve 3 |
权限节点
- gulevel.admin - 管理玩家等级和积分的权限(默认 OP)
- gulevel.query - 查询等级和积分的权限(默认所有玩家都有)
开发文档
获取 LevelSystem 实例
其他插件可以通过以下方式获取 GuLevel 的主插件实例,并进一步获取 LevelSystem 对象:
可用的 API 方法
以下是 LevelSystem 类中可供调用的公共方法:
示例代码
其他插件可以通过以下方式获取 GuLevel 的主插件实例,并进一步获取 LevelSystem 对象:
Java:
// 获取 GuLevel 插件实例
org.bukkit.plugin.Plugin guLevel = Bukkit.getPluginManager().getPlugin("GuLevel");
if (guLevel != null && guLevel.isEnabled()) {
com.gugu.level.Main main = (com.gugu.level.Main) guLevel;
LevelSystem levelSystem = main.getLevelSystem();
// 现在可以使用 levelSystem 调用 API
} else {
getLogger().warning("GuLevel 未安装或未启用,无法使用积分功能");
}
可用的 API 方法
以下是 LevelSystem 类中可供调用的公共方法:
- getPoints(UUID playerId):获取指定玩家的积分
- getLevel(UUID playerId):获取指定玩家的等级
- addPoints(UUID playerId, int points):为玩家添加积分
- removePoints(UUID playerId, int points):扣除玩家积分
- setPoints(UUID playerId, int points):设置玩家积分
- upLevel(UUID playerId):提升玩家等级
- downLevel(UUID playerId):降低玩家等级
- setLevel(UUID playerId, int level):设置玩家等级
示例代码
Java:
public class YourPlugin extends JavaPlugin {
private LevelSystem levelSystem;
text
@Override
public void onEnable() {
setupGuLevel();
if (levelSystem != null) {
getLogger().info("已成功连接 GuLevel API");
}
}
private void setupGuLevel() {
try {
org.bukkit.plugin.Plugin guLevel = Bukkit.getPluginManager().getPlugin("GuLevel");
if (guLevel != null && guLevel.isEnabled()) {
levelSystem = ((com.gugu.level.Main) guLevel).getLevelSystem();
getLogger().info("已连接 GuLevel 积分系统");
} else {
getLogger().warning("未找到 GuLevel 插件,积分功能将不可用");
}
} catch (Exception e) {
getLogger().warning("无法获取 GuLevel 接口: " + e.getMessage());
}
}
// 给在线玩家添加积分
public void givePointsToPlayer(Player player, int points) {
if (levelSystem != null) {
levelSystem.addPoints(player.getUniqueId(), points);
player.sendMessage("你获得了 " + points + " 积分!");
}
}
}