2017-10-02 11 views
0

現在、私はオートメルトプラグインを作成しようとしています。プレーヤーがブロックを壊すたびに、ブロックが壊れてブロックがプレーヤーに送られます。さて、ラピスラズリは、ゲーム内で製錬する必要はないかもしれませんが、ブロックが壊れているとき、それはブロック破壊をキャンセルし、以来、手動でそれを壊すその後、アイテムを与え、私は実行する必要があります。Lapis Lazuli ItemStack ID

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

しかし、あなたの一部が知っているように、Material.LAPISはバキット/スピゴットの素材ではありません。私がしなければならないことの意味:

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

ラピスは技術的に染料です。しかし、もちろんこれは私が知らない理由では機能しません。 1.10.2 spigot APIを使用しているので、1.11または1.12 APIで動作するかもしれませんが、わかりません。だから、誰かがラピスを与えるための解決策を持っているなら、私に知らせてください。

答えて

2

これを試してみてください:

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

0

第一バリアント

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

第二バリアント

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

は私がブロックを意味するものではありませんでした、私はラピスは、色素を意味し、そのアイテムのIDです351:4。それはデータ値を持っており、アイテムスタックにデータ値を追加する方法はわかりません。 – Potato

+0

メソッドItemStack.setDurability(data)があります。データはあなたの4です。 – LuckyZeeRo

+0

setDurabilityも機能しませんでした。 – Potato

関連する問題