getMaxStacksize() bei objectkits immer 1

The next update will be available on Wednesday, December 18, in the early evening (GMT+1).

This update will not yet replace the Java version, instead it is the actual content update. We'll provide more information about the transition together with the update.
  • Steam oder Standalone?
    Steam
    Singleplayer oder Multiplayer?
    Singleplayer + Multiplayer
    Fehlermeldung?
    No
    Betriebssystem
    Linux

    Moin,

    ein kleiner Fehler: die Anzahl von per insertNewObjectItem(short objectID, int variation, int stacksize, int slot) einem Storage hinzugefügten Objectkits wird auf 1 gesetzt, egal wie viele ich bei stacksize angebe.


    Ich habe ein neues Storage mit 32 Slots erstellt. Ich versuche, das gesamte Spielerinventar (SlotType.Inventar) dem neuen Storage hinzuzufügen. Das klappt auch soweit ganz gut, nur insertNewObjectItem(short objectID, int variation, int stacksize, int slot) mit eingesetzten Werten => insertNewObjectItem((short)130, 0, 5, 0) sollte bewirken, daß 5 Webstühle in Ausfertigung '0' in Slot 0 (erster Slot) des neuen Storages eingefügt werden. Da befindet sich dann aber nur ein Einziger.

    Lasse ich den Befehl mehrfach hintereinander ausführen, etwa mittels for-Schleife, habe ich entsprechend mehrere (max. 8) Webstühle.

    Eine Abfrage des getMaxStacksize()-Wertes des vom Spielerinventar ermittelten Items bringt '1' als Ergebnis, obgleich die tatsächliche Stackgröße bei 8 liegt.

    Auch wenn ich zu Fuß 8 Webstühle erstelle, alsi ingame mit Werkbank, habe ich zwar 8 Stück in meinem Inventar auf einem einzigen Slot; eine entsprechende Abfrage bezüglich getMaxStacksize() liefert als Resultat lediglich eine '1', während getStacksize() bei dem gleichen Slot und Item die entsprechende Anzahl vorhandener Webstühle (Lagerfeuer, Zelte, Lampen etc, alles objectkits) zurückgibt.


    Gruß Inu

  • Das kann man vermutlich als Bug betrachten, wobei es wohl eher ein "unfertiges Feature" ist :thinking: Grundsätzlich ist es so, dass für Objekte die max. Stacksize des Items ignoriert wird (zumindest die Objekte, die als universelles "objectkit" Item repräsentiert werden). Hier war ursprünglich vorgesehen, dass jedes Objekt eine eigene Stack-Größe mit sich bringt (ist ja sinnvoll, dass kleinere Objekte vll eher gestapelt werden können als bspw. ein Klavier oder Schmelzofen). Der Wert war vorläufig fest auf 8 gesetzt, aber das haben wir danach nicht mehr angerührt (hätte auch Probleme mit bestehenden Inventaren gegeben).


    Aus API-Sicht ist das tatsächlich suboptimal... da für das Item "objectkit" der Wert 1 hinterlegt ist (auch wenn er nicht direkt vom Spiel verwendet wird), wirkt sich das entsprechend auf "insertNewObjectItem()" aus.


    Wirklich behoben wird das Problem wohl erst in der neuen Version :( Als "Workaround" könntest du in der Java Version höchstens versuchen, insertNewObjectItem() 5x hintereinander aufzurufen (wenn du zB 5 Items hinzufügen möchtest) - auch wenn das keine elegante Lösung ist :hushed:

  • red51

    Closed the thread.

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!