Minecraft Wiki
Advertisement

In den Beutetabellen ist festgelegt, was generierte Truhen enthalten, was getötete Kreaturen droppen und was man beim Angeln finden kann.

Arten

  • Truhen: Der Inhalt der Truhen und sonstigen Behälter in den vom Spiel generierten Bauwerken.
  • Kreaturen: Die Gegenstände, die eine getötete Kreatur als Drop fallenlässt.
  • Fanggut: Das Fanggut beim Angeln.

Herkunft

  • minecraft.jar: Die Original-Beutetabellen stehen in minecraft.jar.
    • data: Die Standard-Weltdaten.
      • minecraft: Die Minecraft-Standard-Weltdaten.
        • loot_tables: Die Beutetabellen.
          • chests: Beutetabellen für Truhen und die Werfer im Dschungeltempel.
          • entities: Beutetabellen für Kreaturen.
            • sheep: Die Schafe haben für jede Fellfarbe eine eigene Beutetabelle.
          • gameplay: Sonstige Beutetabellen im Spiel.
            • fishing: Beutetabellen für die verschiedenen Arten der Angelbeute.
            • fishing.json: Die zentrale Beutetabelle für das Angeln.
          • empty.json: Eine leere Beutetabelle als Standard.

Änderbarkeit

Die Original-Beutetabellen gehören zu den Standard-Weltdaten und werden mit Datenpaketen geändert. Der Befehl /datapack disable vanilla deaktiviert die Standard-Weltdaten. Damit droppen Kreaturen keine Beute mehr, Truhen in generierten Bauwerken sind leer und man kann nichts mehr angeln. Allerdings kann man dann auch keine Handwerk-Rezepte mehr anwenden, denn die Rezeptdaten gehören auch zu den Standard-Weltdaten.

Die Beutetabellen sind vom Dateityp .json und können mit einem normalen Texteditor angesehen und geändert werden.

Beutetabellen ändern

Um eine Beutetabelle auszutauschen, platziert man die entsprechende Datei mit dem richtigen Namen im richtigen Ordner. Das bedeutet, man muss nicht alle Beutetabellen kopieren, sondern nur die, die man verändert hat. Im Minimalfall ist das nur eine einzige. Beispiel:

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/minecraft/loot_tables/entities/creeper.json

Nach dem nächsten Spielstart oder nach dem Befehl /reload werden die geänderten Beutetabellen angewendet. Im Beispiel droppen dann alle Creeper die veränderte Beute.

Komplett neue Beutetabelle hinzufügen

Man kann aber auch beliebige eigene Beutetabellen verwenden. Diese hinterlegt man idealerweise in einem eigenen Namensraum, um sie deutlich von den Minecraft-Beutetabellen zu unterscheiden. Beispiel:

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/eigener-namensraum/loot_tables/eigene-beutetabelle.json

Nach dem nächsten Spielstart oder nach dem Befehl /reload sind die geänderten Beutetabellen bekannt. Sie werden aber nur angewendet, wenn man sie explizit mit einer Truhe oder einer Kreatur verknüpft. Für das Beispiel sieht das so aus:

  • Eine Truhe wird erzeugt mit dem Befehl /setblock ~ ~ ~ chest{LootTable:"eigener-namensraum:eigene-beutetabelle"} replace
  • Ein Zombie wird erzeugt mit dem Befehl /summon zombie ~ ~ ~ {DeathLootTable:"eigener-namensraum:eigene-beutetabelle"}

Beutetabellen dynamisch ändern

Man kann Beutetabellen auch im laufenden Spiel ändern. Dabei ersetzt man die bisherige Beutetabelle einer Truhe oder Kreatur durch eine andere Beutetabelle. Bei Truhen bedeutet das, ihr Inhalt wird durch die generierte Beute ersetzt. So kann man beim Öffnen einer Truhe immer wieder ihren gewünschten Standardinhalt herstellen. Wenn die Truhe die Hälfte einer Doppeltruhe ist, wird auch nur der Inhalt dieser Hälfte verändert.

  • Eine Truhe an Position x, y, z wird nachträglich verändert mit dem Befehl /data merge block x y z {LootTable:"eigener-namensraum:eigene-beutetabelle"}
  • Jeder Zombie im Umkreis von 10 Blöcken wird nachträglich verändert mit dem Befehl /execute as @e[type=zombie,distance=..10] run data merge entity @s {DeathLootTable:"eigener-namensraum:eigene-beutetabelle"}

Funktionsweise

In den generierten Bauwerken werden die dort versteckten Beutetruhen grundsätzlich leer generiert. Erst wenn man auf ihren Inhalt zugreift (durch Öffnen, Zerstören, Absaugen mit einem Trichter, Abfragen mit einem Komparator), wird der Inhalt anhand der entsprechenden Beutetabelle generiert.

Der Name der anzuwendenden Beutetabelle und ein zufälliger Startwert stehen in den Truhen-Eigenschaften und können mit dem Befehl /data get block x y z eingesehen werden (zur Eingabe von x, y und z auf die Truhe schauen und Tab ↹ drücken). Der Startwert beeinflusst den Zufall bei der Generierung der Beute. Bei identischem Startwert wird eine identische Beute generiert. Das betrifft nicht nur den Inhalt, sondern auch die Slotpositionen in der Truhe. Dabei ist der Startwert nicht der Startwert der Welt, sondern für jede einzelne Truhe eine unterschiedliche Zufallszahl. Dadurch ist in jeder Truhe eine andere zufällige Beute zu finden, auch wenn sie im selben Bauwerk steht und somit auf dieselbe Beutetabelle zurückgreift, wie die anderen Truhen dieses Bauwerks. Gibt man jedoch einen bestimmten Startwert an, wird diesen für Startwert immer dieselbe Beute generiert. Bei Truhen ist das die LootTableSeed-Eigenschaft.

Bei Kreaturen funktioniert das Konzept auf dieselbe Weise. Zum Ansehen der Eigenschaften aller Objekte in 5 Blöcken Umkreis lautet der Befehl /execute as @e[type=!player] run data get entity @s. Die Beutetabellen-Eigenschaft heißt hier DeathLootTable. Rüstungen und Waffen von Monstern sind jedoch nicht Teil der Beutetabellen, denn sie sind ja schon sichtbar, wenn das Monster erscheint. In den Beutetabellen stehen nur die Gegenstände, die die Kreatur beim Tod zusätzlich droppt.

Datenstruktur

  • Die namenlose Haupteigenschaft.
    • pools: Eine Liste von Beutetöpfen. Beim Generieren der Beute wird jeder Beutetopf dieser Liste nacheinander in der angegebenen Reihenfolge ausgeschüttet. In jedem Beutetopf befinden sich Gegenstände, die mit einer gewissen Wahrscheinlichkeit generiert werden. Enthält ein Beutetopf nur genau einen Gegenstand, wird dieser mit 100% Wahrscheinlichkeit generiert, enthält er mehrere Gegenstände, werden diese je nach ihrer Gewichtung generiert. Durch Angabe von mehreren Beutetöpfen kann man dies kombinieren, sodass einige Gegenstände immer, andere jedoch zufällig generiert werden. Siehe Beispiele.
      • Ein Beutetopf.
        • conditions: Optional. Eine Liste von Bedingungen zur Ausschüttung dieses Beutetopfes. Wenn mehrere Bedingungen angegeben sind, müssen sie alle erfüllt sein.
        • rolls: Ausschüttungsanzahl des Beutetopfes. Bei einer festen Anzahl wird dieser Beutetopf genau so oft ausgeschüttet, wie angegeben, um Beute zu generieren. Siehe Beispiele.
        • rolls: Die Ausschüttungsanzahl kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
          • min: Minimale Ausschüttungsanzahl.
          • max: Maximale Ausschüttungsanzahl.
        • bonus_rolls: Zusätzliche Ausschüttungsanzahl des Beutetopfes, die mit dem Glücks-Attribut "generic.luck" multipliziert wird.
        • bonus_rolls: Die zusätzliche Ausschüttungsanzahl kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
          • min: Minimale zusätzliche Ausschüttungsanzahl.
          • max: Maximale zusätzliche Ausschüttungsanzahl.
        • entries: Eine Liste von Gegenständen, die generiert werden. Wenn man möchte, dass ein Gegenstand immer generiert wird, legt man ihn alleine in einen Beutetopf. Damit hat er 100% Wahrscheinlichkeit für die Generierung.
          • Ein Gegenstand.
            • conditions: Optional. Eine Liste von Bedingungen zur Generierung des Gegenstandes. Wenn mehrere Bedingungen angegeben sind, müssen sie alle erfüllt sein.
              • Eine Bedingung, siehe Liste.
            • type: Bei Angabe von "item" handelt es sich um einen Gegenstand. - Bei Angabe von "empty" wird nichts ausgegeben. Da ein Beutetopf immer mindestens einen Eintrag aus seiner entries-Liste zur Generierung auswählt, kann man nur mit Hilfe des "empty"-Eintrages erreichen, dass ein Beutetopf auch einmal nichts ausschütten kann. - Durch die Angabe von "loot_table" kann eine ganze Beutetabelle angegeben werden. Das Spiel verwendet dies bei den Angel-Beutetabellen, bei denen für die drei Unter-Beutetabellen verschiedene Gewichtungen bzw. Wahrscheinlichkeiten angegeben sind: "Fisch" 85%, "Müll" 10% und "Schatz" 5%. Die Unter-Beutetabellen definieren dann, was bei "Fisch", "Müll" oder "Schatz" generiert wird.
            • name: Beim type "item" der ID-Name des Gegenstandes, z.B. "minecraft:diamond". - Beim type "looting_table" ein Beutetabellenname, z.B. "minecraft:entities/zombie".
            • functions: Optional und nur für den type "item": Eine Liste von Funktionen zur Beeinflussung des Gegenstandes. Ohne Funktionen wird der Gegenstand unverzaubert und mit der Anzahl 1 generiert. Mit Funktionen kann man dies ändern. Bei mehreren Funktionen ist die Reihenfolge zu beachten. Beispielsweise muss zuerst die Stapelgröße festgelegt werden (Funktion "set_count"), bevor diese durch Erfahrungsstufen erhöht werden kann (Funktion "looting_enchant").
              • Eine Funktion. Sie hat mindestens die Eigenschaft function mit dem Namen. Zu den weiteren Eigenschaften siehe die Liste der Funktionen.
                • conditions: Optional. Eine Liste von Bedingungen zur Anwendung dieser Funktion. Wenn mehrere Bedingungen angegeben sind, müssen sie alle erfüllt sein.
                  • Eine Bedingung. Sie hat mindestens die Eigenschaft condition mit dem Namen. Zu den weiteren Eigenschaften siehe die Liste der Bedingungen.
            • weight: Gewichtung für die Ausschüttung des Gegenstandes. Die Wahrscheinlichkeit berechnet sich daraus so: diese GewichtungSumme aller Gewichtungen der Ausschüttung. Wenn ein Gegenstand der einzige in einer Ausschüttung ist, hat er immer 100% Wahrscheinlichkeit für die Ausschüttung, egal welche Gewichtung man ihm gibt. Die Gewichtung kann dann auch weggelassen werden. Aus Anschaulichkeitsgründen gibt man ihm aber in diesem Fall die Gewichtung 1 oder 100.
            • quality: Erhöht die Gewichtung abhängig vom Glücks-Attribut "generic.luck". Die Wahrscheinlichkeit für die Ausschüttung des Gegenstandes steigt nach folgender Formel: weight + quality × generic.luck

Liste der Bedingungen

In einer Beutetabelle kann die Ausschüttung eines Beutetopfes, die Ausschüttung eines bestimmten Gegenstandes im Beutetopf oder die Anwendung einer bestimmten Funktion auf einen Gegenstand an eine oder mehrere Bedingungen geknüpft sein. Folgende Bedingungen sind möglich:


    • condition: entity_properties prüft die Eigenschaft einer Kreatur.
    • entity: Die Kreatur. Der Wert "this" bezeichnet die soeben gestorbene Kreatur, der Wert "killer" den Killer, der Wert "killer_player" den Killer, der ein Spieler ist.
    • properties: Eigenschaften, die geprüft werden können.
      • on_fire: true oder false. Bei true wird geprüft, ob die Kreatur brennend gestorben ist. Die Prüfung dieser Eigenschaft verwendet das Spiel, um bei Tieren gebratenes statt rohes Fleisch zu droppen.

    • condition: entity_scores prüft Anzeigetafel-Punktestände einer Kreatur.
    • entity: Die Kreatur. Der Wert "this" bezeichnet die soeben gestorbene Kreatur, der Wert "killer" den Killer, der Wert "killer_player" den Killer, der ein Spieler ist.
    • scores: Zu prüfende Punktestände. Alle aufgeführten Punktestände müssen ihre jeweilige Wertprüfung erfüllen.
      • Ein Punktestand: Der Name dieser Eigenschaft ist der Name des Punktestandes (siehe Befehl /scoreboard objectives list), der Wert ist der exakte Wert, den dieser Punktestand haben muss.
      • Ein Punktestand: Der Wert kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
        • min: Mindestwert des Punktestandes.
        • max: Höchstwert des Punktestandes.

    • condition: killed_by_player prüft ob die Kreatur durch einen Spieler getötet wurde. Diese Prüfung verwendet das Spiel bei vielen Monsterdrops.
    • inverse: true oder false. Der Wert false ist Standard und kann weggelassen werden. true bedeutet, dass die Kreatur nicht von einem Spieler getötet wurde.

    • condition: random_chance prüft eine Erfolgswahrscheinlichkeit. Das Spiel erzeugt dabei eine Zufallszahl zwischen 0,0 und 1,0. Wenn diese unter dem vorgegebenen Wert liegt, ist die Prüfung erfolgreich, was um so wahrscheinlicher ist, je höher der vorgegebene Wert ist.
    • chance: Vorgegebene Erfolgswahrscheinlichkeit zwischen 0.0 und 1.0 (Dezimalzahlen mit Punkt statt Komma).

    • condition: random_chance_with_looting prüft eine Erfolgswahrscheinlichkeit, die mit der Erfahrung des Spielers, der die Kreatur getötet hat, steigt. In den Standard-Beutetabellen wird diese Bedingung immer mit der "killed_by_player"-Bedingung kombiniert und zur Generierung von seltenen Drops verwendet.
    • chance: Vorgegebene Grundwahrscheinlichkeit zwischen 0.0 und 1.0 (Dezimalzahlen mit Punkt statt Komma).
    • looting_multiplier: Beutefaktor. Die Formel zur Berechnung der Erfolgswahrscheinlichkeit lautet: Grundwahrscheinlichkeit + Killererfahrungsstufe × Beutefaktor. Die Werte beim Zombie sind beispielsweise: 0,025 + Killererfahrungsstufe × 0,01. Die Wahrscheinlichkeit für das Droppen der Beute ist für unerfahrene Spieler somit 2,5%. Bei Spielern mit der Erfahrungsstufe 10 steigt die Wahrscheinlichkeit auf 12,5%.

Liste der Funktionen

In einer Beutetabelle kann ein Gegenstand durch eine oder mehrere Funktionen beeinflusst werden, die beispielsweise seine Menge festlegen oder seine Verzauberung. Folgende Funktionen sind möglich:


    • function: enchant_randomly verzaubert den Gegenstand mit einer zufällig gewählten Verzauberung. Die Erfahrungsstufe wird ebenfalls zufällig gewählt. Das Spiel verwendet diese Funktion für verzauberte Bücher.
    • enchantments: Optional. Liste von Verzauberungsnamen aus denen zufällig einer ausgewählt wird (z. B. minecraft:protection). Wenn keine Liste angegeben ist, wird aus allen für den Gegenstand möglichen Verzauberungen zufällig einer ausgewählt.

    • function: enchant_with_levels verzaubert den Gegenstand mit der angegebenen Erfahrungsstufe.
    • treasure: true oder false. Falls true, sind auch Schatzverzauberungen möglich.
    • levels: Anzahl der Erfahrungsstufen. Bei einer festen Anzahl wird der Gegenstand damit verzaubert.
    • levels: Die Erfahrungsstufen können auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
      • min: Minimale Erfahrungsstufe.
      • max: Maximale Erfahrungsstufe.

    • function: furnace_smelt Verändert den Gegenstand wie beim Erhitzen im Ofen. Das Spiel verwendet diese Funktion, um in Abhängigkeit von der "on_fire"-Bedingung gebratenes Fleisch zu generieren.

    • function: looting_enchant verändert die Stapelgröße, wenn der Spieler zum Töten der Kreatur eine mit Plünderung verzauberte Waffe benutzt hat. Zuvor sollte die Funktion "set_count" angewendet worden sein, die die Stapelgröße festlegt.
    • count: Anzahl der zusätzlichen Gegenstände pro Effektstufe.
    • count: Die Anzahl kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
      • min: Minimale Anzahl der zusätzlichen Gegenstände.
      • max: Maximale Anzahl der zusätzlichen Gegenstände.
    • limit: Begrenzung der maximalen Anzahl von erhältlichen Gegenständen unabhängig von der Effektstufe.

    • function: set_attributes versieht den Gegenstand mit Attribut-Modifikatoren.
    • modifiers Liste von Attribut-Modifikatoren.
      • A modifier Ein Attribut-Modifikator.
        • name: Name des Attribut-Modifikators.
        • attribute: Name des Attributes.
        • operation: "addition" = absolute Modifikation, "multiply_base" = prozentuale Modifikation des ursprünglichen Grundwertes, "multiply_total" = prozentuale Modifikation des modifizierten Grundwertes (siehe Attribut#Modifikatoren).
        • amount: Modifikatorwert.
        • amount: Der Modifikatorwert kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
          • min: Minimaler Modifikatorwert.
          • max: Maximaler Modifikatorwert.
        • id: Optional. UUID des Modifikators. Wenn keine angegeben wird, wird eine neue UUID generiert.
        • slot: Der Slot, in dem der Gegenstand sein muss, damit der Modifikator wirken kann. Mögliche Werte: "mainhand" = Haupthand, "offhand" = Zweithand, "feet" = Füße, "legs" = Beine, "chest" = Rumpf oder "head" = Kopf.
        • slot: Wenn statt eines Einzelwertes eine Liste angegeben wird, ist der Slot eine zufällige Auswahl aus dieser Liste.
          • Ein Slot.

    • function: set_count legt die Stapelgröße fest.
    • count: Stapelgröße.
    • count: Die Stapelgröße kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
      • min: Minimale Stapelgröße.
      • max: Maximale Stapelgröße.

    • function: set_damage legt die Abnutzung für Waffen und Werkzeuge fest.
    • damage: Prozentualer Abnutzungsfaktor als Wert zwischen 1.0 (frisch) und 0.0 (vollständig abgenutzt).
    • damage: Der Abnutzungsfaktor kann auch in einem Bereich angegeben werden, aus dem ein zufälliger Wert ausgewählt wird.
      • min: Minimaler Abnutzungsfaktor.
      • max: Maximaler Abnutzungsfaktor.

    • function: set_name Gibt dem Gegenstand einen benutzerdefinierten Namen.
    • name: Name als Text.
    • name: Der Name kann auch als JSON-Text mit den dort möglichen Formatierungen angegeben werden.

    • function: set_nbt Wendet bestimmte Gegenstandsdaten auf den Gegenstand an.
    • tag: Gegenstandsdaten so wie man sie bei Befehlen eingibt, d. h. in geschweifte Klammern eingeschlossen. Anführungszeichen innerhalb der NBT-Daten müssen markiert werden.

Beispiele

Beispiele für die Verwendung von pools und rolls: Ein pool ist ein Beutetopf, hier dargestellt durch einen Eimer. rolls gibt an, wie oft der Beutetopf ausgeschüttet wird. weight ist die Gewichtung eines Gegenstandes, woraus sich seine Ausschüttungswahrscheinlichkeit berechnet. name ist der ID-Name des Gegenstandes.

Beispiel

pools rolls weight name
1 15 emerald
Bei jeder Generierung gibt es einen Beutetopf, der genau einmal ausgeschüttet wird und einen Smaragd mit 100% Wahrscheinlichkeit enthält (1515).

Beispiel

pools rolls weight name
1 45 stone
15 emerald
Bei jeder Generierung gibt es einen Beutetopf, der genau einmal ausgeschüttet wird. Er generiert genau einen Gegenstand, nämlich entweder mit 75% Wahrscheinlichkeit (4560) einen Stein oder mit 25% Wahrscheinlichkeit (1560) einen Smaragd.

Beispiel

pools rolls weight name
2 45 stone
15 emerald
Bei jeder Generierung gibt es einen Beutetopf, der genau zweimal ausgeschüttet wird, mit derselben Generierung wie im vorigen Beispiel. Durch die zweifache Ausschüttung ergeben sich folgende Wahrscheinlichkeiten für die enthaltene Beute:
Beute Wahrscheinlichkeit
für diese Beute
Durchschnittliche Anzahl Truhenöffnungen
um diese Beute zu erhalten
75% × 75% = 56,25% 10056,25 = 1,78
oder
75% × 25% + 25% × 75% = 37,5% 10037,5 = 2,67
25% × 25% = 6,25% 1006,25 = 16
Summe: 100%
Möchte man die Wahrscheinlichkeiten für die Generierung eines bestimmten Gegenstandes angeben, addiert man alle Beutewahrscheinlichkeiten, in denen der Gegenstand vorkommt oder man zieht die Wahrscheinlichkeit der Nicht-Generierung dieses Gegenstandes von 100% ab. Im Beispiel besteht die Beute, in der kein Stein enthalten ist, aus zwei Smaragden und die Beute, in der kein Smaragd enthalten ist, aus zwei Steinen:
Gegenstand Wahrscheinlichkeit für diesen Gegenstand
56,25% + 37,5% = 93,75% 100% - 6,25 = 93,75%
6,25% + 37,5% = 43,75% 100% - 56,25% = 43,75%
Die Summe der Wahrscheinlichkeiten ist nun größer als 100%, weil die Gegenstände auch gemeinsam in einer Beute enthalten sein können.

Beispiel

pools rolls weight name
1 1 diamond
9 dirt
2 25 gold_ingot
75 iron_ingot
Bei jeder Generierung gibt es einen Beutetopf, der insgesamt dreimal ausgeschüttet wird. Bei der ersten Ausschüttung gibt es entweder einen Diamanten (110 = 10%) oder eine Erde (910 = 90%), bei der zweiten und dritten gibt es entweder einen Goldbarren (25100 = 25%) oder einen Eisenbarren (75100 = 75%). Die Wahrscheinlichkeiten für die enthaltene Beute berechnen sich wie folgt:
Beute Wahrscheinlichkeit
für diese Beute
Durchschnittliche Anzahl Truhenöffnungen
um diese Beute zu erhalten
10% × 25% × 25% = 0,625% 1000,625 = 160
oder
10% × 25% × 75% + 10% × 75% × 25%= 3,75% 1003,75 = 26,67
10% × 75% × 75% = 5,625% 1005,625 = 17,78
Summe Beute mit Diamant: 10%
90% × 25% × 25% = 5,625% 1005,625 = 17,78
oder
90% × 25% × 75% + 90% × 75% × 25% = 33,75% 10033,75 = 2,96
90% × 75% × 75% = 50,625% 10050,625 = 1,98
Summe Beute mit Erde: 90%
Möchte man auch hier die Wahrscheinlichkeiten für die Generierung eines bestimmten Gegenstandes angeben, wendet man dieselben Formeln an, wie im vorigen Beispiel:
Gegenstand Wahrscheinlichkeit für diesen Gegenstand
0,625% + 3,75% + 5,625% = 10% 100% - 90% = 10%
5,625% + 33,75% + 50,625 = 90% 100% - 10% = 90%
0,625% + 3,75% + 5,625% + 33,75% = 43,75% 100% - 5,625% - 50,625% = 43,75%
3,75% + 5,625% + 33,75% + 50,625% = 93,75% 100% - 0,625% - 5,625% = 93,75%

Beispiel

Die Beutetabelle minecraft.jar/assets/minecraft/loot_tables/chests/desert_pyramid.json ist für das Füllen der Truhen in Wüstentempeln zuständig. Es gibt einen Beutetopf mit zwei verschiedenen Ausschüttungen: 2-4 und 4:
pools rolls weight name
2-4 5232 diamond
25232 bone
4 1050 sand
1050 bone
Die Wahrscheinlichkeit für die Generierung eines bestimmten Gegenstandes wird hier an den Beispielen Diamant, Sand und Knochen beschrieben. Die Berechnung ist am einfachsten, wenn man die Wahrscheinlichkeit der Nichtgenerierung von 100% (= 1) abzieht. In 5 von 232 Fällen wird ein Diamant generiert, sein Gewicht ist daher 5232. Umgekehrt wird in 232-5 = 227 Fällen kein Diamant generiert, das Gewicht ist daher 227232. Mit jeder Ausschüttung multiplizieren sich die Gewichte. Bei 2 Ausschüttungen werden mit 227232 × 227232 = (227232)2 Wahrscheinlichkeit keine Diamanten generiert bzw. mit 1 - (227232)2 werden Diamanten generiert. Bei verschiedenen Ausschüttungsmöglichkeiten ist jede Möglichkeit gleich wahrscheinlich:
Gegenstand Ausschüttungs-
möglichkeiten
Wahrscheinlichkeit für
eine Ausschüttungs-
möglichkeit
Berechnung Wahrscheinlichkeit für
den Gegenstand
2 13

1 - (227232)2 3

 = 1,42%
  1,42%
+ 2,11%
+ 2,78%
= 6,31%
3 13

1 - (227232)3 3

 = 2,11%
4 13

1 - (227232)4 3

 = 2,78%
4 1 1 - (4050)4 = 59,04%   59,04%
2+4 13

1 - (207232)2 × (4050)4 3

 = 22,46%
  22,46%
+ 23,64%
+ 24,68%
= 70,78%
3+4 13

1 - (207232)3 × (4050)4 3

 = 23,64%
4+4 13

1 - (207232)4 × (4050)4 3

 = 24,68%

Beispiel

Die Datei .minecraft/saves/meinewelt/datapacks/meinpaket/data/meinedaten/loot_tables/monster/nethersternzombie.json könnte so aussehen:
{
  pools:
  [
    {
      rolls: 1,
      entries: 
      [
        {
          type: "item",
          name: "minecraft:nether_star",
          weight: 1
        }
      ]
    }
  ]
}
Ein Zombie der mit dem Befehl /summon zombie ~ ~ ~ {DeathLootTable:"meinedaten:monster/nethersternzombie"} erzeugt wird, droppt dann mit 100% Wahrscheinlichkeit einen Netherstern. Die Waffe und Rüstung, die er trägt und die Wahrscheinlichkeit, mit der diese gedroppt werden, wird nicht in der Beutetabelle, sondern direkt mit den Kreaturdaten angegeben (siehe dort):
/summon zombie ~ ~ ~
{
  DeathLootTable:"meinedaten:monster/nethersternzombie",
  ArmorItems:
  [
    {},
    {},
    {},
    {id:leather_helmet, Count:1}
  ],
  ArmorDropChances:
  [ 0f, 0f, 0f, 1f],
  HandItems:
  [
    {id:iron_sword, Count:1},
    {}
  ],
  HandDropChances:
  [ 1f, 0f]
} 
Hier trägt der Zombie zusätzlich einen Lederhelm und ein Eisenschwert, die beide mit 100%-Wahrscheinlichkeit gedroppt werden.

Geschichte

Versionsgeschichte der Java Edition
Vollversion 1.9
15w43a
  • Beutetabellen hinzugefügt
15w43b
  • Bedingung entity_scores hinzugefügt
15w43c
  • Beutetabellen für das Angeln hinzugefügt
  • Funktion set_damage hinzugefügt
15w44a
  • Funktionen enchant_randomly und set_attributes hinzugefügt
  • Überarbeitung des Inhalts der Truhen-Beutetabellen
Vollversion 1.11 (16w32a)
  • Varianten von Kreaturen (wie beispielsweise Wüstenzombies) besitzen ihre eigene Beutetabelle statt sie von der Hauptvariante zu beziehen
Vollversion 1.12 (17w18a)
  • Der Befehl /reload kann die Beutetabellen neu laden, damit Änderungen während des Spielgeschehens sichtbar werden
Vollversion 1.13
17w43a
  • Eigene Beutetabellen werden jetzt pro Welt in Datenpaketen gespeichert
17w47a
18w01a
  • Funktion set_name hinzugefügt
Advertisement