Items

  • Hallo red51 ,


    1. Bitte:

    Ich weiß nicht, ob es bereits möglich ist, aber ich brauch unbedingt eine Methode, wo man ein Item-Objekt durch TypeID und Variante erhält, damit man z.B. den Namen auslesen kann.


    Beispiel: Item item = Item.getItem(short id, int variant)


    2. Bitte

    Gibt es eine Möglichkeit, eine Liste aller Item-IDs zu erhalten, das man auch herausfinden kann, welche Item-IDs es gibt.

  • Ich weiß nicht, ob es bereits möglich ist, aber ich brauch unbedingt eine Methode, wo man ein Item-Objekt durch TypeID und Variante erhält, damit man z.B. den Namen auslesen kann.

    Es gibt bestimmt die Methode, die du suchst, aber leider habe ich nicht ganz verstanden, was du meinst :saint: Worum geht es dir konkret? Möchtest du Items spawnen, oder nur den Namen eines bestimmten Objektes/Items erhalten?


    Gibt es eine Möglichkeit, eine Liste aller Item-IDs zu erhalten, das man auch herausfinden kann, welche Item-IDs es gibt.

    Ja, mit Definitions.getAllItemDefinitions() kannst du alle Item-Definitionen auslesen. Die Item-Definitionen enthalten quasi alle Daten, die in der "definitions.db" im Spielverzeichnis (unter Data/StreamingAssets) gespeichert sind (mit diesen Daten arbeitet auch das Spiel selber). Bedenke aber, dass das Array auch null-Einträge enthalten kannst, das musst du daher beim durchgehen prüfen:

    Java
    for (Items.ItemDefinition itemDef : Definitions.getAllItemDefinitions()) {
    if (itemDef != null) {
    System.out.println(itemDef.id + " - " + itemDef.name);
    }
    }
  • Sandboxgamer für unsere R.W. Wiki benutze ich auch die "definitions.db"

    Siehe: Wiki - Alle Items

    Nur ich benutze eine Datenbank-Abfrage

    Danke für deine Hilfe. Kann ich gut gebrauchen.


    Es gibt bestimmt die Methode, die du suchst, aber leider habe ich nicht ganz verstanden, was du meinst :saint: Worum geht es dir konkret? Möchtest du Items spawnen, oder nur den Namen eines bestimmten Objektes/Items erhalten?

    Ich möchte mit der Item-ID und der Viariante die Klasse "Item" oder wenn das nicht geht zumindest den Namen zurück bekommen. Ich will z.B. wissen, welches Item kommt bei der ID 25 raus.

  • Ich möchte mit der Item-ID und der Viariante die Klasse "Item" oder wenn das nicht geht zumindest den Namen zurück bekommen. Ich will z.B. wissen, welches Item kommt bei der ID 25 raus.

    Was du suchst ist eine "ItemDefinition". Denn ein "Item" Objekt ist bereits eine konkrete Item-Instanz in der Spielwelt bzw. im Inventar eines Spielers (oder in einer Kiste). Die Meta-Daten eines Items (also der interne Name, die ID, den Item-Typ usw) sind hingegen in den Definitions gespeichert.


    Wenn du bereits ein konkretes Item hast und wissen willst, welches Item es ist, kannst du item.getDefinition() aufrufen, um die zugehörige ItemDefinition zu erhalten. Wenn du das hingegen ganz allgemein haben möchtest, sprich du hast eine ID oder einen Namen und willst die zugehörige Definition haben, musst du Definitions.getItemDefinition() verwenden. Beispiel:

    Java
    //Suche nach ID (alternativ kannst du auch einen Item-Namen angeben)
    Items.ItemDefinition def = Definitions.getItemDefinition(25);
    if (def != null) {
    System.out.println("ID 25: " + def.name);
    }
    else {
    System.out.println("No item with ID 25 found!");
    }
    //Ausgabe: "ID 25: rakewood"


    Wenn keine Definition gefunden wurde (weil es das gesuchte Item bzw. diese ID nicht gibt), dann wird null zurückgegeben.


    Gehört zwar nur bedingt hier hin, aber kennt jemand den Konsolenbefehl für ein komplettes Motorboot ?

    Das Motorboot heißt rib, du kannst es also mit spawnvehicle rib spawnen ;)

Participate now!

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