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