| Vollversion | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.14 (18w43a) |
|
||||||||||
| 1.17 (20w46a) |
|
||||||||||
| 1.20.5 (24w12a) |
|
||||||||||
| 1.21 (24w18a) |
|
||||||||||
| 26.1 |
|
||||||||||
| 26.3 |
|
||||||||||
Zahlenanbieter
| Dieser Inhalt ist nur für die Java Edition. |
Zahlenanbieter (engl. Number Provider) sind Datenstrukturen, die anhand bestimmter Regeln einen Zahlenwert bereitstellen. Sie können beispielsweise einen konstanten Wert, eine Zufallszahl aus einer bestimmten Verteilung oder einen unter einer Bedingung bestimmten Wert liefern.
Zahlenanbieter werden unter anderem in Beutetabellen, Prädikaten, Gegenstandsmodifizierern, Handelsdefinitionen und Handelssammlungen verwendet.
Datenquelle
[Bearbeiten | Quelltext bearbeiten]Zahlenanbieter kommen als eigenständige Dateien in Standard-Weltdatenen vor.
- client.jar: Die Standarddefinitionen befinden sich in der client.jar.
- data:
- minecraft:
- context_float_provider: Die Gleitkomma-Zahlenanbieter.
- <Name>.json: Eine Zahlenanbieterdefinition.
- context_int_provider: Die Ganzzahl-Zahlenanbieter.
- <Name>.json: Eine Zahlenanbieterdefinition.
- context_float_provider: Die Gleitkomma-Zahlenanbieter.
- minecraft:
- data:
Definition
[Bearbeiten | Quelltext bearbeiten]Zahlenanbieter können in einem Datenpaket als eigenständige JSON-Dateien definiert werden.
- <Name des Datenpakets>:
- pack.mcmeta:
- data:
- <Namensraum>:
- context_float_provider: Zahlenanbieterdefinitionen.
- <Name>.json: Eine Zahlenanbieterdefinition.
- context_int_provider: Zahlenanbieterdefinitionen.
- <Name>.json: Eine Zahlenanbieterdefinition.
- context_float_provider: Zahlenanbieterdefinitionen.
- <Namensraum>:
Datenstruktur
[Bearbeiten | Quelltext bearbeiten]Zahlenanbieterbasisdaten
[Bearbeiten | Quelltext bearbeiten]Ein Zahlenanbieter kann als konstanter Wert oder als Objekt definiert werden. Darüber hinaus können Zahlenanbieter über ihre Namensraum-ID referenziert werden, wenn sie als eigenständige Definition in einem Datenpaket registriert wurden.
- : Ein konstanter Zahlenanbieter.
Oder:
- : Der Wurzel-Verbundtyp.
- min: Ein Zahlenanbieter. Der Mindestwert.
- max: Ein Zahlenanbieter. Der Höchstwert.
Oder:
- : Ein Namensraum, der auf einen registrierten Zahlenanbieter verweist.
Oder:
- : Der Wurzel-Verbundtyp.
- type: Der Typ des Zahlenanbieters als Namensraum.
- Zusätzliche Felder des Zahlenanbieters, siehe unten.
Der Wert von type muss den Typ des Zahlenanbieters angeben. Der Namensraum minecraft kann dabei weggelassen werden, sodass beispielsweise uniform und minecraft:uniform dasselbe bedeuten.
Liste der Zahlenanbietertypen
[Bearbeiten | Quelltext bearbeiten]Ganzzahl-Zahlenanbietertypen
[Bearbeiten | Quelltext bearbeiten]binomial (Binomialverteilung)
[Bearbeiten | Quelltext bearbeiten]
Liefert eine Zufallszahl, die einer Binomialverteilung folgt.
- : Der Zahlenanbieter.
- type:
"binomial"– Eine Zufallszahl, die einer Binomialverteilung folgt. - n: Ein Zahlenanbieter. Die Anzahl der Versuche.
- Ein Zahlenanbieter.
- p: Ein Zahlenanbieter. Die Erfolgswahrscheinlichkeit eines einzelnen Versuchs.
- Ein Zahlenanbieter.
- type:
floor_div (Abrundungsdivision)
[Bearbeiten | Quelltext bearbeiten]
Liefert das Ergebnis einer Division.
- : Der Zahlenanbieter.
- type:
"floor_div"– Dividiert einen Zahlenanbieter durch einen anderen. - left: Der Dividend.
- right: Der Divisor.
- type:
Es wird eine Abrundungsdivision verwendet. Das Ergebnis wird dabei immer in Richtung negativer Unendlichkeit gerundet.
Eine Division durch Null wird als Fehler behandelt und bricht die Berechnung ab.
Wenn das Ergebnis nicht in eine 32-Bit-Ganzzahl passt, wird die Berechnung abgebrochen.
floor_mod (Abrundungsmodulo)
[Bearbeiten | Quelltext bearbeiten]
Liefert den Rest einer Division.
- : Der Zahlenanbieter.
- type:
"floor_mod"– Bestimmt den Divisionsrest zweier Zahlenanbieter. - left: Der Dividend.
- right: Der Divisor.
- type:
Der Divisionsrest wird anhand einer Abrundungsdivision bestimmt. Die Division wird dabei immer in Richtung negativer Unendlichkeit gerundet.
Eine Division durch Null wird als Fehler behandelt und bricht die Berechnung ab.
from_float (Aus Gleitkommazahl)
[Bearbeiten | Quelltext bearbeiten]
Wertet einen Gleitkomma-Zahlenanbieter aus und wandelt das Ergebnis in eine Ganzzahl um.
- : Der Zahlenanbieter.
- type:
"from_float"– Wandelt einen Gleitkommawert in eine Ganzzahl um. - input: Der Gleitkomma-Zahlenanbieter.
- type:
Nicht-ganzzahlige Werte werden abgeschnitten. Das Ergebnis wird dabei immer in Richtung Null gerundet.
Werte, die nicht in eine 32-Bit-Ganzzahl passen, sowie NaN, werden als Fehler behandelt und brechen die Berechnung ab.
score (Punktestand)
[Bearbeiten | Quelltext bearbeiten]
Liest den Wert eines Punktestands aus.
- : Der Zahlenanbieter.
- type:
"score"– Liest einen Punktestand aus. - target: Die Quelle des Punktestands.
- type: Der Typ der Quelle.
"fixed"verwendet eine festgelegte Quelle,"context"eine Quelle aus dem Beutekontext. - name: Nur bei
"fixed". Der Name des Spielers oder die UUID der Kreatur, deren Punktestand abgefragt werden soll. - target: Nur bei
"context". Ein Objektziel aus dem Beutekontext.
- type: Der Typ der Quelle.
- score: Das Punkte-Ziel, dessen Wert abgefragt werden soll.
- scale: Optional. Standardmäßig
1.0. Multipliziert den ausgelesenen Punktestand mit diesem Wert.
- type:
Kann der Punktestand nicht bestimmt werden, wird 0.0 zurückgegeben.
Gleitkomma-Zahlenanbietertypen
[Bearbeiten | Quelltext bearbeiten]ceil (Aufrunden)
[Bearbeiten | Quelltext bearbeiten]
Liefert den aufgerundeten Wert eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"ceil"– Rundet einen Zahlenanbieter in Richtung positiver Unendlichkeit. - input: Der Zahlenanbieter.
- type:
enchantment_level (Verzauberungsstufe)
[Bearbeiten | Quelltext bearbeiten]
Liefert einen Zahlenwert, der von der Verzauberungsstufe im Beutekontext abhängt.
- : Der Zahlenanbieter.
- type:
"enchantment_level"– Ein Wert, der von der Verzauberungsstufe abhängt. - amount: Ein stufenbasierter Wert, der den Zahlenwert anhand der Verzauberungsstufe berechnet.
- type:
floor (Abrunden)
[Bearbeiten | Quelltext bearbeiten]
Liefert den abgerundeten Wert eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"floor"– Rundet einen Zahlenanbieter in Richtung negativer Unendlichkeit. - input: Der Zahlenanbieter.
- type:
from_int (Aus Ganzzahl)
[Bearbeiten | Quelltext bearbeiten]
Wertet einen Ganzzahl-Zahlenanbieter aus und wandelt das Ergebnis in eine Gleitkommazahl um.
- : Der Zahlenanbieter.
- type:
"from_int"– Wandelt einen Ganzzahlwert in eine Gleitkommazahl um. - input: Der Ganzzahl-Zahlenanbieter.
- type:
length (Länge)
[Bearbeiten | Quelltext bearbeiten]
Wertet mehrere Zahlenanbieter aus und liefert die Quadratwurzel der Summe ihrer Quadrate.
- : Der Zahlenanbieter.
- type:
"length"– Berechnet die Länge eines Vektors aus mehreren Zahlenanbietern. - inputs: Die Zahlenanbieter.
- : Ein Zahlenanbieter.
- type:
Es muss mindestens ein Zahlenanbieter angegeben werden.
round (Runden)
[Bearbeiten | Quelltext bearbeiten]
Liefert den gerundeten Wert eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"round"– Rundet einen Zahlenanbieter auf die nächstgelegene Ganzzahl. - input: Der Zahlenanbieter.
- type:
Werte genau zwischen zwei Ganzzahlen werden in Richtung positiver Unendlichkeit gerundet.
sin (Sinus)
[Bearbeiten | Quelltext bearbeiten]
Liefert den Sinus eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"sin"– Bestimmt den Sinus eines Zahlenanbieters. - input: Der Zahlenanbieter.
- type:
Der Eingabewert wird als Winkel im Bogenmaß interpretiert.
sqrt (Quadratwurzel)
[Bearbeiten | Quelltext bearbeiten]
Liefert die Quadratwurzel eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"sqrt"– Bestimmt die Quadratwurzel eines Zahlenanbieters. - input: Der Zahlenanbieter.
- type:
truncate (Abschneiden)
[Bearbeiten | Quelltext bearbeiten]
Liefert den abgeschnittenen Wert eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"truncate"– Schneidet die Nachkommastellen eines Zahlenanbieters ab. - input: Der Zahlenanbieter.
- type:
Das Ergebnis wird dabei immer in Richtung Null gerundet.
Gemeinsame Zahlenanbietertypen
[Bearbeiten | Quelltext bearbeiten]abs (Absolutwert)
[Bearbeiten | Quelltext bearbeiten]
Liefert den Absolutwert eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"abs"– Der Absolutwert eines Zahlenanbieters. - input: Der Zahlenanbieter, dessen Absolutwert bestimmt wird.
- type:
Wenn der Ganzzahlwert des Ergebnisses nicht in eine 32-Bit-Ganzzahl passt, wird die Berechnung abgebrochen.
add (Addition)
[Bearbeiten | Quelltext bearbeiten]
Liefert die Summe mehrerer Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"add"– Die Summe mehrerer Zahlenanbieter. - operands: Die Zahlenanbieter, deren Werte addiert werden.
- : Ein Zahlenanbieter.
- type:
avg (Durchschnitt)
[Bearbeiten | Quelltext bearbeiten]
Liefert den Durchschnittswert mehrerer Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"avg"– Der Durchschnittswert mehrerer Zahlenanbieter. - operands: Die Zahlenanbieter, aus denen der Durchschnitt berechnet wird.
- : Ein Zahlenanbieter.
- type:
constant (Konstante)
[Bearbeiten | Quelltext bearbeiten]
Liefert einen konstanten Zahlenwert.
- : Der Zahlenanbieter.
- type:
"constant"– Ein konstanter Wert. - value: Der genaue Wert.
- type:
conditional (Bedingt)
[Bearbeiten | Quelltext bearbeiten]
Prüft eine Bedingung und verwendet abhängig vom Ergebnis einen von zwei Zahlenanbietern.
- : Der Zahlenanbieter.
- type:
"conditional"– Wählt anhand einer Bedingung zwischen zwei Zahlenanbietern. - condition: Das zu prüfende Prädikat.
- on_true: Der Zahlenanbieter, der verwendet wird, wenn die Bedingung erfüllt ist.
- on_false: Optional. Der Zahlenanbieter, der verwendet wird, wenn die Bedingung nicht erfüllt ist. Standardmäßig
0.0.
- type:
cos (Kosinus)
[Bearbeiten | Quelltext bearbeiten]
Liefert den Kosinus eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"cos"– Bestimmt den Kosinus eines Zahlenanbieters. - input: Der Zahlenanbieter.
- type:
Der Eingabewert wird als Winkel im Bogenmaß interpretiert.
div (Division)
[Bearbeiten | Quelltext bearbeiten]
Liefert das Ergebnis einer Division.
- : Der Zahlenanbieter.
- type:
"div"– Dividiert einen Zahlenanbieter durch einen anderen. - left: Der Dividend.
- right: Der Divisor.
- type:
Bei Ganzzahlen wird eine abgeschnittene Division verwendet. Das Ergebnis wird dabei immer in Richtung Null gerundet.
Eine Division durch Null wird als Fehler behandelt und bricht die Berechnung ab.
environment_attribute (Umgebungsattribut)
[Bearbeiten | Quelltext bearbeiten]
Liest den Wert eines Umgebungsattributs aus.
- : Der Zahlenanbieter.
- type:
"environment_attribute"– Liest den Wert eines Umgebungsattributs aus. - attribute: Der Namensraum des auszulesenden Umgebungsattributs.
- type:
Das Umgebungsattribut muss einen Wert besitzen, der in eine Fließkommazahl umgewandelt werden kann. Wenn das Attribut positionsabhängig ist, muss der Beutekontext einen Ursprungspunkt enthalten.
max (Maximum)
[Bearbeiten | Quelltext bearbeiten]
Liefert den größten Wert mehrerer Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"max"– Der größte Wert mehrerer Zahlenanbieter. - operands: Die Zahlenanbieter, aus denen der größte Wert bestimmt wird.
- : Ein Zahlenanbieter.
- type:
min (Minimum)
[Bearbeiten | Quelltext bearbeiten]
Liefert den kleinsten Wert mehrerer Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"min"– Der kleinste Wert mehrerer Zahlenanbieter. - operands: Die Zahlenanbieter, aus denen der kleinste Wert bestimmt wird.
- : Ein Zahlenanbieter.
- type:
mod (Modulo)
[Bearbeiten | Quelltext bearbeiten]
Liefert den Rest einer Division.
- : Der Zahlenanbieter.
- type:
"mod"– Bestimmt den Divisionsrest zweier Zahlenanbieter. - left: Der Dividend.
- right: Der Divisor.
- type:
Bei Ganzzahlen wird eine abgeschnittene Division verwendet. Das Ergebnis entspricht dem Rest der Division mit Rundung in Richtung Null.
Eine Division durch Null wird als Fehler behandelt und bricht die Berechnung ab.
mul (Multiplikation)
[Bearbeiten | Quelltext bearbeiten]
Liefert das Produkt mehrerer Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"mul"– Das Produkt mehrerer Zahlenanbieter. - operands: Die Zahlenanbieter, deren Werte multipliziert werden.
- : Ein Zahlenanbieter.
- type:
negate (Negation)
[Bearbeiten | Quelltext bearbeiten]
Liefert das Negativ eines Zahlenanbieters.
- : Der Zahlenanbieter.
- type:
"negate"– Negiert den Wert eines Zahlenanbieters. - input: Der Zahlenanbieter.
- type:
Wenn der Ganzzahlwert des Ergebnisses nicht in eine 32-Bit-Ganzzahl passt, wird die Berechnung abgebrochen.
number_dispatcher (Zahlenverteiler)
[Bearbeiten | Quelltext bearbeiten]
Prüft mehrere Bedingungen der Reihe nach und verwendet den Zahlenanbieter der ersten erfüllten Bedingung. Wird keine Bedingung erfüllt, wird der Standardwert verwendet.
- : Der Zahlenanbieter.
- type:
"number_dispatcher"– Wählt anhand mehrerer Bedingungen einen Zahlenanbieter aus. - cases: Eine Liste von Fällen. Die Fälle werden in der angegebenen Reihenfolge geprüft.
- : Ein Fall.
- condition: Das zu prüfende Prädikat.
- number_provider: Der Zahlenanbieter, der verwendet wird, wenn die Bedingung erfüllt ist.
- : Ein Fall.
- default: Optional. Der Zahlenanbieter, der verwendet wird, wenn keine Bedingung erfüllt ist. Standardmäßig
0.0.
- type:
pow (Potenz)
[Bearbeiten | Quelltext bearbeiten]
Liefert einen Zahlenanbieter hoch einen anderen Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"pow"– Potenziert einen Zahlenanbieter mit einem anderen Zahlenanbieter. - base: Die Basis.
- exponent: Der Exponent.
- type:
Bei Ganzzahlen werden negative Exponenten als Fehler behandelt und brechen die Berechnung ab.
Ebenso wird die Berechnung abgebrochen, wenn sowohl Basis als auch Exponent den Wert 0 besitzen.
Wenn das Ergebnis eines Ganzzahl-Zahlenanbieters nicht in eine 32-Bit-Ganzzahl passt, wird die Berechnung abgebrochen.
storage (Datenspeicher)
[Bearbeiten | Quelltext bearbeiten]
Liest einen Zahlenwert aus einem Datenspeicher aus.
- : Der Zahlenanbieter.
- type:
"storage"– Liest einen Wert aus einem Datenspeicher. - storage: Der Namensraum des Datenspeichers.
- path: Der NBT-Pfad zu dem auszulesenden Wert.
- type:
sub (Subtraktion)
[Bearbeiten | Quelltext bearbeiten]
Liefert die Differenz zweier Zahlenanbieter.
- : Der Zahlenanbieter.
- type:
"sub"– Die Differenz zweier Zahlenanbieter. - left: Der Minuend.
- right: Der Subtrahend.
- type:
Wenn der Ganzzahlwert des Ergebnisses nicht in eine 32-Bit-Ganzzahl passt, wird die Berechnung abgebrochen.
uniform (Verteilung)
[Bearbeiten | Quelltext bearbeiten]
Liefert eine Zufallszahl, die einer gleichmäßigen Verteilung zwischen zwei Werten folgt.
- : Der Zahlenanbieter.
- type:
"uniform"– Eine Zufallszahl, die einer gleichmäßigen Verteilung zwischen zwei Werten folgt. - min: Ein Zahlenanbieter. Der Mindestwert.
- Ein Zahlenanbieter.
- max: Ein Zahlenanbieter. Der Höchstwert.
- Ein Zahlenanbieter.
- type:
Die Werte sind für ganzzahlige Ergebnisse einschließlich beider Grenzen möglich. Bei einem Fließkommawert ist der Höchstwert hingegen ausgeschlossen. Wenn der Höchstwert kleiner oder gleich dem Mindestwert ist, wird der Mindestwert zurückgegeben.
weighted_list (Gewichtete Liste)
[Bearbeiten | Quelltext bearbeiten]
Wählt anhand von Gewichtungen zufällig einen Zahlenanbieter aus.
- : Der Zahlenanbieter.
- type:
"weighted_list"– Wählt einen Zahlenanbieter anhand einer Gewichtung aus. - distribution: Die Gewichtungsverteilung.
- : Ein Eintrag der Gewichtungsverteilung.
- data: Der Zahlenanbieter.
- weight: Eine positive Ganzzahl, die angibt, wie häufig dieser Zahlenanbieter im Verhältnis zu den anderen ausgewählt wird.
- : Ein Eintrag der Gewichtungsverteilung.
- type:
Die Wahrscheinlichkeit eines Eintrags entspricht seiner Gewichtung geteilt durch die Summe aller Gewichtungen.
Liste der Zahlenanbieter
[Bearbeiten | Quelltext bearbeiten]Die folgenden Zahlenanbieter sind in den Standard-Weltdaten von Minecraft enthalten.
Fließkomma-Zahlenanbieter
[Bearbeiten | Quelltext bearbeiten]| Zahlenanbieter | Verwendung |
|---|---|
brewing/speed_default
|
Standardmäßige Braugeschwindigkeit. |
cooking/fast_speed_multiplier
|
Geschwindigkeitsmultiplikator für das schnelle Kochen. |
cooking/normal_speed_multiplier
|
Geschwindigkeitsmultiplikator für das normale Kochen. |
cooking/speed_default
|
Standardmäßige Kochgeschwindigkeit. |
Ganzzahl-Zahlenanbieter
[Bearbeiten | Quelltext bearbeiten]| Zahlenanbieter | Verwendung |
|---|---|
brewing/uses_default
|
Standardmäßige Anzahl der Verwendungen beim Brauen. |
compostable/always_add_one
|
Fügt beim Kompostieren immer eins zur aktuellen Stufe hinzu. |
compostable/low
|
Niedrige Menge bzw. Stufe beim Kompostieren. |
compostable/low_medium
|
Niedrige bis mittlere Menge bzw. Stufe beim Kompostieren. |
compostable/medium
|
Mittlere Menge bzw. Stufe beim Kompostieren. |
compostable/medium_high
|
Mittlere bis hohe Menge bzw. Stufe beim Kompostieren. |
cooking/fast_burn_time_reduction_factor
|
Faktor für die Reduzierung der Brenndauer beim schnellen Kochen. |
cooking/normal_burn_time_reduction_factor
|
Faktor für die Reduzierung der Brenndauer beim normalen Kochen. |
cooking/time_bamboo
|
Kochzeit für Bambus. |
cooking/time_blaze_rod
|
Kochzeit für Lohenruten. |
cooking/time_boats
|
Kochzeit für Boote. |
cooking/time_coal
|
Kochzeit für Kohle. |
cooking/time_coal_block
|
Kochzeit für Kohleblöcke. |
cooking/time_dried_kelp_block
|
Kochzeit für getrocknete Seetangblöcke. |
cooking/time_dry_plants
|
Kochzeit für trockene Pflanzen. |
cooking/time_hanging_signs
|
Kochzeit für Hängeschilder. |
cooking/time_lava_bucket
|
Kochzeit für einen Lavaeimer. |
cooking/time_roots
|
Kochzeit für Wurzeln. |
cooking/time_wood_blocks
|
Kochzeit für Holzblöcke. |
cooking/time_wood_items_extra_small
|
Kochzeit für besonders kleine Holzmengen. |
cooking/time_wood_items_large
|
Kochzeit für große Holzmengen. |
cooking/time_wood_items_small
|
Kochzeit für kleine Holzmengen. |
cooking/time_wood_slabs
|
Kochzeit für Holzstufen. |
cooking/time_wool
|
Kochzeit für Wolle. |
cooking/time_wool_carpets
|
Kochzeit für Wollteppiche. |
cooking/time_wool_slabs
|
Kochzeit für Wollstufen. |
Definitionsverhalten
[Bearbeiten | Quelltext bearbeiten]Eigenständige Zahlenanbieter werden über die Zahlenanbieter-Registrierung geladen und können anschließend über ihre Namensraum-ID referenziert werden.
Zahlenanbieter können außerdem direkt innerhalb anderer Datenstrukturen definiert werden. Welche Datenstruktur und welcher Beutekontext dabei verwendet wird, bestimmt, welche Kontextdaten für die Auswertung eines Zahlenanbieters zur Verfügung stehen.
Zahlenanbietertypen können nicht durch Datenpakete um eigene Typen erweitert werden.
Geschichte
[Bearbeiten | Quelltext bearbeiten]| Versionen der Java Edition |
|---|