突然发现自己 star 了超过 300 个 repo,翻了一下整理了一份Bukkit 宝藏类库合集(大概是第一期?),一个是自己要用的时候找起来方便,也希望可以帮助到更多的人少走弯路~
合集内容较多,您可以使用左侧的菜单快速跳转~
富文本处理-Minedown
特别好用!
Minedown 使用类似 Markdown 的语法,以一种 human-friendly 的格式实现 Minecraft 原始JSON文本格式消息的功能。
Minedown 同时支持 BungeeChat 和 Adventure 两个文本库的分支。Adventure 版本可以在这里找到。
任务调度-TaskChain & Skedule
Aikar's TaskChain
TaskChain,提供了复杂环境下的任务调度功能。
Skedule
Skedule 是 TaskChain 的 Kotlin 高级版,使用 Kotlin 的协程实现了更加简洁的任务调度实现。
配置文件处理-JsonConfiguration和Configurate
JsonConfiguration
JsonConfiguration 是 Bukkit 的 YamlConfiguration 的 Json 变种,提供了几乎和 YamlConfiguration 一致的体验。
Configurate
Configurate 虽然没有 YamlConfiguration 和 JsonConfiguration 那么简单,但是同时支持 JSON, HOCON, YAML 以及 XML 格式,且支持对象与配置文件互转。
GUI 菜单-Canvas
Canvas 大概是我见过功能最全最强大的 GUI 库了,你能想到的基本 Canvas 都可以实现,再也不需要去手动操作 Inventory 了。
UUID/用户名互查-SquirrelID
SquirrelID 封装了 MojangAPI,提供了快捷的 UUID<->用户名 查询,同时提供了缓存功能和批量查询功能,同时并行查询和异步操作。
简单SQL处理-EasySQL
真的很好用!
EasySQL 支持 HikariCP 和 BeeCP 两个连接池(也可以自己实现其他连接池),并提供一套快捷增删改查的 工具。
有关 EasySQL 的更多示例可以查看这里:EasySQL - HikariPool 使用指南
重载管理-SimpleReloadLib
王婆卖瓜,自卖自夸。
对于在复杂项目中,重载绝对是一个噩梦。
SimpleReloadLib 基于注册顺序对每个注册的 Reloadable 执行重载操作,实现重载配置文件的效果。
事务操作-CraftTransaction
没错还是我。
CraftTransaction 实现了一套 Vault Economy 和 Bukkit Inventory 的事务机制,可以在失败或者其他情况下回滚已完成/完成了一半的事务。
高级粒子-ParticleLib
ParticleLib 提供了快速创建粒子效果的一套工具,而且最亮眼的是你可以基于特定物品的材质快速创建粒子效果。
非 Bukkit/MC 相关
除了 Bukkit 相关的类库,我还收集了一票非 Bukkit 相关的 Java 库,但是它们看起来都挺不错的,也许你会想要试试看?
FlatLaf-Jetbrains味儿的Swing UI
这味儿可以说是相当冲了,几乎完全一致。
Mineflayer-JS驱动的MC Bot
可以说是极度完善了,基本实现了大部分的功能。
JLHTTP-迷你HTTP服务器
单文件的轻量Java HTTP服务器,但是麻雀虽小,五脏俱全。
JLHTTP 提供了完整的 RFC 2616 (HTTP/1.1) 的实现。
尾言
可以说是把家底都拿出来晒了,希望对你有所帮助!?
其实还有一部分类库如 ACF 等未在这里提及,主要是我也没用过,不能闭着眼睛推荐(
如果你对 Minecraft Bukkit 开发有兴趣的话,考虑在 Github 上 fo 下我吧(
等我搜刮到一批新类库的话会再写一篇 blog 分享哒!那么下次再见~