cioyenn
我想写一个分解插件,判断物品的lore和名字,
ItemStack itemStack = new ItemStack(getConfig().getInt("FenJie." + s + ".ItemID"));
ItemMeta itemMeta = itemStack.getItemMeta();
itemMeta.setDisplayName(getConfig().getString("FenJie." + s + ".ItemName"));
itemStack.setItemMeta(itemMeta);我这样写的时候,他虽然说判定了名字,但是我用sx做出来的物品,就不能分解,用lore插件,直接修改物品的名字就能分解。
是不是要遍历?

white_cola
ItemStack().getLore()
ItemStack().getItemMeta().getDisplayName()

南柯郡守
没看明白 如果是要判断lore就先获取lore然后用for循环遍历每一行lore就好了

[email protected]
本帖最后由 [email protected] 于 2020-4-22 11:22 编辑

他不仅判定了 你所能看到的文字 他还判定了颜色代码 比如说
&a测试 和 &a测试&r 虽然显示一样的颜色但是多了一个&r他就会返回false
sx的武器可能是多了某些你看不到的颜色代码所以分解不了

我个人的做法是名字和lore都判定

名字吧颜色字符全部替换成空 只判定文字

在加上一行lore 可分解 的字样来判定这个武器是可以被分解的

如果有哪个大佬有更好的做法 请指正

天辉胡萝卜
建议
如果lore的字符串带颜色代码的话,建议先去除

Spigot API自带了ChatColor#stripColors(string)

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