yhzyhz
本教程系PVPIN教程复刻系列
索引见https://www.mcbbs.net/thread-1034477-1-1.html
本教程不做排版,如果你觉得不舒服,可以选择退出本页面
本教程所有代码全部在coding开源,详见索引本教程可能存在一定吞代码问题,总体上以开源地址的代码为准

本教程涵盖内容:
使用NMS操作NBT

介绍本节实例:
我们需要给一把名为"无铭刀「木偶 」
"的木剑加上杀敌计数(暗金)(创意来自拔刀剑)

分析一下,要做到这种这种效果,需要三步:取到物品,修改物品,放回物品。其中我们着重讲解如何修改物品


不过首先,我们要先监听玩家击杀生物,也就是生物死亡事件


第零步:创建监听器

从Spigot的JavaDoc我们可以得知,EntityDeathEvent可以满足我们的需求
所以创建如下函数



第一步:取到物品


要想取到物品,首先需要一些判断。代码如下



第二步:修改物品


成功获取物品后,要来修改物品了。首先是先修改下物品的nbt



设置完nbt,该去设置显示了。lore的设置只涉及到bukkit的物品



第三步:放回物品

因为修改完的物品不会自己跑回去,所以我们要手动设置下物品



编写好了,我们去游戏中测试一下。先把物品改名成 无铭刀「木偶」 然后去击杀一个生物





就这样,一把拥有StarTrak?的剑做好了
附上物品数据结构,发现KillCount确实已经被写入物品了



Ethan_Pencants
好高级的样子

AuroraCruiser
很牛 学到了

列轨战痕koll
请问大佬能把插件发出来吗,感谢

William_Shi
列轨战痕koll 发表于 2020-8-6 22:51
请问大佬能把插件发出来吗,感谢

https://github.com/YakumoReddo/PVPIN_Modules
(我的coding没及时更新,这一系列实例按照这里的为准

我们理论上不提供最终构建版本,主要是学习怎么写
如果作者愿意再发布到服务端插件版,可能会提供构建的jar

如果你是开发者,直接下载一下源码自己build就行了,如果有问题也可以问,我都会回答的
如果你不是,请你不要在这里伸手。

列轨战痕koll
William_Shi 发表于 2020-8-7 08:42
https://github.com/YakumoReddo/PVPIN_Modules
(我的coding没及时更新,这一系列实例按照这里的为准

嗯,只是借鉴一下=-=,谢了

yhzyhz
列轨战痕koll 发表于 2020-8-7 22:28
嗯,只是借鉴一下=-=,谢了

看我的帖子,有一个合集,我把代码github发在那个帖子里了

枫云miemie
完成任务

列轨战痕koll
yhzyhz 发表于 2020-8-9 15:55
看我的帖子,有一个合集,我把代码github发在那个帖子里了

好,谢了

第一页 上一页 下一页 最后一页