Java GetType不接受itemStack

Java GetType不接受itemStack,java,minecraft,bukkit,Java,Minecraft,Bukkit,我正在编写一个手工制作插件,我需要检查getResult().GetType()是否等于ItemStack,但是GetType()可能不接受ItemStack ItemStack its = new ItemStack(Material.getMaterial(s.getInt("item")), 1, (byte) s.getInt("data")); if(e.getInventory().getResult().getType().equals(its)) { //this don'

我正在编写一个手工制作插件,我需要检查
getResult().GetType()
是否等于
ItemStack
,但是
GetType()
可能不接受
ItemStack

ItemStack its = new ItemStack(Material.getMaterial(s.getInt("item")),   
1, (byte) s.getInt("data"));
if(e.getInventory().getResult().getType().equals(its)) { //this don't work

它不起作用,因为
e.getInventory().getResult().getType()
返回
Material
对象,并且
在您的示例中是
ItemStack
对象。因此,如果您想检查项目的类型是否相同,您必须编写:

    if(e.getInventory().getResult().getType().equals(its.getType())) {
      //code here
    }
或者,如果你想像你在文章中介绍的那样进行比较,你必须比较
ItemStack
对象,因为你无法将
ItemStack
对象与
材料进行比较。然后你必须写这样的东西:

    if(e.getInventory().gtResult().equals(its)) {
      //code here
    }

谢谢你能帮帮我,告诉我如何检查玩家是否在帮助下完成了制作吗?我是说比赛结果<代码>如果(Result.ALLOW
你说的“帮助制作”是什么意思?你到底想检查什么?在PrepareItemCraftEvent中,检查他是否创建了物品,如果创建了,接下来会发生什么。因为我检查了需要创建的物品数量,但在创建之后,你必须删除它们。你指的是玩家从槽中抓取制作物品的那一刻或者你只是想阻止制作物品,如果没有适当数量的原料需要?因为我仍然无法理解你到底想要做什么。是的,这是关于玩家从插槽中抓取制作物品的时刻。对不起,但我不知道如何解释。我需要检查,如果玩家抓取了制作物品。