Shulker Box

  • Guten Tag,


    ich programmiere derzeit an einem Case Opening. Meine Frage ist kann man in der Programmierung eine Shulker Box befüllen? Also das Inventar der Shulker Box?


    Liebe Grüße

  • Ja, eine Shulker Box ist an sich genau das selbe wie eine Kiste. Da gibt es bis auf das Material und das Aussehen keinen Unterschied! Der Block bzw die Shulker Box ist ein Container und diesen kannst du befüllen!


    Hier noch ein paar Links zum nachlesen:

    https://hub.spigotmc.org/javad…kit/block/ShulkerBox.html

    https://hub.spigotmc.org/javad…kkit/block/Container.html

    If you are homeless ... just buy a house, duh!

    and if you wanna have a plugin matching your conditions ... just code it yourself!

  • Ja, eine Shulker Box ist an sich genau das selbe wie eine Kiste. Da gibt es bis auf das Material und das Aussehen keinen Unterschied! Der Block bzw die Shulker Box ist ein Container und diesen kannst du befüllen!


    Hier noch ein paar Links zum nachlesen:

    https://hub.spigotmc.org/javad…kit/block/ShulkerBox.html

    https://hub.spigotmc.org/javad…kkit/block/Container.html

    Hallo, ich habe es wie folgt gemacht:

    Nun das Item bekomme ich nur der Inhalt der Shulker Box fehlt.


    Liebe Grüße

  • Ach jetzt verstehe ich was dein Ziel ist!

    Du willst ein Item mit Inventar Inhalt!


    Dazu müsstest du wohl NBT nutzen jedoch habe ich damit noch nie gearbeitet. Als "Work-Around" würde mir jetzt einfallen das Inventar zu setzten wenn man die Box platziert. Und ab da ist es ja dann im Item gespeichert!

    If you are homeless ... just buy a house, duh!

    and if you wanna have a plugin matching your conditions ... just code it yourself!

  • Du kann glaube ich diesen Code benutzen:

    Java
    1. ShulkerBox shulker = (ShulkerBox) im.getBlockState();
    2. Inventory inv = shulker.getInventory());


    Habe diesen Code nicht getestet. Kannst uns ja berichten.


    Hier noch mal der Code um das Inventar zu getten.

    Code
    1. ItemStack item = shulkerBoxItemStack;
    2. if(item.getItemMeta() instanceof BlockStateMeta){
    3. BlockStateMeta im = (BlockStateMeta)item.getItemMeta();
    4. if(im.getBlockState() instanceof ShulkerBox){
    5. ShulkerBox shulker = (ShulkerBox) im.getBlockState();
    6. Inventory inv = Bukkit.createInventory(null, 27, "Shulker Box");
    7. inv.setContents(shulker.getInventory().getContents());
    8. player.openInventory(inv);
    9. }
    10. }


    Sofern es bei dir klappt Poste am besten mal den Code hier rein, damit andere die das gleiche Problem haben das nachlesen können.

  • ch habe das Problem auch mal vor ein paar Jahren gehabt. Da habe ich es gelöst, indem ich die Kiste erst befülle, wenn sie gesetzt wurde.

    Einfach dann den Block zur Chest casten und dann auf das Inventory zugreifen und befüllen.


    Um die Kiste beim Setzen zuzuordnen kannst du ja nen TAG auf die Chest legen.

    Geht, ist aber nicht ganz Sinn der Sache

  • Sollte nun Gelöst sein :) Schau im Code !

    Einmal editiert, zuletzt von ByteValue () aus folgendem Grund: Sollte nun Gelöst sein :)

  • MaxS.

    Hat das Label von Ungelöst auf Gelöst geändert