new ItemStack()构造函数ItemStack(Material,int)未定义

时间:2017-07-27 17:20:33

标签: java minecraft bukkit

所以我正在和我的朋友一起制作一个Minecraft服务器,我遇到了一个我似乎无法解决的错误。我正在制作一个/ hat命令,因此玩家可以将物品和积木放在头上。所以我试着这样做,以便在把它们放在头上之后将它们从手中取出。但我得到了这个空气项目

The constructor ItemStack(Material, int) is undefined

这是我的代码:`

import org.bukkit.ItemStack;
import net.minecraft.server.v1_8_R3.Material;

//{Class definition and other methods}

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    Player user = (Player) sender;
    if(sender instanceof Player){
        ItemStack userItem = new ItemStack(user.getItemInHand());
        if(!userItem.equals(Material.AIR)){     
            user.getInventory().setHelmet(userItem);
            ItemStack a = new ItemStack(Material.AIR, 1); // Error happens here
            user.getInventory().setItemInHand(a);
        } else {
            user.sendMessage(ChatColor.RED+"Put an item in your hand");
        }


    }
    return true;
}

如果你能解决它,那将非常感激。

2 个答案:

答案 0 :(得分:2)

对于您的问题以及评论中讨论的内容,解决方案是仔细检查您的导入,并验证您是否导入 ItemStack和{{来自Bukkit API的1}}

Material

而不是像import org.bukkit.Material; import org.bukkit.inventory.ItemStack; 那样从net.minecraft.server.vXX导入 任何 ,而不是像你一样。

答案 1 :(得分:0)

你刚才说错了。 而不是导入

.row {
  background: red;
}

.col-6-md {
  background: lightblue;
  height: 200px;
  display: flex;
}

.bottom {
  background: green;
  align-self: flex-end;
  width: 100px;
  height: 50px;
}

您需要导入

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="row">
  <div class="col-6-md">
    <div class="bottom">Bottom</div>
  </div>
</div>

或者只是一个简单的解决方法:

更换

import net.minecraft.server.v1_8_R3.Material;

import org.bukkit.Material;

这两种方法都应该解决这个问题。

将项目槽设置为null与将其设置为空气几乎相同。