Knockback Manager 是由dw1e编写的一款基于Protoclib的击退修改插件
并经过多个版本迭代优化,形成了一个极致轻量化的PVP服务器插件
主指令:/kbm
配置文件项目:
开发者API:
并经过多个版本迭代优化,形成了一个极致轻量化的PVP服务器插件
- 支持的服务端版本 1.7.x - 1.21.x
- 支持服务端核心 Spigot Paper Leaves Purpur等基于bukkit和paper的服务端
- 插件运行效率高,轻量化
- 支持热重载插件,击退实时修改
- 支持击退同步(需使用KnockbackSync)
- 高效的问题反馈及处理
主指令:/kbm
- create: 创建KB文件
- delete: 删除KB文件
- list: 查看已读取的KB文件
- edit: 编辑KB文件的数值
- view: 查看KB文件的数值
- reload: 重新加载KB文件
- getkb: 查看玩家使用的KB文件
- setkb: 设置玩家使用的KB文件
- filter: 过滤玩家
配置文件项目:
开发者API:
代码:
import me.dw1e.kbm.KnockbackManager;
import me.dw1e.kbm.api.KBValues;
import me.dw1e.kbm.api.KnockbackManagerAPI;
import me.dw1e.kbm.api.event.KBMPlayerVelocityEvent;
@EventHandler
private void onVelocity(KBMPlayerVelocityEvent event) {
Player player = event.getPlayer();
Vector velocity = event.getVelocity(); // KBM修改后的击退
KnockbackManagerAPI kbmAPI = KnockbackManager.[I]getInstance[/I]().getAPI();
kbmAPI.isKBFileExist("kb文件名"); // 返回: 判断kb文件是否存在
kbmAPI.getKBFile(player); // 获取玩家使用的kb文件名
kbmAPI.setKBFile(player, "kb文件名");
// ↑设置玩家使用的kb文件名, 返回: 是否设置成功
kbAPI.isFilter(player); // 返回: 玩家是否处于过滤名单中
kbAPI.setFilter(player, true / false); // 设置玩家过滤状态
KBValues kbValues = kbmAPI.getKBValues("kb文件名"); // 获取KB文件的数值
kbValues.getGroundHorizontal(); // 返回: 地面水平击退
kbValues.getGroundVertical(); // 返回: 地面垂直击退
// 其它的数值和本文档开头的插件配置文件解释一致, 此处不一一列举
// 返回值永远是最新的, 若你重载了KB文件此处的返回值会自动更新
}