Vollversion | |||||||||
---|---|---|---|---|---|---|---|---|---|
1.15 (19w38a) |
|
||||||||
1.16 (20w12a) |
|
||||||||
1.19 |
|
||||||||
1.19.3 (23w06a) |
|
||||||||
1.20 (23w18a) |
|
||||||||
1.20.5 |
|
||||||||
1.21 |
|
||||||||
1.21.2 |
|
||||||||
1.21.5 |
|
Prädikate
Dieser Inhalt ist nur für die Java Edition. |
Prädikate sind Bedingungen die ein true
(wahr) oder false
(falsch) zurückgeben. Sie sind JSON-Strukturen, die an mehreren verschiedenen Stellen in Datenpaketen zu finden sind. Sie werden mit verschiedenen Mitteln aufgerufen, um Bedingungen innerhalb der Welt zu prüfen.
Prädikatdateien sind eigenständige Datenpaketdateien, die ein oder mehrere Prädikate enthalten. Prädikate können auch auf andere Weise definiert werden.
Dieser Artikel beschreibt, wie Prädikate definiert und aufgerufen werden, und beschreibt auch die JSON-Struktur eines Prädikats.
Definition

- <Name des Datenpakets>
- pack.mcmeta: Die Definitionsdatei.
- data
- <namensraum>
- predicate: Eigene Prädikate.
- <datei>.json: Eine Prädikat-Datei.
- predicate: Eigene Prädikate.
- <namensraum>
Verwendung
Prädikate und Prädikatdateien können auf verschiedene Weise von anderen Datenpaketdateien aus aufgerufen werden:
Befehle
Befehle oder Funktionen können Prädikatdateien auf zwei Arten aufrufen:
- Zielauswahl: Das Selektorargument
@e[predicate=...]
prüft Prädikatdateien als Filter für die Objektauswahl. Die Prädikatdatei wird einmal pro Objekt aufgerufen, die gefiltert werden muss, und zwar jedes Mal am Standort des Objekt. - Befehl
/execute
: Ein Unterbefehl,/execute if predicate
, kann eine Prädikatdatei aufrufen, um entweder ein Ergebnis zurückzugeben oder zu entscheiden, ob mit einer Unterbefehlskette fortgefahren werden soll. Die Prädikatdatei wird einmal an der aktuellen kontextuellen Ausführungsposition aufgerufen.
Andere Prädikate
Der Bedingungstyp minecraft:reference
ruft eine Prädikatdatei auf und gibt das Ergebnis an den Aufrufer zurück.
Vorhandensein in anderen Dateien
Zusätzlich zu Prädikatdateien werden Prädikate selbst an anderen Stellen in anderen Datenpaketdateien verwendet, wie z. B. Fortschritte, Beutetabellen und Verzauberungen.
Datenstruktur
Prädikatbasisdaten
- Die namenlose Wurzel-Eigenschaft.
- condition: Die Bedingungen.
- Teile der Bedingung, siehe unten.
Liste der Prädikate
all_of (Und-Verknüpfung)
- all_of - Verbindet die Bedingungen der Parameter
terms
als ein "UND".- terms: Eine Liste der Bedingungen für die Teilnahme mit "UND".
- Eine Bedingung.
- terms: Eine Liste der Bedingungen für die Teilnahme mit "UND".
any_of (Oder-Verknüpfung)
- any_of - Verbindet die Bedingungen der Parameter
terms
als ein "ODER".- terms: Eine Liste der Bedingungen für die Teilnahme mit "ODER".
- Eine Bedingung.
- terms: Eine Liste der Bedingungen für die Teilnahme mit "ODER".
block_state_property (Blockzustandseigenschaften)
- block_state_property - Überprüft den Blockzustand.
- block: Eine Block-Namens-ID. Der Test wird fehlschlagen wenn der Block nicht die entsprechende Namens-ID hat.
- properties: (Optional) Eine Zuordnung von Blockzuständen mit Variablen. Alle Variablen sind Strings. Der Test wird fehlschlagen wenn der Block nicht die entsprechenden Namens-IDs hat.
- name: Ein Blockzustand und ein exakter Wert. Der Wert ist eine Zeichenfolge.
- name: Ein Blockzustandsname und ein passender Bereichswert.
- min: Der Mindestwert.
- max: Der Höchstwert.
damage_source_properties (Schadensquelleneigenschaften)
- damage_source_properties - Überprüft die Eigenschaften der Schadensquelle.
- predicate: Prädikat angewendet auf die Schadensart, nutzt dieselbe Struktur wie Fortschritte.
enchantment_active_check (Verzauberungsüberprüfung)
- enchantment_active_check - Überprüft, ob die Verzauberung aktiv war. Erfordert den aktiven Status der Verzauberung, der vom Beutekontext bereitgestellt wird, und schlägt immer fehl, wenn er nicht bereitgestellt wird. Es ist daher nur vom Beutekontext
enchanted_location
aus verwendbar.- active: Ob geprüft werden soll, ob eine aktive (
true
) oder inaktive (false
) Verzauberung vorliegt.
- active: Ob geprüft werden soll, ob eine aktive (
entity_properties (Objekteigenschaften)
- entity_properties - Testeigenschaften einer Kreatur oder Objekt.
- entity: Gibt die Kreatur an, die geprüft werden soll für die Bedingung. Wenn es auf
this
gesetzt ist, um die Kreatur zu verwenden, die gestorben ist, oder den Spieler, der den Fortschritt erlangt hat, den Behälter geöffnet oder den Block abgebaut hat,killer
für den Killer oderkiller_player
für einen Killer, der ein Spieler ist . - predicate: Prädikat angewendet auf die Kreatur, nutzt dieselbe Struktur wie Fortschritte.
- entity: Gibt die Kreatur an, die geprüft werden soll für die Bedingung. Wenn es auf
entity_scores (Objekt-Punktestände)
- entity_scores - Überprüft den Punktestand eines Objekts.
- entity: Gibt das Objekt an, das überprüft werden soll für die Bedingung. Wenn
this
angegeben ist, um das Objekt zu verwenden, die gestorben ist, oder den Spieler, der den Fortschritt erlangt hat, den Behälter geöffnet oder den Block abgebaut hat,killer
für den Killer oderkiller_player
für einen Killer, der ein Spieler ist. - scores: Alle Punktestände die überprüft werden sollen. Alle spezifischen Punktestände müssen für die Bedingung passen um zu bestehen.
- Ein Punkte-Ziel: Schlüsselname ist das Punkte-Ziel (objective) solange die Variablen speziell einen Bereich von score-Variablen für die Bedingung benötigen um zu bestehen.
- min: Mindestpunktzahl.
- max: Höchstpunktzahl.
- Ein Punkte-Ziel: Schlüsselname ist das Punkte-Ziel (objective) solange die Variablen im exakten Bereich liegen, wie die Bedingung es vorgibt.
- Ein Punkte-Ziel: Schlüsselname ist das Punkte-Ziel (objective) solange die Variablen speziell einen Bereich von score-Variablen für die Bedingung benötigen um zu bestehen.
- entity: Gibt das Objekt an, das überprüft werden soll für die Bedingung. Wenn
inverted (Invertierung)
- inverted - Negiert die Bedingung im Parameter
term
.- term: Die zu negierende Bedingung.
killed_by_player (Tötung durch Spieler)
- killed_by_player - Testet ob
attacking_player
-Spieler verfügbar ist.
location_check (Standortüberprüfung)
- location_check - Überprüft, ob der aktuelle Standort übereinstimmt.
- offsetX - Optional Versatz des Standorts.
- offsetY - Optional Versatz des Standorts.
- offsetZ - Optional Versatz des Standorts.
- predicate: Prädikat angewendet auf Standort, nutzt dieselbe Struktur wie Fortschritte.
match_tool (Werkzeugüberprüfung)
- match_tool - Überprüft ein Werkzeug.
- predicate: Prädikat wird auf einen Gegenstand angewendet, verwendet dieselbe Datenstruktur wie bei Fortschritten.
random_chance (Zufallschance)
- random_chance - Prüft, ob eine Zufallszahl zwischen 0.0 und 1.0 kleiner als ein angegebener Wert ist.
- chance: Erfolgsquote als Zahl 0.0–1.0.
random_chance_with_enchanted_bonus (Zufallschance mit verzauberter Beute)
- random_chance_with_enchanted_bonus - Generiert eine Zufallszahl zwischen 0,0 und 1,0 und prüft, ob sie kleiner ist als der Wert, der anhand der Stufe einer bestimmten Verzauberung ermittelt wurde. Erfordert eine
attacker
-Kreatur, die durch den Beutekontext bereitgestellt wird. Wenn sie nicht bereitgestellt wird, wird die Verzauberungsstufe als 0 betrachtet.- unenchanted_chance: Die Erfolgsrate, die verwendet werden soll, wenn die Verzauberung nicht vorhanden ist; 0,0–1,0.
- enchanted_chance: Stufenbasierter Wert. Die Erfolgsrate basierend auf dem Level, wenn die Verzauberung vorhanden ist; 0,0–1,0.
- enchantment: Eine Verzauberung (eine ID). Die Verzauberung, deren Level für die Wahrscheinlichkeitsberechnung verwendet werden soll. Wenn die Verzauberung nicht vorhanden ist, wird
0
als Level verwendet.
reference (Verknüpfung)
- reference - Überprüft ob eine andere referenzierte Bedingung (
predicate
) besteht.- name: Der Namensraum ID von der Bedingung (
predicate
) referenziert wurde. Zyklisch referenziert führt zu einen Fehler.
- name: Der Namensraum ID von der Bedingung (
survives_explosion (Explosionsüberleben)
- survives_explosion - Gibt
true
mit einer Wahrscheinlichkeit von1/Explosionsradius
zurück.
table_bonus (Beutetabellenbonus)
- table_bonus - Besteht mit der Wahrscheinlichkeit ausgewählt aus Beutetabelle, ausgehend von Verzauberungsstufe.
- enchantment: ID der Verzauberung.
- chances: Liste der Wahrscheinlichkeiten für die Verzauberungsstufe, ausgehend von 0.
time_check (Zeitüberprüfung)
- time_check - Prüft die aktuelle Uhrzeit.
- value
- max: Maximalwert.
- min: Minimalwert.
- value: Die Zeit in Ticks.
- period: Falls vorhanden wird die Zeit durch Modulo-Division (%= , Rest der Division von) um diesen Wert (Als Beispiel, falls auf 24000 gesetzt wurde, Wert wird auf eine Zeit gesetzt in Periode von Minecraft-Tagen).
- value
value_check (Wertüberprüfung)
- value_check - Prüft einen Wertebereich.
- value: Darstellung von Wertebereichen. Der Wert, der überprüft werden soll.
- range: Der Bereich, in dem der Wert geprüft wird.
- min: Minimal-Wert.
- max: Maximal-Wert.
- range: Der genaue Wert, der überprüft werden soll.
weather_check (Wetterüberprüfung)
- weather_check - Prüft auf einen aktuellen Wetterzustand.
- raining: Wenn
true
, wird die Bedingung nur dann alstrue
ausgewertet, wenn es regnet. - thundering: Wenn
true
, wird die Bedingung nur dann alstrue
ausgewertet, wenn es gewittert.
- raining: Wenn
Beispiele
Eigenschaft | Beispiel |
---|---|
entity_properties
|
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"items": "minecraft:iron_sword"
}
}
}
}
|
location_check
|
{
"condition": "minecraft:location_check",
"predicate": {
"biomes": "minecraft:swamp",
"structures": "minecraft:swamp_hut",
"dimension": "minecraft:overworld"
}
}
|
weather_check
|
{
"condition": "minecraft:weather_check",
"raining": true,
"thundering": false
}
|
Externe Links
- Siehe misode.github.io
Geschichte
[Einklappen] Versionen der Java Edition |
---|
[Einklappen] | |||||
---|---|---|---|---|---|
Ressourcen |
| ||||
Weltdaten | |||||
Spielwelt | |||||
Software | |||||
Speicherformate | |||||
Server | |||||
Historisch |