Client Payloads
GrieferGames sendet sogenannte Custom Plugin Messages (Client Payloads) über einen dedizierten Kanal an verbundene Clients. Diese Seite dokumentiert alle verfügbaren Payloads, ihr binäres Übertragungsformat und wie du sie in deinem Mod empfangen kannst.
Übersicht
Kanal
griefergames:main
Richtung
Server → Client (unidirektional)
Registrierung
Keine client-seitige Registrierung erforderlich
Verfügbarkeit
1.8
Auf allen Servern außer der Lobby und dem Portalraum
Cloud
Alle Server auf denen die Verwendung von Geld möglich ist
Übertragungsformat
Alle Payloads teilen dieselbe äußere Struktur auf dem griefergames:main-Channel:
┌──────────────────────────────────┐
│ id UTF (Java DataOutput) │ ← Payload-Identifikator
│ <body> payload-spezifische │ ← Felder je nach Payload (siehe unten)
│ Daten │
└──────────────────────────────────┘Der UTF-String wird im Java-DataOutputStream.writeUTF-Format kodiert:
2 Bytes Big-Endian Unsigned Short → Länge der folgenden UTF-8-Byte-Sequenz
N Bytes → String-Inhalt in modifiziertem UTF-8
Alle nachfolgenden numerischen Felder folgen der Standard-Big-Endian-Kodierung von DataOutputStream.
Verfügbare Payloads
accountbalance
Wird an den Client gesendet, sobald sich das Bargeld des Spielers ändert, sowie einmalig beim Betreten eines Servers.
id
UTF
"accountbalance"
balance
double (8 Bytes, Big-Endian IEEE 754)
Aktuelles Guthaben des Spielers, auf 2 Dezimalstellen gerundet
Beispiel-Hex-Aufschlüsselung (Guthaben = 1234.56):
Payloads empfangen — Code-Beispiele
Den Listener im AddonEntryPoint registrieren:
Das Payload kommt als clientbound Plugin Message-Packet auf dem Channel griefergames:main an. Den Datenbereich mit einem DataInputStream lesen, wie in den Beispielen oben gezeigt.
1.8
0x3F
1.21+
0x02 (Configuration) / 0x18 (Play)
Zukunftssicherheit
Das Payload-System ist erweiterbar. Beim Empfang eines Payloads immer:
Kurzübersicht
Zuletzt aktualisiert
War das hilfreich?