Spielregeln
VORAUSSETZUNGEN
Möglicherweise möchtest du zunächst die Generierung von Übersetzungen abschließen, dies ist jedoch nicht erforderlich.
Spielregeln verhalten sich wie weltenspezifische Konfigurationsoptionen, die der Spieler während des Spiels mit einem Befehl ändern kann. Diese Variablen steuern in der Regel bestimmte Funktionen der Welt, zum Beispiel steuern pvp, spawn_monsters und advance_time, ob PvP aktiviert ist, Monster erscheinen und ob die Zeit verstreicht.
Eine Spielregel erstellen
Um eine benutzerdefinierte Spielregel zu erstellen, erstelle zunächst eine Klasse GameRules; dort werden wir unsere Spielregeln definieren. In dieser Klasse, deklariere zwei Konstanten: Eine Bezeichnung für die Spielregel und die Regel selbst.
java
No lines matched.1
Das Argument der Kategorie (.category(GameRuleCategory.MISC)) legt fest, unter welche Kategorie die Spielregel in der Oberfläche zur Welterstellung fällt. Dieses Beispiel verwendet die durch Vanilla bereitgestellte Kategorie Verschiedenes, aber zusätzliche Kategorien können über GameRuleCategory.register hinzugefügt werden. In diesem Beispiel haben wir eine boolsche Spielregel mit dem Standardwert false und der ID bad_vision erstellt. Die in Spielregeln gespeicherten Werte sind nicht auf boolesche Werte beschränkt; weitere zulässige Typen sind Doubles, Integers und Enums.
Beispiel einer Spielregel, die einen double speichert:
java
No lines matched.1
Auf eine Spielregel zugreifen
Da wir jetzt eine Spielregel und deren Identifier haben, kannst du überall mit der Methode serverLevel.getGameRules().get(GAMERULE) darauf zugreifen, wobei das Argument für .get() deine Spielregelkonstante ist und nicht die ID der Spielregel.
java
// Check for the state of the gamerule1
Du kannst dies auch verwenden, um auf die Werte von Vanilla Spielregeln zuzugreifen:
java
No lines matched.1
Beispielsweise würde die Implementierung für eine Regel, die bei dem Wert true allen Spielern Blindheit gibt, wie folgt aussehen:
java
No lines matched.1
Übersetzungen
Jetzt müssen wir unserer Spielregel einen Anzeigenamen geben, damit sie in der Oberfläche für Spielregeln leicht verständlich ist. Um dies über die Datengenerierung zu erledigen, füge die folgenden Zeilen zu deinem Sprach-Provider hinzu:
java
No lines matched.1
Zuletzt müssen wir unserer Spielregel eine Beschreibung hinzufügen. Um dies über die Datengenerierung zu erledigen, füge die folgenden Zeilen zu deinem Sprach-Provider hinzu:
java
No lines matched.1
INFO
Diese Übersetzungsschlüssel werden bei der Anzeige von Text in der Oberfläche für Spielregeln verwendet. Wenn du die automatische Datengenerierung nicht verwendest, kannst du diese auch manuell in deiner Datei assets/example-mod/lang/en_us.json eintragen.
json
"example-mod.bad_vision": "Bad Vision",
"gamerule.example-mod.bad_vision": "Gives every player the blindness effect",1
2
2
Spielregeln im Spiel ändern
Jetzt solltest du in der Lage sein, den Wert deiner Regel im Spiel mit dem Befehl /gamerule wie folgt zu ändern:
mcfunction
/gamerule example-mod:bad_vision true1
Die Spielregel wird nun auch in der Kategorie Verschiedenes in der Oberfläche Spielregeln bearbeiten angezeigt.






