MoLang Dokumentation (Bedrock)

Aus Minecraft Wiki
Wechseln zu: Navigation, Suche

Dies ist die MoLang Dokumentation für die Minecraft Bedrock Edition 1.12.0.

Version: 1.12.0.28

Warum existiert MoLang?[Bearbeiten]

MoLang ist eine einfache ausdrucksbasierte Sprache entworfen zur schnellen Berechnung von Werten zur Laufzeit. Der Fokus liegt ausschließlich auf der Möglichmachung von skriptähnlichen Funktionen in Hochleistungssystemen, in denen JavaScript nicht performant ist. Wir benötigen Scripting-Funktionen in den Low-Level-Systemen, um Modding-Funktionen für Endbenutzer, benutzerdefinierte Entitäten, Rendering und Animation zu unterstützen.

Lexikalische Struktur[Bearbeiten]

Die Sprachstruktur basiert größtenteils auf einer einfachen Syntax im C-Stil, wobei der Schwerpunkt auf dem Umgang mit mathematischen Ausdrücken liegt. Ein Skript besteht entweder aus einem Ausdruck für einfache Fälle oder aus mehreren Ausdrücken, für die Zwischenwerte erforderlich sind, oder um die Rechenzeit zu verkürzen.

In allen Fällen liefert der Wert des letzten Ausdrucks in einem Skript die Wert des Skripts. In einem Skript mit mehreren Ausdrücken müssen alle bis auf den letzten Ausdruck einer Variablen einen Wert zuweisen. Der letzte Ausdruck kann, muss aber nicht, da davon ausgegangen wird, dass sein Wert als Rückgabewert verwendet wird.

Werte[Bearbeiten]

  • Werttypen werden konkret angegeben oder, falls nicht, numerisch.
  • Alle numerischen Werte sind floats.
  • Boolesche Werte wie Actor Flags werden in einen Gleitkommawert von entweder 0.0 oder 1.0 für Werte von false bzw. true konvertiert.
  • Bei Booleschen Tests ist ein Gleitkommawert von 0,0 falsch, und alles, was nicht gleich 0,0 ist, ist wahr.
  • Bei Array-Indizes werden Floats im C-Stil in Ints umgewandelt und bei negativen Werten auf Null geklemmt oder bei großen Werten durch die Array-Größe umbrochen.
  • Andere unterstützte Typen sind Texturen, Materialien und Geometrien, bei denen sie sinnvoll sind.
  • Fehler geben im Allgemeinen einen Wert von 0,0 zurück (false).

Variablen[Bearbeiten]

Es gibt mehrere Domänen, zu denen eine Variable gehören kann:

Parameter
Domäne Anwendungesbereich Beispiel
temp aktueller Ausdruck temp.foo = math.sin(query.anim_time); return temp.foo * temp.foo;
variable Schreib- / Lesewerte, die sich normalerweise auf die aktuelle Entität beziehen variable.my_saved_var = variable.my_saved_var + 1;
query schreibgeschützte Werte, die sich normalerweise auf die aktuelle Entität beziehen query.is_baby
geometry aktuellen Render-Controller "geometry": "array.geos[query.is_sheared]"
material aktueller render controller "materials": [ { "*": "material.default" }, { "leg*": "material.legs" } ]
texture aktueller render controller "textures": ["array.skins[query.is_saddled]"]

Schlüsselwörter[Bearbeiten]

Alle Bezeichner, die nicht in einem der unten aufgeführten Bereiche enthalten sind, sind für die zukünftige Verwendung reserviert.

Parameter
Schlüsselwort Beschreibung
"float" "Numerischer konstanter Wert"
"( )" "Klammern zur Kontrolle der Ausdrucksbewertung"
"[ ]" "Klammern für den Array-Zugriff"
"query.function_name" "Zugriff auf die Eigenschaften einer Entität"
"math.function_name" "Verschiedene mathematische Funktionen (siehe unten)"
"temp.variable_name" "Speichern eines Zwischenwertes für die Dauer des aktuellen Ausdrucks"
"variable.variable_name" "Speichern eines Wertes für die spätere Verwendung in der angehängten Entität"
"geometry.texture_name" "Ein Verweis auf eine Textur, die in der Entitätsdefinition angegeben ist"
"material.texture_name" "Ein Verweis auf eine Textur, die in der Entitätsdefinition angegeben ist"
"texture.texture_name" "Ein Verweis auf eine Textur, die in der Entitätsdefinition angegeben ist"
"! && || < <= >= > == !=" "Logische Operatoren"
"* / + -" "Einfache mathematische Operatoren"
"%" "Komplexe mathematische Operatoren"
"test ? if true : if false" "Bedingungsoperatoren"
"this" "Der aktuelle Wert vor dem Ausführen des Skripts (kontextabhängig)"
"return" "Bei komplexen Ausdrücken wird die folgende Anweisung ausgewertet und die Ausführung des Skripts gestoppt. Der nachgestellte Wert wird zurückgegeben."

Mathematische Funktionen[Bearbeiten]

Parameters
Funktion Beschreibung
"math.abs(value)" "Absoluter Wert des Wertes"
"math.sin(value)" "Sinus (in Grad) des Wertes"
"math.cos(value)" "Cosinus (in Grad) des Wertes"
"math.exp(value)" "Berechnet e zur wertigsten Potenz"
"math.ln(value)" "Natürlicher Logarithmus des Wertes"
"math.pow(base, exponent)" "Erhöht die Basis um die Potenz des Exponenten"
"math.sqrt(value)" "Quadratwurzel des Wertes"
"math.random(low, high)" "Zufälliger Wert zwischen niedrig und hoch inklusive"
"math.ceil(value)" "Rundet den Wert auf die nächste Ganzzahl"
"math.round(value)" "Rundet den Wert auf die nächste Ganzzahl"
"math.trunc(value)" "Rundungswert gegen Null"
"math.floor(value)" "Rundet den Wert auf die unterliegende Ganzzahl"
"math.mod(value, denominator)" "Geibt den Restwert / Nenner zurück"
"math.min(A, B)" "Gibt den niedrigsten Wert von A oder B zurück"
"math.max(A, B)" "Gibt den höchsten Wert von A oder B zurück"
"math.clamp(value, min, max)" "Klemmwert zwischen min und max inklusive"
"math.lerp(start, end, 0_to_1)" "Lerp von Anfang bis Ende über 0_to_1"
"math.lerprotate(start, end, 0_to_1)" "Lerp die kürzeste Richtung um einen Kreis von Startgrad zu Endgrad über 0_to_1"

Typen, Werte und Variablen[Bearbeiten]

Im Allgemeinen sind alle Ausdruckswerte Floats. In Render-Controllern führen einige Ausdrücke je nach Kontext zu einer Textur oder einem Material. Alle Array-Indexausdrücke werden als Gleitkommazahlen verarbeitet und bei der endgültigen Suche im Array in Ganzzahlen umgewandelt. Positive Array-Indizes werden nach der Größe des Arrays umbrochen. Negative Array-Indizes werden auf 0 geklemmt.

Einfache v.s. Komplexe Expressions[Bearbeiten]

Ein einfacher Ausdruck ist eine einzelne Anweisung, deren Wert an das System zurückgegeben wird, das den Ausdruck ausgewertet hat. z.B.:

math.sin(query.anim_time * 1.23)

Ein komplexer Ausdruck besteht aus mehreren Anweisungen, die jeweils mit einem ';' enden. Jede Aussage wird der Reihe nach ausgewertet. In der aktuellen Implementierung erfordert die letzte Anweisung die Verwendung des Schlüsselworts return und definiert den resultierenden Wert des Ausdrucks. z.B:

temp.my_temp_var = Math.sin(query.anim_time * 1.23);
temp.my_other_temp_var = Math.cos(query.life_time + 2.0);
return temp.my_temp_var * temp.my_temp_var + temp.my_other_temp_var;

Beachten Sie, dass in einem einfachen Ausdruck ';' nicht erlaubt ist, während in einem komplexen Ausdruck jede Anweisung ein ';' braucht, einschließlich der letzten.

Domain Beispiele[Bearbeiten]

Entitätsdefinitionsskripte[Bearbeiten]

In der Definitionsdatei gibt es einen Abschnitt zum Vorberechnen von Werten. Diese werden unmittelbar ausgeführt, bevor Animations- und Render-Controller verarbeitet und in der Entität gespeichert werden. Der Zweck besteht darin, alle teuren und komplexen Werte vorab zu berechnen, die Sie möglicherweise in Ihren Skripten, langlebigen Indexvariablenaktualisierungen oder in der Regel einmaligen Berechnungen pro Render-Tick wiederverwenden möchten.

"scripts": {
    "pre_animation": [
      "variable.my_constant = (Math.cos(query.modified_distance_moved * 38.17) * query.modified_move_speed;",
      "variable.my_constant2 = Math.exp(1.5);",
    ]
  },


Animation und Animation Controller-Dateien[Bearbeiten]

Dies sind immer numerische Operationen, um zu steuern, welche Animationen abgespielt werden und wie Knochen animiert werden. "variable.variable_name" und "query.function_name" beziehen sich auf die Entität, die gerade gerendert wird. Sie haben Zugriff auf alle Elemente in der Sprache, mit Ausnahme der Material-, Textur- und Geometrietypen.

Render-Controller[Bearbeiten]

Es gibt hier ein paar verschiedene Arten von Ausdrücken, bei denen der Kontext impliziert, was erlaubt ist. Wie bei Animationen beziehen sich die Entitätszugriffsmethoden auf die aktuelle Entität. Abhängig vom Kontext hat man jedoch auch Zugriff auf Materialien, Texturen und Geometrien. In einem Render-Controller gibt es zwei Abschnitte:

  • Arraydefinitionen (Optional)
  • Ressourcennutzung (Benötigt)

Im Abschnitt zur Array-Definition können Sie auf Wunsch Arrays von Ressourcen nach Ressourcentyp erstellen. Diese können dann im Abschnitt zur Ressourcennutzung referenziert werden.

Array-Ausdrücke[Bearbeiten]

Für jeden der drei Ressourcentypen (Materialien, Texturen und Geometrie) können Sie ein Array von Ressourcen definieren. Der Name der Ressource ist der schöne Name aus der Definitionsdatei. Am Beispiel von Materialien:

"arrays":
{
  "materials": {
    "array.my_array_1": ["material.a", "material.b", "material.c"],
    "array.my_array_2" : ["material.d", "material.e"],
    "array.my_array_3" : ["array.my_array_1", "material.my_array_2"],
    "array.my_array_4" : ["array.my_array_2", "material.my_array_3"],
    "array.my_array_5" : ["array.my_array_1", "material.my_array_1", "material.my_array_4"],
    "array.my_array_6" : ["array.my_array_1", "material.f"],
    ...
  },

Beachten Sie, dass alle Elemente eines Arrays vom selben Typ sein müssen. Beispiel: Ein Texturarray darf nur Texturen enthalten.

Ein Array kann auf eine beliebige Kombination aus null oder mehr Arrays (ggf. einschließlich Duplikaten) und / oder null oder mehr Materialien (ggf. einschließlich Duplikaten) verweisen, und Sie können beliebig viele Arrays mit jeweils beliebig vielen Elementen erstellen wie es Dir gefällt. Wenn ein Array Arrays in seinen Mitgliedern enthält, müssen diese nicht dieselbe Länge haben. Bei der Indizierung in ein Array im Abschnitt zur Ressourcennutzung verwenden Sie numerische Ausdrücke. Wenn die resultierende Zahl negativ ist, wird Null als Index verwendet. Jeder nicht negative Index wird in eine Ganzzahl konvertiert und entsprechend der Größe des Arrays umgebrochen:

index = max(0, expression_result) % array_size

Ressourcenausdruck[Bearbeiten]

Ein Ressourcenausdruck muss je nach Kontext eine einzelne Ressource eines bestimmten Typs zurückgeben.
Im Abschnitt "Geometrie" müssen Sie beispielsweise einen Ausdruck erstellen, der zu einer einzelnen Geometrie führt. Einige Beispiele:

Verwenden Sie immer eine bestimmte Geometrie
"geometry": "geometry.my_geo"
Durchlaufen Sie eine Reihe von Geometrien mit einer Geschwindigkeit von einer pro Sekunde
"geometry": "array.my_geometries[query.anim_time]"
Wählen Sie eine geobasierte Entity-Flagge aus
"geometry": "query.is_sheared ? geometry.sheared : geometry.woolly"
Verwenden Sie im Schlafmodus ein bestimmtes Geo. Andernfalls blättern Sie auf der Grundlage einer Cosinuskurve durch ein Array. Verwenden Sie dabei den Index Null fast die Hälfte der Zeit, während die Cosinuskurve negativ ist
"geometry": "query.is_sleeping ? geometry.my_sleeping_geo : array.my_geos[math.cos(query.anim_time * 12.3 + 41.9) * 10 + 0.6]"

Ressourcensektionen[Bearbeiten]

Geometrie

Der Geometrieabschnitt gibt an, welche Geometrie beim Rendern verwendet werden soll. Da Sie in der Definitionsdatei so viele Render-Controller angeben können, wie Sie möchten, ist ein einzelner Render-Controller nur für das Rendern einer einzelnen Geometrie zuständig. Beachten Sie, dass die Geometrie mit einer beliebigen Anzahl von Knochen und Polygonen beliebig komplex sein kann.

Materials

Der Materials-Abschnitt gibt an, wie welches Material welchem Knochen der Geometrie zugeordnet wird. Ein einzelnes Material wird einem ganzen Knochen zugeordnet. Materialausdrücke werden in der angegebenen Reihenfolge ausgewertet. Der erste Teil jeder Anweisung ist der Name des Modellteils, auf das das Material angewendet werden soll, und der zweite Teil ist das zu verwendende Material. Der Modellteilname kann * für die Platzhalterzuordnung von Zeichen verwenden. Beispielsweise:

  "materials": [
      { "*": "Material.default" },
      { "TailA": "array.hair_colors[variable.hair_color]" },
      { "Mane": "array.hair_colors[variable.hair_color]" },
      { "*Saddle*": "variable.is_leather_saddle ? material.leather_saddle : material.iron_saddle" }
    ],
  • Dies beginnt damit, dass Material.default auf alle Modellteile angewendet wird.
  • Anschließend wird das Material für ein Modellteil mit dem Namen "TailA" auf das Ergebnis des Ausdrucks "Array.hairColors [variable.hair_color]" festgelegt. Dadurch werden einige zuvor erstellte Variablen in der Entität mit dem Namen hair_color gesucht und zum Indizieren in ein Material-Array mit dem Namen "array.hair_colors" verwendet, das in diesem Render-Controller definiert ist. Dadurch wird das in der obigen Zeile festgelegte Material Material.default überschrieben.
  • Drittens wird dasselbe Material gesucht, da der Ausdruck identisch ist, und auf das Modellteil "Mane" angewendet.
  • Zuletzt findet es jedes Modellteil, das mit "Sattel" beginnt, endet oder "Sattel" enthält (Groß- / Kleinschreibung beachten) und ändert sein Material in material.leather_saddle oder material.iron_saddle, abhängig von der zuvor festgelegten Entitätsvariablen variable.is_leather_saddle.

Abfragefunktionen[Bearbeiten]

Abfragefunktionen sind boolesche Ausdrücke, mit denen Sie unter verschiedenen Umständen nach Werten suchen können, die der Engine gehören. Sie können in MoLang-Ausdrücken verwendet werden. Nützlich, um Dinge wie das Ändern von Positionen, Texturen, Animationen usw. zu steuern, wenn ein Mob ein Baby ist. Beispielsweise:

"position": [ 0.0, "query.is_baby ? -8.0 : 0.0", "query.is_baby ? 4.0 : 0.0" ]

Liste der Entitätsabfragen[Bearbeiten]

Name Beschreibung
query.all_animations_finished Nur gültig in einem Animationscontroller. Gibt 1.0 zurück, wenn alle Animationen im aktuellen Status des Animationscontrollers mindestens einmal abgespielt wurden, andernfalls wird 0.0 zurückgegeben
query.anim_time Gibt die Zeit in Sekunden seit dem Start der aktuellen Animation zurück, andernfalls 0.0, wenn sie nicht in einer Animation aufgerufen wird
query.any_animation_finished Nur gültig in einem animation controller. Gibt 1.0 zurück, wenn eine Animation im aktuellen Status des animation controller mindestens einmal abgespielt wurde, andernfalls wird 0.0 zurückgegeben
query.armor_color_slot Nimmt den Rüstungs-Slot-Index als Parameter und gibt die Farbe der Rüstung im angeforderten Slot zurück
query.armor_material_slot Nimmt den Rüstungsslotzindex als Parameter und gibt den Rüstungsmaterialtyp im angeforderten Slot zurück
query.armor_texture_slot Nimmt den Rüstungs-Slot-Index als Parameter und gibt den Textur-Typ des angeforderten Slots zurück
query.blocking Gibt 1.0 zurück, wenn die Entität blockiert, andernfalls 0.0
query.body_y_rotation Gibt die Körper-Y-Drehung zurück, wenn ein Akteur aufgerufen wird, andernfalls wird 0.0 zurückgegeben
query.can_climb Gibt 1.0 zurück, wenn das Objekt klettern kann, andernfalls wird 0.0 zurückgegeben
query.can_fly Gibt 1.0 zurück, wenn die Entität fliegen kann, andernfalls wird 0.0 zurückgegeben
query.can_power_jump Gibt 1,0 zurück, wenn die Entität einen Kraftsprung ausführen kann, andernfalls wird 0.0 zurückgegeben
query.can_swim Gibt 1.0 zurück, wenn die Entität schwimmen kann, andernfalls wird 0.0 zurückgegeben
query.can_walk Gibt 1.0 zurück, wenn die Entität laufen kann, andernfalls wird 0.0 zurückgegeben
query.current_squish_value Gibt den Squish-Wert für die aktuelle Entität zurück oder 0.0, wenn dies keinen Sinn ergibt
query.delta_time Gibt die Zeit in Sekunden seit dem vorherigen Frame zurück
query.frame_alpha Gibt das Verhältnis (von 0 zu 1) zurück, wie viel zwischen AI-Ticks dieser Frame gerendert wird
query.ground_speed Gibt die Grundgeschwindigkeit des Objekts in Metern / Sekunde zurück
query.has_armor_slot Nimmt den Rüstungsslotzindex als Parameter und gibt 1.0 zurück, wenn die Entität Rüstung im angeforderten Slot hat, andernfalls 0.0
query.has_collision Gibt 1.0 zurück, wenn die Entität Kollision aktiviert hat, andernfalls wird 0.0 zurückgegeben
query.has_gravity Gibt 1.0 zurück, wenn die Entität von der Schwerkraft betroffen ist, andernfalls wird 0.0 zurückgegeben
query.has_owner Gibt true zurück, wenn die Entität eine Eigentümer-ID hat, andernfalls wird false zurückgegeben
query.has_rider Gibt 1.0 zurück, wenn die Entität einen Reiter hat, andernfalls wird 0.0 zurückgegeben
query.has_target Gibt 1.0 zurück, wenn die Entität ein Ziel hat, andernfalls wird 0.0 zurückgegeben
query.head_roll_angle Gibt den Rotationswinkel des Kopfes der Wolf-Entität zurück
query.head_x_rotation Nimmt ein Argument als Parameter. Gibt die n-te Kopf-x-Drehung der Entität zurück, wenn dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.head_y_rotation Nimmt ein Argument als Parameter. Gibt die Drehung des n-ten Kopfes um y des Objekts zurück, wenn dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.invulnerable_ticks Gibt die Anzahl der Unverwundbarkeitsticks zurück, die die Entität hinterlassen hat, wenn dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.is_angry Gibt 1.0 zurück, wenn die Entität verärgert ist, andernfalls wird 0.0 zurückgegeben
query.is_avoiding_mobs Gibt 1.0 zurück, wenn die Entität vor anderen Mobs flieht, andernfalls wird 0.0 zurückgegeben
query.is_baby Gibt 1.0 zurück, wenn die Entität ein Baby ist, andernfalls wird 0.0 zurückgegeben
query.is_breathing Gibt 1.0 zurück, wenn die Entität atmet, andernfalls wird 0.0 zurückgegeben
query.is_bribed Gibt 1.0 zurück, wenn die Entität gefüttert wurde, andernfalls wird 0.0 zurückgegeben
query.is_carrying_block Gibt 1.0 zurück, wenn die Entität einen Block bei sich trägt, andernfalls wird 0.0 zurückgegeben
query.is_casting Gibt 1.0 zurück, wenn die Entität umgewandelt wird, andernfalls wird 0.0 zurückgegeben
query.is_charged Gibt 1.0 zurück, wenn die Entität aufgeladen ist, andernfalls wird 0.0 zurückgegeben
query.is_charging Gibt 1.0 zurück, wenn die Entität auflädt, andernfalls wird 0.0 zurückgegeben
query.is_chested Gibt 1.0 zurück, wenn die Entität Kisten an sich befestigt hat, andernfalls wird 0.0 zurückgegeben
query.is_critical Gibt 1.0 zurück, wenn die Entität entscheident ist, andernfalls wird 0.0 zurückgegeben
query.is_dancing Gibt 1.0 zurück, wenn die Entität tanzt, andernfalls wird 0.0 zurückgegeben
query.is_delayed_attacking Gibt 1.0 zurück, wenn die Entität mit dem verzögerten Angriff angreift, andernfalls wird 0.0 zurückgegeben
query.is_eating Gibt 1.0 zurück, wenn die Entität isst, andernfalls wird 0.0 zurückgegeben
query.is_elder Gibt 1.0 zurück, wenn die Entität eine große Version ist (z.B.: Großer Wächter), andernfalls wird 0.0 zurückgegeben.
query.is_enchanted Gibt 1.0 zurück, wenn die Entität verzaubert ist, andernfalls wird 0.0 zurückgegeben
query.is_fire_immune Gibt 1.0 zurück, wenn die Entität immun gegen Feuer ist, andernfalls wird 0.0 zurückgegeben
query.is_first_person Gibt 1.0 zurück, wenn die Entität im first Person mode gerendert wird (Normale Sicht), andernfalls wird 0.0 zurückgegeben
query.is_gliding Gibt 1.0 zurück, wenn die Entität gleitet, andernfalls wird 0.0 zurückgegeben
query.is_grazing Gibt 1.0 zurück, wenn die Entität grast, andernfalls wird 0.0 zurückgegeben
query.is_idling Gibt 1.0 zurück, wenn die Entität nichts tut, andernfalls wird 0.0 zurückgegeben
query.is_ignited Gibt 1.0 zurück, wenn die Entität entzüdet wurde, andernfalls wird 0.0 zurückgegeben
query.is_illager_captain Gibt 1.0 zurück, wenn die Entität ein Räuberhauptmann ist, andernfalls wird 0.0 zurückgegeben
query.is_in_love Gibt 1.0 zurück, wenn die Entität im Liebesmodus ist, andernfalls wird 0.0 zurückgegeben
query.is_in_water Gibt 1.0 zurück, wenn die Entität im Wasser ist, andernfalls wird 0.0 zurückgegeben
query.is_in_water_or_rain Gibt 1.0 zurück, wenn die Entität im Wasser oder im Regen ist, andernfalls wird 0.0 zurückgegeben
query.is_interested Gibt 1.0 zurück, wenn die Entität interessiert ist, andernfalls wird 0.0 zurückgegeben
query.is_invisible Gibt 1.0 zurück, wenn die Entität unsichtbar ist, andernfalls wird 0.0 zurückgegeben
query.is_jumping Gibt 1.0 zurück, wenn die Entität springt, andernfalls wird 0.0 zurückgegeben
query.is_laying_down Gibt 1.0 zurück, wenn die Entität liegt, andernfalls wird 0.0 zurückgegeben
query.is_laying_egg Gibt 1.0 zurück, wenn die Entität ein Ei legt, andernfalls wird 0.0 zurückgegeben
query.is_leashed Gibt 1.0 zurück, wenn die Entität an einer Leine ist, andernfalls wird 0.0 zurückgegeben
query.is_lingering Gibt 1.0 zurück, wenn die Entität langsam ist, andernfalls wird 0.0 zurückgegeben
query.is_moving Gibt 1.0 zurück, wenn die Entität sich bewegt, andernfalls wird 0.0 zurückgegeben
query.is_on_ground Gibt 1.0 zurück, wenn die Entität auf dem Boden ist, andernfalls wird 0.0 zurückgegeben
query.is_onfire Gibt 1.0 zurück, wenn die Entität brennt, andernfalls wird 0.0 zurückgegeben
query.is_orphaned Gibt 1.0 zurück, wenn die Entität verweist ist, andernfalls wird 0.0 zurückgegeben
query.is_powered Gibt 1.0 zurück, wenn die Entität angetrieben ist, andernfalls wird 0.0 zurückgegeben
query.is_pregnant Gibt 1.0 zurück, wenn die Entität schwanger ist, andernfalls wird 0.0 zurückgegeben
query.is_resting Gibt 1.0 zurück, wenn die Entität sich ausruht, andernfalls wird 0.0 zurückgegeben
query.is_riding Gibt 1.0 zurück, wenn die Entität reitet, andernfalls wird 0.0 zurückgegeben
query.is_roaring Gibt 1.0 zurück, wenn die Entität gerade brüllt, andernfalls wird 0.0 zurückgegeben
query.is_rolling Gibt 1.0 zurück, wenn die Entität rollt, andernfalls wird 0.0 zurückgegeben
query.is_saddled Gibt 1.0 zurück, wenn die Entität einen Sattel hat, andernfalls wird 0.0 zurückgegeben
query.is_scared Gibt 1.0 zurück, wenn die Entität verängstigt ist, andernfalls wird 0.0 zurückgegeben
query.is_shaking Gibt 1.0 zurück, wenn die Entität umgewandelt wird, andernfalls wird 0.0 zurückgegeben
query.is_shaking_wetness Gibt 1.0 zurück, wenn die Entität Wasser abschüttelt, andernfalls wird 0.0 zurückgegeben
query.is_sheared Gibt 1.0 zurück, wenn die Entität die Möglichkeit hat geschoren zu werden und wird geschoren, andernfalls wird 0.0 zurückgegeben
query.is_shield_powered Gibt 1.0f zurück, wenn die Entität einen aktiven Schild hat, falls dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.is_silent Gibt 1.0 zurück, wenn die Entität still ist, andernfalls wird 0.0 zurückgegeben
query.is_sitting Gibt 1.0 zurück, wenn die Entität sitzt, andernfalls wird 0.0 zurückgegeben
query.is_sleeping Gibt 1.0 zurück, wenn die Entität schläft, andernfalls wird 0.0 zurückgegeben
query.is_sneaking Gibt 1.0 zurück, wenn die Entität sich duckt, andernfalls wird 0.0 zurückgegeben
query.is_sneezing Gibt 1.0 zurück, wenn die Entität niest, andernfalls wird 0.0 zurückgegeben
query.is_sprinting Gibt 1.0 zurück, wenn die Entität sprintet, andernfalls wird 0.0 zurückgegeben
query.is_stackable Gibt 1.0 zurück, wenn die Entität stackable ist, andernfalls wird 0.0 zurückgegeben
query.is_standing Gibt 1.0 zurück, wenn die Entität steht, andernfalls wird 0.0 zurückgegeben
query.is_stunned Gibt 1.0 zurück, wenn die Entität bewegungsunfähig ist, andernfalls wird 0.0 zurückgegeben
query.is_swimming Gibt 1.0 zurück, wenn die Entität schwimmt, andernfalls wird 0.0 zurückgegeben
query.is_tamed Gibt 1.0 zurück, wenn die Entität gezähmt ist, andernfalls wird 0.0 zurückgegeben
query.is_transforming Gibt 1.0 zurück, wenn die Entität sich transformiert, andernfalls wird 0.0 zurückgegeben
query.is_using_item Gibt 1.0 zurück, wenn die Entität ein Gegenstand nutzt, andernfalls wird 0.0 zurückgegeben
query.is_wall_climbing Gibt 1.0 zurück, wenn die Entität eine Mauer hochklettert, andernfalls wird 0.0 zurückgegeben
query.item_in_use_duration Gibt die Zeitspanne in Sekunden zurück, die ein Element verwendet wurde, bis zur maximalen Dauer, andernfalls 0.0, wenn dies keinen Sinn ergibt
query.item_max_use_duration Gibt die maximale Verwendungsdauer des Elements zurück, andernfalls 0.0, wenn dies keinen Sinn ergibt
query.item_remaining_use_duration Gibt die verbleibende Zeit eines Elements in Sekunden zurück, andernfalls 0.0, wenn dies keinen Sinn ergibt
query.key_frame_lerp_time Gibt das Verhältnis zwischen dem vorherigen und dem nächsten Keyframe zurück
query.lie_amount Gibt den Liegezeit für die Entität zurück
query.life_span Gibt die begrenzte Lebensdauer einer Entität zurück oder 0,0, wenn sie für immer lebt
query.life_time Gibt die Zeit in Sekunden seit dem Start der aktuellen Animation zurück, andernfalls 0.0, wenn sie nicht in einer Animation aufgerufen wird
query.log Debug-Protokoll einen Wert
query.mark_variant Gibt die Markierungsvariante der Entität zurück
query.max_trade_tier Gibt die maximale Handelsstufe der Entität zurück, wenn dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.model_scale Gibt den Maßstab der aktuellen Entität zurück
query.modified_distance_moved Gibt die Gesamtstrecke in Metern zurück, die die Entität horizontal zurückgelegt hat (seit dem letzten Laden der Entität, nicht notwendigerweise seit ihrer ursprünglichen Erstellung), die auf dem Weg durch Statusflags wie is_baby oder on_fire geändert wurde
query.modified_move_speed Gibt die aktuelle Schrittgeschwindigkeit der Entität zurück, die durch Statusflags wie is_baby oder on_fire geändert wurde
query.overlay_alpha Nicht verwenden - diese Funktion ist veraltet und wird entfernt
query.previous_squish_value Gibt den vorherigen Squish-Wert für die aktuelle Entität zurück oder 0.0, wenn dies keinen Sinn ergibt
query.roll_counter Gibt den Rollzähler der Entität zurück
query.shake_angle Gibt den Schüttelwinkel der Wolf-Entität zurück
query.sit_amount Gibt den aktuellen Sitzbetrag der Entität zurück
query.skin_id Gibt die Skin-ID der Entität zurück
query.sneeze_counter Gibt den Nieszähler der Entität zurück
query.spellcolor.b Gibt den blauen Farbkanal der aktuellen Entitäten-Zauberfarbe zurück, wenn dies sinnvoll ist, ansonsten wird 0.0 zurückgegeben
query.spellcolor.g Gibt den grünen Farbkanal der aktuellen Entitäten-Zauberfarbe zurück, wenn dies sinnvoll ist, ansonsten wird 0.0 zurückgegeben
query.spellcolor.r Gibt den roten Farbkanal der aktuellen Entitäten-Zauberfarbe zurück, wenn dies sinnvoll ist, ansonsten wird 0.0 zurückgegeben
query.standing_scale Gibt die Skalierung des stehens der Entität zurück
query.swell_amount Gibt zurück, wie stark die Entität angeschwollen ist
query.swelling_dir Gibt die Quellrichtung des Objekts zurück, wenn dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.tail_angle Gibt den Winkel des Schwanzes der Wolfsentität zurück, ansonsten wird 0.0 zurückgegeben
query.target_x_rotation Gibt die X-Rotation zurück, die erforderlich ist, um auf das aktuelle Ziel der Entität zu zielen, falls vorhanden. Andernfalls wird 0.0 zurückgegeben
query.target_y_rotation Gibt die Y-Drehung zurück, die erforderlich ist, um auf das aktuelle Ziel der Entität zu zielen, falls vorhanden. Andernfalls wird 0.0 zurückgegeben
query.time_stamp Gibt den aktuellen Zeitstempel des Levels zurück
query.trade_experience Gibt die aktuelle Handelserfahrung der Entität zurück, wenn dies sinnvoll ist. Anderenfalls wird 0.0 zurückgegeben
query.trade_tier Gibt die Handelsstufe der Entität zurück, wenn dies sinnvoll ist, andernfalls wird 0.0 zurückgegeben
query.unhappy_counter Gibt zurück, wie unglücklich die Entität ist
query.variant Gibt den Variantenindex der Entität zurück
query.wing_flap_position Gibt die Flügelklappenposition der Entität zurück oder 0.0, wenn dies keinen Sinn ergibt
query.wing_flap_speed Gibt die Flügelschlaggeschwindigkeit des Objekts zurück oder 0,0, wenn dies keinen Sinn ergibt
query.yaw_speed Gibt die Abweichungsgeschwindigkeit der Entität zurück

Siehe auch[Bearbeiten]