Prädikate beinhalten Eigenschaften für Bedingungen die man im Selektor der Zielauswahl @e[predicate=...]
oder mit dem Befehl /execute if|unless predicate ...
verwenden kann. Sie werden in Datenpaketen angelegt und es gibt keine Standard-Prädikatdateien, man kann sich also keine Vorlage holen um eigene zu erstellen, stattdessen benötigt man die Datenstruktur.
Datenquelle[]
- Name des Datenpakets
- pack.mcmeta: Die Definitionsdatei.
- data: Eigene Weltdaten.
- eigener-namensraum: Für eigene Weltdaten legt man einen eigenen Namensraum an.
- predicates: Eigene Prädikate.
- beispiel_1.json: Eine Prädikat Datei.
- beispiel_2.json
- eigener-namensraum: Eigener Unterordner.
- beispiel_3.json
- predicates: Eigene Prädikate.
- eigener-namensraum: Für eigene Weltdaten legt man einen eigenen Namensraum an.
Datenstruktur[]
- Die Wurzel-Eigenschaft.
- condition: Die Voraussetzungen.
- Andere Teile der Bedingung, siehe unten.
Die möglichen Werte für condition und den zugehörigen zusätzlichen Inhalt:
- alternative - 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 - Ü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 Karte von Blockzuständen mit Variablen. Alle Variablen sind Strings. Der Test wird fehlschlagen wenn der Block nicht die entsprechenden Namens-IDs hat.
- damage_source_properties - Überprüft die Eigenschaften der Schadensquelle.
- is_explosion: Wenn die Schadensquelle eine Explosion ist.
- is_projectile: Wenn die Schadensquelle ein Geschoss ist.
- is_fire: Wenn die Schadensquelle Feuerschaden ist.
- is_lightning: Wenn die Schadensquelle ein Blitzeinschlag ist.
- is_magic: Wenn die Schadensquelle ein Statuseffekt ist.
- bypasses_magic: Dies gilt nur für Hunger.
- bypasses_invulnerability: Dies gilt nur für Schäden, wenn ein Spieler in die Leere fällt.
- bypasses_armor: Schaden der die Rüstung durchdrungen hat.
- source_entity: Die Ursache des Schadens. Wenn beispielsweise ein Skelett einen Spieler mit einem Pfeil abschießt, ist das Skelett die Quelle.
- direct_entity: Die direkte Ursache des Schadens. Wenn beispielsweise ein Skelett einen Spieler mit einem Pfeil schießt, ist der Pfeil das direkte Objekt.
- entity_properties - Testeigenschaften einer Kreatur.
- 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: Das auf den Standort angewendete Prädikat verwendet dieselbe Struktur wie Fortschritte.
- flags: Prädikatflags, die überprüft werden sollen.
- is_on_fire: Überprüft, ob das Objekt brennt.
- is_sneaking: Überprüft, ob das Objekt schleicht.
- is_sprinting: Überprüft, ob das Objekt sprintet.
- is_swimming: Überprüft, ob das Objekt schwimmt.
- is_baby: Überprüft, ob das Objekt ein Baby ist.
- flags: Prädikatflags, die überprüft werden sollen.
- entity: Gibt die Kreatur an, die geprüft werden soll für die Bedingung. Wenn es auf
- 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.
- A score: Schlüsselname ist der Punktezähler (objective) solange die Variablen im exakten Bereich liegen, wie die Bedingung es vorgibt.
- A score: Schlüsselname ist der Punktezähler (objective) solange die Variablen speziell einen Bereich von score-Variablen für die Bedingung benötigen um zu bestehen.
- min: Mindestpunktzahl.
- max: Höchstpunktzahl.
- entity: Gibt das Objekt an, das überprüft werden soll für die Bedingung. Wenn
- inverted - Negiert die Bedingung im Parameter "term".
- term: Die zu negierende Bedingung.
- killed_by_player - Testet ob
killer_player
Entität verfügbar ist.- inverse: Falls vorhanden ist die Bedingung erfolgreich wenn
killer_player
nicht verfügbar ist.
- inverse: Falls vorhanden ist die Bedingung erfolgreich wenn
- 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 - Überprüft ein Werkzeug.
- predicate: Prädikat auf Element angewendet, verwendet dieselbe Struktur wie Fortschritte.
- 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_looting - Überprüft ob die Zufallszahl von 0.0–1.0 ist weniger als eine angegebene Variable, beeinflusst vom Level der von Plünderung auf die
killer
Entität.- chance: Basiserfolgsrate.
- looting_multiplier: Anpassung der Plünderung zur Basis-Erfolgsrate. Formel ist
chance + (looting_level * looting_multiplier)
.
- 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.
- survives_explosion - Gibt
true
mit einer Wahrscheinlichkeit von 1/Explosionsradius zurück.
- 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 - Prüft die aktuelle Uhrzeit.
- value: Die Zeit in Ticks.
- value
- max: Maximalwert.
- min: Minimalwert.
- 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).
- 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
- value_check - Prüft einen Wertebereich.
- value: Darstellung von Wertebereichen. Der Wert, der überprüft werden soll.
- range: Der genaue Wert, der überprüft werden soll.
- range: Der Bereich, in dem der Wert geprüft wird.
- min: Darstellung von Wertebereichen. Minimal-Wert.
- max: Darstellung von Wertebereichen. Maximal-Wert.
Beispiele[]
Beispiel 1[]
- Die Datei .minecraft/saves/meinewelt/datapacks/meinpaket/data/meinedaten/predicates/unterordner/eisenhand.json könnte so aussehen:
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"item": "minecraft:iron_sword"
}
}
}
}
- Überprüft ob die Kreatur ein Eisenschwert in der Hand hält. In Kombination mit den unteren Befehl wird jeder Kreatur, die ein Eisenschwert in der Hand hält, es entfernt.
/clear @e[predicate=meinedaten:unterordner/eisenhand] minecraft:iron_sword
Beispiel 2[]
- Die Datei .minecraft/saves/meinewelt/datapacks/meinpaket/data/meinedaten/predicates/unterordner/hexenhuette.json könnte so aussehen:
{
"condition": "minecraft:location_check",
"predicate": {
"biome": "minecraft:swamp",
"feature": "swamp_hut",
"dimension": "minecraft:overworld"
}
}
- Überprüft ob sich die Kreatur im Sumpf, in der Boundingbox der Sumpf-Hütte befindet. In Kombination mit den unteren Befehl wird jeder Kreatur, außer der Hexe die sich in der Boundingbox der Sumpfhütte befindet der Statuseffekt Vergiftung gegeben.
/effect give @e[predicate=meinedaten:unterordner/hexenhuette,type=!minecraft:witch] minecraft:poison
Beispiel 3[]
- Die Datei .minecraft/saves/meinewelt/datapacks/meinpaket/data/meinedaten/predicates/unterordner/wetter.json könnte so aussehen:
{
"condition": "minecraft:weather_check",
"raining": true,
"thundering": false
}
- Überprüft, ob es regnet. In Kombination mit den unteren Befehlen wird das Regenwetter immer auf 1000 Sekunden gesetzt.
/execute if predicate meinedaten:unterordner/wetter unless score x y matches 1 run weather rain 1000
/execute if predicate meinedaten:unterordner/wetter run scoreboard players set x y 1
Hilfsgeneratoren[]
Geschichte[]
Versionsgeschichte der Java Edition | ||||
---|---|---|---|---|
|
Standard-Ressourcen |
| ||||
---|---|---|---|---|---|
Standard-Weltdaten |
| ||||
Spielwelt | |||||
Software | |||||
Speicherformate | |||||
Einstellungen | |||||
Mehrspieler | |||||
Historisch |