2016-11-03 9 views
1

カスタムGUIメニューの中に卵を追加しようとしています。 これは私がこれまでに完了するものである:BukkitカスタムインベントリSpawn Egg(#2)

ItemStack stack = new ItemStack(Material.MONSTER_EGG, 1, EntityType.CREEPER.getTypeId()); 

    ItemMeta meta = stack.getItemMeta(); 
    meta.setDisplayName(ChatColor.AQUA + "Creeper"); 
    stack.setItemMeta(meta); 
    inv.setItem(1, stack); 
    player.openInventory(inv); 
    return true; 

私の質問は:私は私のInventoryClickクラスにクリーパーの卵を追加するにはどうすればよいですか?

Player player = (Player) event.getWhoClicked(); 
    ItemStack item = event.getCurrentItem(); 
    if (item.getType() == Material.blah blah) { 
     player.performCommand("blah blah"); 

     event.setCancelled(true); 
    } 
+0

追加の意味は?あなたは何をしようとしているのですか? – Li357

+0

私はファーストクラスを終えました。そこには幼稚な卵が入っています。しかし、私はInventoryClickのためにもそれを必要とします。そのため、クリックしたときのように分かり、卵をクリックするとコマンドを実行することがわかります。ですから、私は混乱しています。なぜなら、GUIの中に卵を追加する場合、inventoryClickクラスで何をすべきか分からないからです。P – TechStudios

+0

なぜ別のクラス*があるのですか? – Li357

答えて

0

作成した特定のアイテムを取得するには、クリックしているモンスターの卵が怪物MONSTER_EGGかどうかを確認してください。 VERSIONはBELOW 1.9 ISのIF

ItemStack item; 
boolean isSpawnEgg = item.getType() == Material.MONSTER_EGG; 
    if (isSpawnEgg) { 
     SpawnEgg egg = (SpawnEgg) item.getData(); 
     EntityType type = egg.getSpawnedType(); 
     if (type.equals(EntityType.CREEPER)){ 
     //IsACreeper 
     } 
    } 

VERSIONが1.9以上である場合:それはツルのスポーンエッグだ場合

はチェック現在ではサポートされていない

NBTを使用しないBukkit/Spigot API NBTを使用したい場合は、THIS CLASSが役に立ちます。

+0

なぜ、1.9には幼稚な卵を得るための他の方法が必要ですか? – Ferrybig

+0

@Ferrybig SPIGOT-1592では、タイプがメタデータ内に保存されるため、Spawnedtypeはもう機能しません。そのため、SpawnEggsのメソッドは機能しません。 – Kerooker