Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 1789|回复: 9

[插件开发教程] [Bukit|Spigot][PCD]细谈ActionBar与Title的使用 | NMS与反射

[复制链接]
发表于 2018-2-10 19:11:01 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 mimimis 于 2018-2-10 19:23 编辑

细谈ActionBar与Title的使用
—— Bukkit | Spigot ——
在1.8之后,似乎使用ActionBar和Title显示信息的插件越来越多了,因为ActionBar位于物品名称显示区域的上方,而Title位于屏幕中央并靠下,相比传统的聊天框显示,显得更为简洁、新颖。那么,作为开发者,如何使用这些功能呢?在Bukkit1.9版本之后,Player类新增了一个sendTitle(Stirng title, String subtitle)方法,到了1.11版本,这个方法变得更高级了sendTitle(String title ,String subtitle ,int fadein ,int stay ,int fadeout),你可以直接传入全部构造Title的参数来为玩家发送Title。不过,Title在1.8同样可以使用,但是Bukkit没有为我们封装方法,怎么办呢?
方案一、借助API插件
基础教程:

使用ProtocolLib发送数据包:

方案二、直接使用nms
基础教程:

实现多版本教程:

ActionBar的发送

方案三、反射
ActionBar反射使用+向上版本兼容:

Title的反射使用+向上反射兼容:


来自群组: PluginsCDTribe

评分

参与人数 9人气 +18 金粒 +53 贡献 +2 收起 理由
Jonjs_Dada + 2 Ssssssssssssssssssss
秋韵 + 2 神乎其技,不服不行!
dengyu + 2 神乎其技,不服不行!
樱之恋 + 1 MCBBS有你更精彩~
Smokey_Days + 3 + 28 + 1 神乎其技,不服不行!
耗子 + 2 写个ASM的啊
754503921 + 3 + 25 + 1 优秀
园神凛祢 + 1 教程准确
ILUVLS + 2 神乎其技,不服不行!

查看全部评分

发表于 2018-2-12 22:12:35 | 显示全部楼层
ddddddddddd
回复

使用道具 举报

发表于 2018-2-14 09:12:59 | 显示全部楼层
园神凛祢 发表于 2018-2-14 08:36
介绍比较全面
(不过这个比较简单,因为95%的开发者都会)
对小白有比较实质性的帮助

多版本的nms使用反射最大的问题是运行速度慢
抽象为接口并在每个版本实现是追求高性能的多版本实现
参见citizens

另外如果不想分别实现可以用asm动态生成实现类
回复

使用道具 举报

 楼主| 发表于 2018-2-14 11:23:27 | 显示全部楼层
园神凛祢 发表于 2018-2-14 10:58
有道理,但是那样会有点麻烦吧
每个版本都要撸一个接口出来。。

其实国外很多插件都是这样的,之前有看到过很多类似插件都使用了这种
回复

使用道具 举报

发表于 2018-2-14 12:56:45 | 显示全部楼层
园神凛祢 发表于 2018-2-14 10:58
有道理,但是那样会有点麻烦吧
每个版本都要撸一个接口出来。。

反射的性能,就算写了缓存,消耗也有点大
连nodejs的运行速度都比不上
回复

使用道具 举报

发表于 2018-2-19 09:04:20 | 显示全部楼层
我记得去年我写过一篇差不多的, 不过我直接放上了反射过程的源码以及api, 某dalao(耗*)批评道"我看看是谁这么愿意弄别人早就做过的事情"
当然, 没有楼主这篇详细, 感谢楼主分享, 看了以后我感觉...昧着良心说学到了好多东西....
回复

使用道具 举报

发表于 2018-2-19 10:43:39 | 显示全部楼层
印象中ASM和直接访问差不多,反射就。。。。。。
回复

使用道具 举报

发表于 2018-2-19 17:45:30 | 显示全部楼层
牛逼,顶
回复

使用道具 举报

发表于 2018-2-20 10:03:56 | 显示全部楼层
表示没看懂。。。。。。。。。。。。。。。。
回复

使用道具 举报

发表于 2018-2-20 12:14:00 | 显示全部楼层
感谢分享,MCBBS有你更精彩~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2018-10-21 18:16 , Processed in 0.131633 second(s), 7 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表