Wie füge ich ein NBT-Tag zu einem Item hinzu?

  • Guten Tag,


    ich würde gerne mal wissen wie ich auf ein Itemstack ein NBT-Tag hinzufüge und auch wieder entfernen kann, auch würde ich gerne wissen wie man den Tag abfragen kann.


    Danke für eure Hilfe!


    Mfg,

    Lena.

  • Du kannst eine ItemMetha zu einem ItemStack erstellen:

    Code
    ItemStack item = new ItemStack(...);
    ItemMetha itemMetha = item.getItemMetha();

    Das ItemMetha Interface hat eine Menge Methoden die du vlt. brauchen kannst.

    Ich hoffe ich konnte helfen;)

  • Was möchtest du denn dem ItemStack hinzufügen?

    Bevor du zu NBT greifen solltest, würde ich erstmal schauen ob dies durch die bereits gegeben Methode machbar ist.

    Wenn die ItemMeta nicht ausreicht, hilft es evtl auch sich mit CraftItemStack.asNMSCopy(ItemStack) eine NMS Copy von dem Item zu holen und dort die gegebenen Methoden zu verwenden.

    Diese Schritt wird sowieso für das setzen von NBT Tags vorausgesetzt, wovon du wie gesagt jedoch erstmal Abstand halten solltest, da das meiste bereits gegeben ist.

  • Denk daran, dass nicht jedes Item automatisch ein NBT-Tag hat. Kann gut sein, dass du erst nmsItem.setTag(...) aufrufen musst, damit du nicht in eine NPE reinläufst. Und danach natürlich über CraftItemStack.asOBSCopy(...) zurück zu dem BukkitItemStack.