453299227
我想读取一个物品的最大耐久  然而利用pl.getItemInHand()获取物品后
不能转换为游戏本体中的item 而bukkit中的查找物品最大耐久 不能查mod物品
我         ItemStack p = (ItemStack)pl.getItemInHand();这样也不能强制转换  
求大佬说明强制转换的方法

tdiant
我们把 net.minecraft.server 包称为NMS,请楼主使用NMS代替您所指的“minecraft.server”。
Bukkit在OBC(org.bukkit.craftbukkit.XXXXX).inventory包中提供CraftItemStack类,其中有一个方法是
asNMSCopy(ItemStack item)
所以你可以这样获取

ItemStack item=你的ItemStack;
NMS.ItemStack nmsItemStack = OBC.CraftItemStack.asNMSCopy(item);

453299227
tdiant 发表于 2017-5-20 15:18
我们把 net.minecraft.server 包称为NMS,请楼主使用NMS代替您所指的“minecraft.server”。
Bukkit在OBC( ...

谢谢了  NMS..很强势

453299227
tdiant 发表于 2017-5-20 15:18
我们把 net.minecraft.server 包称为NMS,请楼主使用NMS代替您所指的“minecraft.server”。
Bukkit在OBC( ...

不过  为什么我直接NMS.ItemStack nmsItemStack = OBC.CraftItemStack.asNMSCopy(item);
无法解析OBC 和NMS  是什么鬼

453299227
453299227 发表于 2017-5-20 15:42
不过  为什么我直接NMS.ItemStack nmsItemStack = OBC.CraftItemStack.asNMSCopy(item);
无法解析OBC 和N ...

(net.minecraft.server.v1_7_R4)ItemStack不是这样吗??
我是新手 不太懂

tdiant
453299227 发表于 2017-5-20 15:45
(net.minecraft.server.v1_7_R4)ItemStack不是这样吗??
我是新手 不太懂

org.bukkit.inventory.ItemStack item = 你的ItemStack;
net.minecraft.server.v1_7_R4.ItemStack nmsItemStack = org.bukkit.craftbukkit.v1_7_R4.inventory.CraftItemStack.asNMSCopy(item);

453299227
tdiant 发表于 2017-5-20 15:31
org.bukkit.inventory.ItemStack item = 你的ItemStack;
net.minecraft.server.v1_7_R4.ItemStack nmsIte ...

这样就明白了  谢谢了