本帖最后由 uiopjklkk 于 2020-3-22 13:07 编辑
想做到一个同时判断帽子、胸甲、裤子、鞋子以及主手和副手的lore的方法,有没有大佬知道有什么简易一点的办法可以做到,难道真的要创建六个对象判断吗
想做到一个同时判断帽子、胸甲、裤子、鞋子以及主手和副手的lore的方法,有没有大佬知道有什么简易一点的办法可以做到,难道真的要创建六个对象判断吗
为什么不能试试Equipment呢?
https://bukkit.windit.net/javado ... html#getEquipment--
https://bukkit.windit.net/javado ... ntityEquipment.html
遍历以下ItemStack[]即可
https://bukkit.windit.net/javado ... #getArmorContents--
https://bukkit.windit.net/javado ... html#getEquipment--
https://bukkit.windit.net/javado ... ntityEquipment.html
遍历以下ItemStack[]即可
https://bukkit.windit.net/javado ... #getArmorContents--
602723113 发表于 2020-3-22 14:52
为什么不能试试Equipment呢?
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#ge ...
可以,我去试一下,感谢
602723113 发表于 2020-3-22 14:52
为什么不能试试Equipment呢?
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#ge ...
效果实现了,但是有个问题想请教一下大佬,做监听的时候如果在其中出现null空值的话报错应该怎么处理呀?这里我遍历四件装备后,如果四件装备其中有一个没穿,就会报NULL
??怎么连这点基础都不会
做个NPE检查就好了,比如说你遍历的那根标识名叫 itemStack
if (itemStack == null) {
continue; // 进行下一个装备的判定, 忽略本次ItemStack的判定
}
做个NPE检查就好了,比如说你遍历的那根标识名叫 itemStack
if (itemStack == null) {
continue; // 进行下一个装备的判定, 忽略本次ItemStack的判定
}
602723113 发表于 2020-3-22 16:51
??怎么连这点基础都不会
做个NPE检查就好了,比如说你遍历的那根标识名叫 itemStack
大佬。。还有一个小问题,防具四个能判断了,主副手怎么进行判断呀
再判断
equipment.getItemInMainHand 和 getItemInOffHand
equipment.getItemInMainHand 和 getItemInOffHand
602723113 发表于 2020-3-22 22:01
再判断
equipment.getItemInMainHand 和 getItemInOffHand
给主副手单独判断的时候,如果手上没有东西也会出现null的情况,这个怎么抛比较好一点呀
uiopjklkk 发表于 2020-3-22 23:02
给主副手单独判断的时候,如果手上没有东西也会出现null的情况,这个怎么抛比较好一点呀 ...
再加个if啊
- if(mainHandItem != null) {
- //处理代码
- }
不知道................
脏鬼鬼 发表于 2020-3-23 07:48
再加个if啊
好了解决了,问题发现玩家手上什么都不拿的时候竟然拿的是个空气..导致我一直判断了半天。感谢大佬!
谢谢楼主,一直没找到