通过直接ItemStack和手中物品是否一样时,成功,但是只要物品破坏了东西就不成功了,通过ItemMeta也是,Lore也是,请问通过什么方法能明确判断ItemStack和手中物品一样
不太懂你想表达的意思,贴上你判断的代码吧
810587921 发表于 2018-6-11 19:42
不太懂你想表达的意思,贴上你判断的代码吧
public static boolean contrast(ItemStack tItemStack , ItemStack b2){
if (tItemStack.equals(b2)) {
return true;
}
if (b2.getEnchantments() != null) {
return false;
}
if (tItemStack.getItemMeta().equals(b2.getItemMeta())) {
return true;
}
if (tItemStack.getItemMeta().getLore().equals(b2.getItemMeta().getLore()) ) {
return true;
}
if (tItemStack.isSimilar(b2) && tItemStack.getType().name().equals(b2.getType().name())) {
return true;
}
if (tItemStack.getData().equals(b2.getData()) && tItemStack.getType().name().equals(b2.getType().name())) {
return true;
}
return false;
}
810587921 发表于 2018-6-11 19:42
不太懂你想表达的意思,贴上你判断的代码吧
判断手里的物品是否是插件里面的物品,如果使用tItemStack.equals(b2)第一次会成功,但是物品耐久变了,就判断失败了
810587921 发表于 2018-6-11 19:42
不太懂你想表达的意思,贴上你判断的代码吧
我知道了,是 if (b2.getEnchantments() != null) {
return false;
}的问题,但是怎么判断是否是附魔的
810587921 发表于 2018-6-11 19:42
不太懂你想表达的意思,贴上你判断的代码吧
我知道怎么判断了,问题解决了,感谢大佬