Beutetabellen: Pools, Würfe und der Unterschied zwischen Einträgen und Funktionen
Eine Beutetabelle, die nichts fallen lässt, hat meistens ihre Gewichte oder Bedingungen auf der falschen Ebene. Hier erfahren Sie, was jede Verschachtelungsebene steuert und welche Funktionen wissenswert sind.
Die JSON-Struktur von Beutetabellen ist vier Ebenen tief, und jede Ebene hat eine andere Bedeutung. Fast jedes "meine Tabelle lässt nichts fallen" ist auf eine Bedingung zurückzuführen, die eine Ebene entfernt von ihrem eigentlichen Platz angebracht wurde.
Die vier Ebenen
table
└── pools[] how many independent draws
└── entries[] what can come out of this draw
└── functions[] modify the item that came out
rollsbei einem Pool gibt an, wie oft dieser Pool zieht. Ein Pool mitrolls: 3zieht dreimal aus derselben Eintragsliste.weightbei einem Eintrag ist relativ innerhalb seines Pools. Gewichte müssen sich nicht zu etwas summieren; ein Eintrag mit Gewicht 10 gegenüber einem mit Gewicht 90 kommt ein Zehntel der Zeit vor.conditionsexistieren auf jeder Ebene und bedeuten unterschiedliche Dinge. Bei einem Pool steuern sie den gesamten Zug. Bei einem Eintrag steuern sie diese eine Option. Bei einer Funktion steuern sie nur die Modifikation.
Eine garantierte Beute erfordert einen eigenen Pool
Gewichte können nichts garantieren, da ein Pool pro Wurf genau einen Eintrag auswählt. Eine Tabelle, die immer eine Karte plus zufällige Beute fallen lassen muss, benötigt zwei Pools:
"pools": [
{ "rolls": 1, "entries": [ { "type": "minecraft:item", "name": "minecraft:filled_map" } ] },
{ "rolls": { "min": 2, "max": 4 }, "entries": [ … weighted list … ] }
]
Pool eins hat einen einzigen Eintrag, sodass er diesen immer produziert. Pool zwei würfelt 2–4 Mal aus der gewichteten Liste.
Die wissenswerten Funktionen
| Funktion | Bewirkt |
|---|---|
set_count | eine feste Zahl oder einen uniform Bereich |
enchant_randomly | zufällige Verzauberungen, optional aus einer Liste |
enchant_with_levels | wie ein Zaubertisch auf N Ebenen – beinhaltet Schatz, wenn gewünscht |
set_components | benutzerdefinierter Name, Lore, jede Datenkomponente |
looting_enchant | Bonus pro Stufe von Plünderung; nur Entitätstabellen |
set_damage | Haltbarkeit als Bruch, sodass 0.5 halb abgenutzt ist |
furnace_smelt | die geschmolzene Form, wenn der Mob im Feuer stirbt |
enchant_with_levels und enchant_randomly sind nicht austauschbar. Die erste imitiert einen Zaubertisch und berücksichtigt Stufenkosten; die zweite wählt willkürlich und kann Kombinationen erzeugen, die das Spiel niemals generieren würde.
Bedingungen, die häufig verwendet werden
random_chance— eine feste Wahrscheinlichkeitrandom_chance_with_enchanted_bonus— die moderne Plünderung-bewusste Chancekilled_by_player— der Grund, warum Ihre seltene Beute bei einem Falltod nie erscheintentity_properties— überprüft den Typ, Zustand oder die Ausrüstung des Opfersmatch_tool— überprüft das verwendete Werkzeug, für Blocktabellen
Testen ohne die Welt neu aufzubauen
/loot give @s loot my_pack:chests/treasure
legt die Tabelle direkt in Ihr Inventar. /loot spawn, /loot insert <pos> und /loot replace decken die anderen Platzierungen ab. Dies ist weitaus schneller als Truhen zu platzieren und neu zu laden, und es ist die einzig sinnvolle Methode, um Gewichtsverteilungen zu überprüfen.
Erstellen Sie Multi-Pool-Tabellen mit den Funktionen und Bedingungen, die auf der richtigen Ebene angebracht sind, im Erweiterten Beutetabellen-Ersteller.