uiopjklkk
本帖最后由 uiopjklkk 于 2020-3-22 13:07 编辑

想做到一个同时判断帽子、胸甲、裤子、鞋子以及主手和副手的lore的方法,有没有大佬知道有什么简易一点的办法可以做到,难道真的要创建六个对象判断吗

602723113
为什么不能试试Equipment呢?
https://bukkit.windit.net/javado ... html#getEquipment--
https://bukkit.windit.net/javado ... ntityEquipment.html

遍历以下ItemStack[]即可
https://bukkit.windit.net/javado ... #getArmorContents--

uiopjklkk
602723113 发表于 2020-3-22 14:52
为什么不能试试Equipment呢?
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#ge ...

可以,我去试一下,感谢

uiopjklkk
602723113 发表于 2020-3-22 14:52
为什么不能试试Equipment呢?
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#ge ...

效果实现了,但是有个问题想请教一下大佬,做监听的时候如果在其中出现null空值的话报错应该怎么处理呀?这里我遍历四件装备后,如果四件装备其中有一个没穿,就会报NULL

602723113
??怎么连这点基础都不会

做个NPE检查就好了,比如说你遍历的那根标识名叫 itemStack
if (itemStack == null) {
    continue; // 进行下一个装备的判定, 忽略本次ItemStack的判定
}

uiopjklkk
602723113 发表于 2020-3-22 16:51
??怎么连这点基础都不会

做个NPE检查就好了,比如说你遍历的那根标识名叫 itemStack

感谢大佬

uiopjklkk
602723113 发表于 2020-3-22 16:51
??怎么连这点基础都不会

做个NPE检查就好了,比如说你遍历的那根标识名叫 itemStack

大佬。。还有一个小问题,防具四个能判断了,主副手怎么进行判断呀

602723113
再判断
equipment.getItemInMainHand 和 getItemInOffHand

uiopjklkk
602723113 发表于 2020-3-22 22:01
再判断
equipment.getItemInMainHand 和 getItemInOffHand

给主副手单独判断的时候,如果手上没有东西也会出现null的情况,这个怎么抛比较好一点呀

脏鬼鬼
uiopjklkk 发表于 2020-3-22 23:02
给主副手单独判断的时候,如果手上没有东西也会出现null的情况,这个怎么抛比较好一点呀 ...

再加个if啊
  1. if(mainHandItem != null) {
  2. //处理代码
  3. }
复制代码



uiopjklkk

处理的代码有什么举例嘛,我用了一些还是都会报null的异常

小小小月丫
不知道................

uiopjklkk

好了解决了,问题发现玩家手上什么都不拿的时候竟然拿的是个空气..导致我一直判断了半天。感谢大佬!

丨年轻人丶
谢谢楼主,一直没找到