Baikiruto
跨版本物品库系统 — 支持 Minecraft 1.12 - 26.1.1,基于 Fluxon 脚本引擎,提供物品构建、热重载、在线更新的完整解决方案。
开源免费
Baikiruto 是 MIT 协议开源插件,完全免费使用。如果觉得好用,欢迎到 GitHub 仓库 点个 Star ⭐
为什么选择 Baikiruto?
跨版本兼容
- 覆盖 1.12 - 26.1.1:一套配置,全版本通用
- 自动组件适配:自动兼容
minecraft:前缀,支持扁平文本与结构化配置 - 版本哈希追踪:自动检测物品配置更新并触发重建
ItemStream 数据流模式
Baikiruto 的 ItemStream 模式并非独创,而是承袭 Zaphkiel 的设计精髓,并在此基础上提供完整的物品生命周期管理:
build → read → rebuild → update
构建 读取 重建 更新
- build:根据配置构建物品
- read:从 ItemStack 读取物品流信息
- rebuild:根据流信息重建物品(支持变量替换)
- update:在线玩家物品自动更新检查
强大的脚本系统
- Fluxon 脚本引擎:高性能脚本执行(不支持 Kether)
- 31 种事件触发器:build、use、attack、death、equip、jump 等常见流程都能挂脚本
- 脚本预热优化:启动时批量编译脚本,减少运行时开销
- 上下文变量:player, sender, ctx, item, ops 等
Meta 扩展机制
通过 MetaFactory 动态注册自定义物品行为:
- 内置 Meta:skull(头颅)、attribute-plus(属性)等
- 自定义 Meta:通过 API 注册自己的 Meta 工厂
- 热插拔:支持运行时注册与注销
热重载与在线更新
- 文件监听器:配置文件变更自动增量重载
- 在线玩家物品更新:reload 后自动检查并更新玩家背包中的物品
- 锁定机制:支持
!!语法锁定字段防止运行时修改
深度插件集成
- MythicMobs:生成时自动装备,死亡时掉落 Baikiruto 物品
- AttributePlus:自动同步属性到 AttributePlus 系统
- HeadDatabase:自动转换 HDB ID 为 texture
- PlaceholderAPI:显示文本自动替换 PAPI 变量
核心特性
- 跨版本物品配置:支持 1.12 - 26.1.1 全版本
- ItemStream 数据流:build / read / rebuild / update 完整生命周期
- Fluxon 脚本引擎:31 种事件触发器,高性能执行
- Meta 扩展机制:动态注册自定义物品行为
- 分组 GUI 管理:可视化浏览与发放物品
- 物品序列化:支持结构化序列化与旧 JSON 兼容反序列化
- 热重载:文件监听器自动增量重载
- 在线更新:reload 后自动更新玩家物品
- 锁定机制:
!!语法锁定字段防止修改 - 版本哈希追踪:自动检测配置更新
兼容性
| 项目 | 要求 |
|---|---|
| 服务端 | Bukkit/Spigot/Paper 1.12 - 26.1.1 |
| 前置 | TabooLib 6.2.4+ |
| Java | Java 8+ |
| 可选依赖 | MythicMobs, AttributePlus, HeadDatabase, PlaceholderAPI |
获取插件
- 开源协议:MIT License
- GitHub 仓库:https://github.com/YsGqHY/Baikiruto
- 下载方式:GitHub Releases 或自行编译
支持开源
如果 Baikiruto 帮助到了你,请到 GitHub 仓库 点个 Star ⭐,这是对开源作者最大的支持!
适用场景
Baikiruto 适合以下类型的服务器:
- RPG 服务器:需要大量自定义物品和脚本行为
- 冒险地图:需要特殊物品机制和事件触发
- 生存服务器:需要自定义装备和道具系统
- PVP 竞技:需要平衡的装备体系
- 小游戏:需要快速配置和热更新物品
技术架构
- TabooLib 6.2.4:基础框架
- Fluxon 1.6.15:脚本引擎
- ASM:字节码操作(由 TabooLib 管理)
- 数据库支持:SQLite(默认)/ MySQL(可选)
- 模块化设计:common / common-impl / module-bukkit / module-legacy-api / module-modern
与 Zaphkiel-Plus 的关系
Baikiruto 提供了 Zaphkiel-Plus 兼容层,可以无缝替换 Zaphkiel-Plus:
import ink.ptms.zaphkiel.Zaphkiel
val api = Zaphkiel.api() // 实际返回 BaikirutoAPI
如果你之前使用 Zaphkiel-Plus,可以直接迁移到 Baikiruto,无需修改代码。