• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
PluginBase —— Java语言Minecraft服务端插件开发轮子 [1.8-1.21]

原创 PluginBase —— Java语言Minecraft服务端插件开发轮子 [1.8-1.21]

版权类型
原创
原帖地址
https://bukkit.mcio.dev/
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 1.12
  11. 1.11
  12. 1.10
  13. 1.9
  14. 1.8
做插件做了这么久,经常遇到想写一个新插件,但是新建项目好麻烦,导入依赖好麻烦等等等等。
安装 Minecraft Development 也不太顶用,用它自带的插件模板依然要做很多重复工作消磨热情,比如添加仓库等等。

今后我新做的 Sweet 系列插件,如果不是功能非常简单,基本都会用这个依赖库来写。

我简单总结一下,这个依赖大约覆盖了以下功能:
  • 在结构设计上,设计了必须要将其 shadow 打包到插件里面的机制,不需要用户额外安装依赖插件。
  • 很多功能都是可选的,比如基于 HikariCP、Adventure(Bukkit+MiniMessage)、item-nbt-api 等等的功能,只要你不添加依赖,不启用功能,就不会给你的插件额外增加无用的大小。
  • 默认使用 spigot-api,封装了一些 paper-api 的 fallback,比如 adventure 支持(需要自己开启),以兼容非 paper 系的服务端。
  • 支持在聊天、物品名、物品Lore使用 MiniMessage 格式消息。
  • HikariCP 数据库连接池支持 (MySQL/SQLite)。
  • 一些基本的工具,比如字符串转数字、字符串转 Material 等等。
  • 模块注册机制,可以将单个功能做成一个模块类,添加注解 @AutoRegister 使得模块会在插件启用时自动注册,还可以设定有哪些软依赖插件已安装时才注册模块。
  • 界面管理器,安全地为玩家打开你想要的菜单,虽然还没做翻页什么的还是有点鸡肋,但基本能用。
  • 本地化(语言)管理器,基于枚举的本地化条目注册,可自由地将条目读取为StringList<String>,并且两者都支持[B]String.format[/B]格式化自定义变量替换,喜欢用什么方式就用什么方式。
我为此制作了一个项目生成器,纯静态网页,生成操作完全在你的浏览器执行。
至于为什么不把生成器做到 IDEA 插件的项目模板,是我不想去维护插件,要随 IDEA 更新插件太麻烦了。
项目生成器网站:https://bukkit.mcio.dev/

开发相关的详细内容请阅读开发文档,有一定的学习成本,不推荐Bukkit新手使用。
作者
MrXiaoM
查看
488
首次发布
最后更新

评分

0.00 星 0 次评分

MrXiaoM 的其他资源

后退
顶部 底部