Lapis Lazuli ItemStack ID

时间:2017-10-02 21:31:32

标签: java minecraft

目前我正在尝试制作一个自动加密插件,每当玩家突破该区块时,它会读取该区块并将该区块融入玩家。现在,青金石可能不需要在游戏中进行冶炼,但是因为,当块被破坏时,它会取消块破坏并手动打破它 然后 给出项目,我需要这样做:

player.getInventory().addItem(new ItemStack(Material.LAPIS, 1));
player.updateInventory();

但正如你们中的一些人所知,Material.LAPIS不是bukkit / spigot材料。这意味着我需要这样做:

player.getInventory().addItem(new ItemStack(Material.INK_SACK, 1, (short) 4));
player.updateInventory();

因为青金石在技术上是一种染料。但是,这当然不适用于我不知道的原因。我使用1.10.2 spigot API,所以它可能适用于1.11或1.12 API,但我不确定。因此,如果有人有解决方案让玩家获得青金石,请告诉我。

2 个答案:

答案 0 :(得分:2)

试试这个:

Dye dye = new Dye(); dye.setColor(DyeColor.BLUE); ItemStack lapis = dye.toItemStack();

答案 1 :(得分:0)

第一个变种

ItemStack yourInkSack = new ItemStack(Material.INK_SACK);
yourInkSack.setDurability((short) 4);

第二个变种

{{1}}