2016-11-03 3 views
1

Ich versuche, ein Creeper Ei in meinem benutzerdefinierten GUI-Menü hinzuzufügen. Das ist, was ich bisher abgeschlossen:Bukkit benutzerdefinierte Inventar 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; 

Meine Frage ist: Wie kann ich die Schlingpflanze Ei meiner InventoryClick Klasse hinzufügen?

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

     event.setCancelled(true); 
    } 
+0

Was meinst du hinzufügen? Was versuchst du zu machen? – Li357

+0

Ich beendete meine erste Klasse, in der das Strauchei hinzukommt. Aber ich brauche es auch für meinen InventoryClick, also weiß es, wenn du darauf klickst, und er weiß, dass du einen Befehl ausführen musst, sobald du auf das Ei klickst. Ich bin also verwirrt, weil ich nicht weiß, was ich in der inventoryClick-Klasse machen soll, wenn ich ein Creeper-Ei in der GUI hinzufüge: P – TechStudios

+0

Warum haben wir separate * classes *? – Li357

Antwort

0

für ein bestimmtes Element Abrufen Sie erstellt haben, überprüfen Sie, ob das Monster Ei Sie klicken ein Kriechgang MONSTER_EGG ist.

prüfen, ob es ein Kriechgang Laich Ei ist:

IF VERSION BELOW 1,9:

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 
     } 
    } 

IF VERSION 1.9 oder höher ist:

zur Zeit nicht unterstützt in Bukkit/Spigot API ohne Verwendung von NBT. Wenn Sie NBT verwenden möchten, kann THIS CLASS hilfreich sein.

+0

Warum braucht 1,9 eine andere Methode, um das Creeper Ei zu bekommen? – Ferrybig

+0

@Ferrybig Ab SPIGOT-1592 wird der Spawntype nicht mehr funktionieren, da der Typ jetzt in den Metadaten gespeichert ist, so dass die Methode für SpawnEggs nicht funktioniert. – Kerooker