Guides / Commands & Data

Ein Prädikat mit einer Bedingung hat keinen Wrapper, und das ist eine echte Formänderung

Eine Bedingung ist das Objekt selbst. Zwei oder mehr werden in all_of oder any_of verpackt. Plus die acht Bedingungstypen und warum die Invertierung ein Wrapper und kein Flag ist.

Ein Datenpaket-Prädikat ist eine JSON-Datei, die eine Bedingung beschreibt, und ihre Struktur ändert sich je nachdem, wie viele Bedingungen Sie haben. Das ist der Teil, der Leute stolpern lässt, die ein Beispiel kopieren und erweitern.

Eins ist keine Liste von einem

BedingungenAusgabeform
0{}
1das Bedingungsobjekt selbst
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

Es gibt keinen Wrapper um eine einzelne Bedingung. Fügen Sie eine zweite hinzu, und die gesamte Datei ändert ihre Form – die ursprüngliche Bedingung wird zum ersten Element eines terms-Arrays unter einem neuen Root. Alles, was diese liest oder generiert, muss beide Formen handhaben, und ein aus einer Bedingung erstelltes Beispiel zeigt Ihnen nicht die Form, die Sie benötigen werden, sobald Sie eine weitere hinzufügen.

any_of ist der alternative Kombinator: alle Begriffe müssen bestehen, oder beliebige von ihnen.

Invertieren ist auch ein Wrapper, kein Flag

Es gibt kein "invert": true-Feld. Eine negierte Bedingung wird gewrappt:

{ "condition": "minecraft:inverted", "term": { …the original condition… } }

Beachten Sie term, Singular – inverted nimmt genau eine, während all_of und any_of ein terms-Array nehmen. Zwei ähnlich aussehende Schlüssel mit unterschiedlichen Formen, und die Invertierung gilt pro Bedingung, sodass ein Prädikat invertierte und normale Begriffe frei innerhalb eines all_of mischen kann.

Die acht Bedingungstypen

entity_properties            random_chance
value_check                  random_chance_with_looting
weather_check                time_check
location_check               match_tool

random_chance_with_looting ist das, worauf man sich konzentrieren sollte: Es nimmt eine Basiswahrscheinlichkeit und ein looting_multiplier, sodass die Wahrscheinlichkeit mit dem Plünderung (Looting)-Level des Killers skaliert. Das macht es nur dort sinnvoll, wo ein Killer im Kontext existiert – es ist eine Drop-Rate-Bedingung, keine allgemeine Zufallsschranke. Das einfache random_chance ist das, was man überall sonst verwenden sollte.

value_check vergleicht eine Zahl mit einer von drei Quellen: Verzauberungslevel, Glück (Luck) oder einem benutzerdefinierten Ausdruck, den Sie nach dem Kopieren manuell in die JSON-Datei bearbeiten.

Die Auswahlen sind genau die Vanilla-Sets

Wissenswert, wenn Sie überprüfen, ob eine Biom- oder Struktur-ID echt ist: Die Dropdowns des Builders sind keine kuratierte Auswahl.

  • 66 Biome — jedes Biom im Spiel, nichts fehlt und nichts erfunden
  • 34 Strukturen — ebenso
  • 18 Block-Tags und 15 Gegenstände, die sind eine funktionierende Untermenge

Das wurde anhand der eigenen Registrierungsdaten des Spiels überprüft und nicht angenommen, wenn also eine ID in der Biom- oder Strukturliste fehlt, existiert die ID nicht. Für die Block-Tags und Gegenstände ist es umgekehrt: Fehlen bedeutet nur, dass der Picker sie nicht auflistet, und das selbstständige Eingeben der ID ist in Ordnung.

Predicate- und Bedingungs-Baukasten →

More guides

Browse all →

Suchst du weitere Minecraft-Werkzeuge?

Eine Sammlung von Generatoren, Betrachtern und Konvertern direkt im Browser — alle kostenlos.