跳到主要内容

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+
JavaJava 8+
可选依赖MythicMobs, AttributePlus, HeadDatabase, PlaceholderAPI

获取插件

支持开源

如果 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,无需修改代码。