1. Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Gelöst Location und Inventory in Datenbank speichern.

Dieses Thema im Forum "Spigot" wurde erstellt von Thonny, 26. Juli 2016.

  1. Thonny
    Offline

    Thonny

    Registriert seit:
    22. Juli 2016
    Beiträge:
    15
    Ort:
    Itzehoe
    Minecraft:
    Thonny
    Folgendes Szenario,

    Ich habe eine HashMap<Location, Inventory>.

    Diese soll in die Datenbank. Location ist kein Problem, allerdings ist das Inventory ein Problem. Wie bekomme ich das Inventar in die Datenbank ohne Schäden?

    Lösung: byte[]
    Code (Text):
    1.  
    2. private byte[] serialieInventory(Inventory inv) {
    3.      ByteArrayOutputStream binaryFormatter = new ByteArrayOutputStream();
    4.      ObjectOutputStream binaryStream;
    5.      try {
    6.        binaryStream = new ObjectOutputStream(binaryFormatter);
    7.        binaryStream.writeObject(inv.getContents());
    8.      } catch (Exception ex) {
    9.        ex.printStackTrace();
    10.      }
    11.      return binaryFormatter.toByteArray();
    12.    }
    13.  


    Mit einem leerem Inventar funktioniert das, sobald da aber irgendwelche Items drinnen sind bekomme ich eine NotSerializableException.

    Aber wie bekomme ich nun dieses Item unbeschädigt in die Datenbank.

    Der Verlust von Metadaten ist dabei unverzeihlich, Vorher und nachher muss schon 100% Identisch sein.

    Wie kann man das realisieren​
     
    #1
  2. Werbung
    Online

    Werbung

  3. GPSforLEGENDS
    Offline

    GPSforLEGENDS

    Registriert seit:
    21. März 2014
    Beiträge:
    289
    Ort:
    Bürostuhl
    Minecraft:
    GPSforLEGENDS
  4. Thonny
    Offline

    Thonny

    Registriert seit:
    22. Juli 2016
    Beiträge:
    15
    Ort:
    Itzehoe
    Minecraft:
    Thonny
    #3
  5. Dunios
    Offline

    Dunios

    Registriert seit:
    27. Juni 2016
    Beiträge:
    6
  6. Thonny
    Offline

    Thonny

    Registriert seit:
    22. Juli 2016
    Beiträge:
    15
    Ort:
    Itzehoe
    Minecraft:
    Thonny
    @Dunios
    Lustig, den hatte ich auch schon und ebenfalls mit einer Google-Anfrage.
     
    #5
  7. UnityGaming
    Offline

    UnityGaming

    Registriert seit:
    25. Oktober 2015
    Beiträge:
    150
    Ort:
    Hohenfels
    Minecraft:
    FastFelix771
    Bukkit hat extra Streams zum serializen von Items und Inventories. BukkitObjectInputStream & BukkitObjectOutputStream
     
    #6
    • Gefällt mir Gefällt mir x 2
  8. Thonny
    Offline

    Thonny

    Registriert seit:
    22. Juli 2016
    Beiträge:
    15
    Ort:
    Itzehoe
    Minecraft:
    Thonny
    Okay @UnityGaming

    Man lernt ja nie aus. Das Thema ist somit meinerseits erledigt.
     
    #7