HyTari Studios · Offizieller visueller Leitfaden

Menu Info Pages

Lerne JSON, indem du das Ergebnis siehst.

Eine praktische visuelle Referenz zur Konfiguration von MenuInfoPages. Beginne mit dem zentralen Fenster, baue die Navigation in den Seitenleisten auf und passe anschließend O-Key-Verknüpfungen und interaktive Items an. Jedes Beispiel enthält kopierbares JSON und eine vereinfachte Darstellung des Ergebnisses.

Zuerst lesen

Erste Schritte

SCHRITT 01

Tutorials aktivieren

Setze in config.json die Werte languages.de-DE.enabled und demo auf true. Das Full-Paket enthält Tutorials in 25 Sprachen.

SCHRITT 02

Eine Seite erstellen

Verwende /infopages newpage <name> <command> oder erstelle eine JSON-Datei unter mods/MenuInfoPages/pages/de-DE/.

SCHRITT 03

Neu laden & testen

Führe nach Änderungen an Inhalten oder Bildern /infopages reload aus. Ein neu eingeführter Spielerbefehl oder eine strukturelle Änderung an ItemCommands kann einen Neustart erfordern.

Diese Beispiele basieren auf der mitgelieferten JSON-Konfiguration und den Tutorial-Dateien der aktuellen Full Edition. Die Vorschauen sind Lern-Diagramme, keine Screenshots oder native Hytale-UI-Darstellung. Ersetze Beispielbefehle, Ziele und PNG-Namen durch Ressourcen, die auf deinem Server verfügbar sind. Bewahre Sicherungskopien vorhandener Dateien auf.

KAPITEL 01 · 10 BEISPIELE

Zentrale GUI

Beginne mit der Seite selbst: Text, Abschnitte, Bilder, Schaltflächen, Berechtigungen und AutoOpen.

01Seiten-JSON

Deine erste Seite

Eine JSON-Datei erstellt eine Seite mit eigenem Befehl, Titel und Einleitung.

JSON-Konfiguration
{
  "command": "welcome",
  "title": "WILLKOMMEN AUF UNSEREM SERVER",
  "intro": "Hallo {player}! Hier findest du alles, was du für den Einstieg brauchst.",
  "images": [],
  "sections": [
    {
      "title": "ERSTE SCHRITTE",
      "text": "Lies die Regeln, finde einen Bauplatz und genieße das Abenteuer!",
      "images": []
    }
  ],
  "buttons": [],
  "footer": "Viel Spaß auf dem Server!"
}

pages/de-DE/welcome.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

WILLKOMMEN AUF UNSEREM SERVER

Hallo Alex! Hier findest du alles, was du für den Einstieg brauchst.

ERSTE SCHRITTE

Lies die Regeln, finde einen Bauplatz und genieße das Abenteuer!

Viel Spaß auf dem Server!

Der Dateiname kann vom Befehl abweichen. Neue Spielerbefehle können nach der Erstellung einen Serverneustart erfordern.

02Seiten-JSON

Formatierter Text & Platzhalter

Formatiere deinen Text und füge dynamische Informationen von Spieler und Server ein.

JSON-Konfiguration
{
  "command": "player-info",
  "title": "SPIELERINFORMATIONEN",
  "intro": "{center}{#54DAF4}{b}Willkommen zurück, {player}!{/}{/}",
  "images": [],
  "sections": [
    {
      "title": "{#F894FF}{b}DEINE DATEN{/}{/}",
      "text": "{b}Spieler:{/} {player}\n{b}Welt:{/} {world}\n{b}Online:{/} {online}/{max_players}\n{m}Nützliche Serverinformationen{/}",
      "images": []
    }
  ],
  "buttons": []
}

pages/de-DE/player-info.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

SPIELERINFORMATIONEN

Willkommen zurück, Alex!{/}{/}

DEINE DATEN{/}{/}

Spieler:{/} Alex Welt:{/} Survival Online:{/} 12/256 Nützliche Serverinformationen{/}

Formatierter Text wird von Hytale gerendert. Die schematische Vorschau entfernt Formatierungs-Tokens, statt den nativen Schrift-Renderer nachzubilden.

03Seiten-JSON

Hintergrundfarben von Abschnitten

Kombiniere Standard-, transparente und HEX-farbige Abschnitte im selben Menü.

JSON-Konfiguration
{
  "command": "colors",
  "title": "BENUTZERDEFINIERTE ABSCHNITTE",
  "intro": "Wähle für jeden Inhaltsbereich eine visuelle Darstellung.",
  "images": [],
  "sections": [
    {
      "title": "STANDARD",
      "text": "Nativer Abschnittsstil.",
      "backgroundColor": "default",
      "images": []
    },
    {
      "title": "TRANSPARENT",
      "text": "Das Hintergrundpanel wird entfernt.",
      "backgroundColor": "none",
      "images": []
    },
    {
      "title": "BENUTZERDEFINIERTES HEX",
      "text": "Eine benutzerdefinierte Abschnittsfarbe.",
      "backgroundColor": "#243D59",
      "images": []
    }
  ],
  "buttons": []
}

pages/de-DE/colors.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

BENUTZERDEFINIERTE ABSCHNITTE

Wähle für jeden Inhaltsbereich eine visuelle Darstellung.

STANDARD

Nativer Abschnittsstil.

TRANSPARENT

Das Hintergrundpanel wird entfernt.

BENUTZERDEFINIERTES HEX

Eine benutzerdefinierte Abschnittsfarbe.

Verwende backgroundColor am einzelnen Abschnitt, nicht auf der gesamten Seite.

04Seiten-JSON

Feste Einleitung & Header-Bilder

Eine Einleitung und bis zu sechs Bilder bleiben oberhalb der scrollbaren Abschnitte sichtbar.

JSON-Konfiguration
{
  "command": "header",
  "title": "UNSERE COMMUNITY",
  "intro": "{center}Entdecke den Server und seine Funktionen.",
  "images": [
    {
      "image": "server-logo.png"
    },
    {
      "image": "welcome-banner.png"
    }
  ],
  "sections": [
    {
      "title": "SCROLLBARER INHALT",
      "text": "Dieser Abschnitt scrollt, während Einleitung und Header-Bilder sichtbar bleiben.",
      "images": []
    }
  ],
  "buttons": []
}

pages/de-DE/header.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

UNSERE COMMUNITY

Entdecke den Server und seine Funktionen.

server-logo.png
welcome-banner.png
SCROLLBARER INHALT

Dieser Abschnitt scrollt, während Einleitung und Header-Bilder sichtbar bleiben.

Lege server-logo.png und welcome-banner.png vor dem Öffnen der Seite in mods/MenuInfoPages/images/ ab. Es werden PNG-Dateien verwendet; für schnelleres Laden werden einzelne Dateien unter 2 MB empfohlen, dies ist jedoch nicht verpflichtend.

05Seiten-JSON

Mehrere Bilder in einem Abschnitt

Platziere bis zu sechs Bilder in einem Abschnitt. Sie werden auf gleich große horizontale Zellen verteilt.

JSON-Konfiguration
{
  "command": "places",
  "title": "ORTE ZUM BESUCHEN",
  "intro": "Wähle ein Ziel.",
  "images": [],
  "sections": [
    {
      "title": "ZIELE",
      "text": "Wähle, wohin du gehen möchtest.",
      "images": [
        {
          "image": "spawn.png",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 100
        },
        {
          "image": "market.png",
          "command": "warp market",
          "runAs": "player",
          "close": true,
          "delayMs": 100
        },
        {
          "image": "website.png",
          "command": "https://example.org",
          "close": false
        }
      ]
    }
  ],
  "buttons": []
}

pages/de-DE/places.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

ORTE ZUM BESUCHEN

Wähle ein Ziel.

ZIELE

Wähle, wohin du gehen möchtest.

spawn.png
market.png
website.png

Jeder Dateiname steht für ein PNG, das du in mods/MenuInfoPages/images/ bereitstellst.

06Seiten-JSON

Schaltflächen in einem Abschnitt

Gib einem Abschnitt eigene interaktive primary-, secondary- und danger-Aktionen.

JSON-Konfiguration
{
  "command": "section-actions",
  "title": "NÜTZLICHE BEFEHLE",
  "intro": "Unterschiedliche Schaltflächenstile machen Aktionen leicht erkennbar.",
  "images": [],
  "sections": [
    {
      "title": "NAVIGATION",
      "text": "Ein Abschnitt kann Text, Bilder und Schaltflächen enthalten.",
      "images": [],
      "buttons": [
        {
          "text": "SPAWN",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 250,
          "style": "primary"
        },
        {
          "text": "SERVERREGELN",
          "page": "rules",
          "style": "secondary"
        },
        {
          "text": "DANGER-BEISPIEL",
          "style": "danger"
        }
      ]
    }
  ],
  "buttons": []
}

pages/de-DE/section-actions.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

NÜTZLICHE BEFEHLE

Unterschiedliche Schaltflächenstile machen Aktionen leicht erkennbar.

NAVIGATION

Ein Abschnitt kann Text, Bilder und Schaltflächen enthalten.

SPAWN
SERVERREGELN
DANGER-BEISPIEL

Verwende page, um direkt eine andere MenuInfoPages-Seite zu öffnen. Verwende command zum Ausführen von Befehlen; runAs: console sollte nur für vertrauenswürdige Aktionen genutzt werden.

07Seiten-JSON

Untere Aktionsleiste

Platziere bis zu sechs Aktionen unten, getrennt von den scrollbaren Abschnitten.

JSON-Konfiguration
{
  "command": "shortcuts",
  "title": "SCHNELLAKTIONEN",
  "intro": "Häufige Schnellzugriffe an einem Ort.",
  "images": [],
  "sections": [
    {
      "title": "HILFE",
      "text": "Wähle unten eine Aktion.",
      "images": []
    }
  ],
  "buttons": [
    {
      "text": "REGELN",
      "page": "rules",
      "style": "primary"
    },
    {
      "text": "SPAWN",
      "command": "spawn",
      "runAs": "player",
      "close": true,
      "delayMs": 250,
      "style": "secondary"
    },
    {
      "text": "WEBSEITE",
      "command": "https://example.org",
      "style": "secondary"
    }
  ]
}

pages/de-DE/shortcuts.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

SCHNELLAKTIONEN

Häufige Schnellzugriffe an einem Ort.

HILFE

Wähle unten eine Aktion.

REGELN
SPAWN
WEBSEITE

Ziele wie rules oder warp market müssen auf deinem Server existieren. Ein page-Ziel ist der interne Befehl einer MenuInfoPages-Seite.

08Seiten-JSON

Seitenberechtigungen

Füge optional einen Permission-Node hinzu, um eine Seite auf autorisierte Benutzer zu beschränken.

JSON-Konfiguration
{
  "command": "staff-info",
  "permission": "server.staff",
  "title": "STAFF-INFORMATIONEN",
  "intro": "Geschützte Informationen für autorisierte Spieler.",
  "images": [],
  "sections": [
    {
      "title": "STAFF-NOTIZEN",
      "text": "Nur Spieler mit der Berechtigung server.staff dürfen diese Seite öffnen.",
      "images": []
    }
  ],
  "buttons": []
}

pages/de-DE/staff-info.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

STAFF-INFORMATIONEN

Geschützte Informationen für autorisierte Spieler.

STAFF-NOTIZEN

Nur Spieler mit der Berechtigung server.staff dürfen diese Seite öffnen.

Der Permission-Node ist ein Beispiel. Vergib ihn über das Berechtigungssystem deines Servers. AutoOpen berücksichtigt ebenfalls Seitenberechtigungen.

09Seiten-JSON

Automatisches Öffnen beim Beitritt

Zeige eine Willkommensseite einmal, immer oder bis der Spieler sie ausblendet.

JSON-Konfiguration
{
  "autoOpen": {
    "enabled": true,
    "mode": "dismissible",
    "version": 1,
    "worlds": [],
    "delayMs": 1500
  },
  "command": "server-guide",
  "title": "SERVERLEITFADEN",
  "intro": "Willkommen! Aktiviere Nicht mehr anzeigen, um diese Seite bei zukünftigen Beitritten auszublenden.",
  "images": [],
  "sections": [
    {
      "title": "ERSTE SCHRITTE",
      "text": "Lies unsere Regeln und finde dich auf dem Server zurecht.",
      "images": []
    }
  ],
  "buttons": []
}

pages/de-DE/server-guide.json

Visuelles ErgebnisSchematische Vorschau
MENUINFOPAGES · SCHEMA×

SERVERLEITFADEN

Willkommen! Aktiviere Nicht mehr anzeigen, um diese Seite bei zukünftigen Beitritten auszublenden.

ERSTE SCHRITTE

Lies unsere Regeln und finde dich auf dem Server zurecht.

Konfiguriere autoOpen in der Fallback-Sprachversion dieser Seite. Aktiviere keine sich überschneidenden AutoOpen-Seiten für dieselbe Welt: Wenn mehrere Seiten zutreffen, wird keine automatisch geöffnet.

10Konfigurations-JSON

Mitgelieferte Tutorials aktivieren

Wähle geladene Sprachen unabhängig davon, für welche Sprachen Demo-Seiten erzeugt werden.

JSON-Konfiguration
{
  "fallbackLanguage": "en-US",
  "languages": {
    "en-US": {
      "enabled": true,
      "demo": true
    },
    "it-IT": {
      "enabled": true,
      "demo": false
    },
    "de-DE": {
      "enabled": true,
      "demo": false
    }
  }
}

config.json — top-level fields

Visuelles ErgebnisSchematische Vorschau

Spracheinstellungen

en-USGeladen · Demo ON
it-ITGeladen · Demo OFF
de-DEGeladen · Demo OFF

Die Clientsprache wählt die Seitenübersetzung; fehlende Übersetzungen verwenden die konfigurierte Fallback-Sprache.

Die Full Edition enthält 25 Sprachordner. Sowohl enabled als auch demo müssen für eine Sprache true sein, damit ihre Tutorial-Seiten erzeugt werden. Setze demo auf false, sobald du sie nicht mehr benötigst.

KAPITEL 03 · 4 BEISPIELE

O-Key & HUD

Erstelle Schnellzugriffe, positioniere ihre Anzeigen und konfiguriere das Verhalten je Welt.

01Konfigurations-JSON

Globale O-Key-Verknüpfung

Lege Standardbefehl, Berechtigungen und HUD-Anzeige für jede Welt fest.

JSON-Konfiguration
{
  "O-Key": {
    "Enabled": true,
    "RequirePermission": false,
    "Permission": "menuinfopages.okey",
    "OpPermission": "hytale.command.gamemode",
    "AllWorlds": {
      "Command": "menuinfopages",
      "OpCommand": "menuinfopages",
      "AppliesOnOP": true,
      "CooldownMs": 250,
      "Hud": {
        "Enabled": true,
        "Horizontal": "right:-8",
        "Vertical": "top:245",
        "Title": "menuinfopages.hud.okey.press",
        "Image": "default",
        "Width": 112,
        "Height": 112
      }
    }
  }
}

config.json — O-Key object

Visuelles ErgebnisSchematische Vorschau

O-Key · beispielhaftes HUD

O

Darstellung des Spielbildschirms

HUD-Position: right:-8, top:245. Befehle und Verhalten werden in config.json konfiguriert.

Bearbeite das bestehende O-Key-Objekt, anstatt die gesamte config.json zu ersetzen. Der HUD-Bildwert default verweist auf das mitgelieferte Symbol.

02Konfigurations-JSON

O-Key-HUD zentrieren

Verwende center unabhängig auf einer Achse und passe die andere Achse von einem Rand aus an.

JSON-Konfiguration
{
  "Hud": {
    "Enabled": true,
    "Image": "default",
    "Width": 112,
    "Height": 112,
    "Horizontal": "center",
    "Vertical": "top:190"
  }
}

config.json — O-Key.AllWorlds.Hud

Visuelles ErgebnisSchematische Vorschau

O-Key · beispielhaftes HUD

O

Darstellung des Spielbildschirms

HUD-Position: center, top:190. Befehle und Verhalten werden in config.json konfiguriert.

Dieses Beispiel ist ein unvollständiges Hud-Objekt; übernimm die Werte in deine bestehenden O-Key.AllWorlds.Hud-Einstellungen.

03Konfigurations-JSON

Overrides für Welten und Instanzen

Gib bestimmten Welten eine andere Verknüpfung, einschließlich generierter Instanzen mit abschließendem Wildcard.

JSON-Konfiguration
{
  "WorldOverrides": [
    {
      "Worlds": [
        "Survival"
      ],
      "Enabled": true,
      "Command": "welcome",
      "Hud": {
        "Enabled": true,
        "Horizontal": "right:-5",
        "Vertical": "center"
      }
    },
    {
      "Worlds": [
        "instance-Forgotten_Temple-*"
      ],
      "Enabled": true,
      "Command": "server-guide",
      "Hud": {
        "Enabled": true,
        "Horizontal": "center",
        "Vertical": "top:190"
      }
    }
  ]
}

config.json — O-Key.WorldOverrides

Visuelles ErgebnisSchematische Vorschau

O-Key · beispielhaftes HUD

O

Darstellung des Spielbildschirms

Survival → /welcome
instance-Forgotten_Temple-* → /server-guide

Ein einzelnes abschließendes * wird in einem Weltnamen-Präfix unterstützt. Exakte Namen haben Vorrang vor Wildcard-Mustern; andernfalls gewinnt das längste passende Präfix.

04Konfigurations-JSON

Benutzerdefiniertes O-Key-Bild

Verwende dein eigenes PNG mit konfigurierbarer Größe und Position.

JSON-Konfiguration
{
  "Hud": {
    "Enabled": true,
    "Image": "okey-survival.png",
    "Width": 300,
    "Height": 200,
    "Horizontal": "right:-5",
    "Vertical": "top:138"
  }
}

config.json — O-Key.AllWorlds.Hud

Visuelles ErgebnisSchematische Vorschau

O-Key · beispielhaftes HUD

O

Darstellung des Spielbildschirms

HUD-Position: right:-5, top:138. Befehle und Verhalten werden in config.json konfiguriert.

Lege okey-survival.png in mods/MenuInfoPages/images/ ab. Passe Width/Height an das Seitenverhältnis des PNG an, zum Beispiel 600×400 dargestellt als 300×200.

KAPITEL 04 · 2 BEISPIELE

ItemCommands

Erstelle Items mit getrennten Befehlen für Links- und Rechtsklick.

01Konfigurations-JSON

Demo-Item aktivieren

Das mitgelieferte Beispiel stellt ein interaktives Quell-Item mit getrennten Aktionen für Links- und Rechtsklick bereit.

JSON-Konfiguration
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "demo",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Demo-Seiten",
        "quality": "",
        "leftClickCommand": "menuinfopages",
        "rightClickCommand": "menuinfopages"
      }
    ]
  }
}

config.json — itemCommands object

Visuelles ErgebnisSchematische Vorschau

ItemCommands · Interaktionsübersicht

Demo-Seiten

Linksklick/menuinfopages
Rechtsklick/menuinfopages

Dies ist die tatsächliche Quell-Item-ID des mitgelieferten Beispiels. Anders als Seitenänderungen können strukturelle Item-Updates einen Serverneustart erfordern.

02Konfigurations-JSON

Getrennte Befehle für links & rechts

Verwende ein vorhandenes Hytale- oder Mod-Item als Quelle für eine neue interaktive Verknüpfung.

JSON-Konfiguration
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "server-shortcuts",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Server-Schnellzugriffe",
        "quality": "",
        "leftClickCommand": "welcome",
        "rightClickCommand": "spawn"
      }
    ]
  }
}

config.json — itemCommands object

Visuelles ErgebnisSchematische Vorschau

ItemCommands · Interaktionsübersicht

Server-Schnellzugriffe

Linksklick/welcome
Rechtsklick/spawn

Ersetze sourceItem durch eine echte, auf deinem Server installierte Item-ID und wähle vorhandene Befehle, auf die Spieler zugreifen können. ItemCommands ist unabhängig vom Seiten-JSON.

Vor der Verwendung eines Beispiels

Vollständige Seitenbeispiele: Lege jedes JSON-Objekt in einer eigenen Datei unter mods/MenuInfoPages/pages/de-DE/ ab. Verwende für jede Seite einen eindeutigen Befehl und übersetze bei Bedarf die entsprechenden Seitendateien in den anderen Sprachordnern.

Konfigurationsbeispiele: Die O-Key- und ItemCommands-Objekte sind Fragmente deiner bestehenden config.json. Füge die gezeigten Eigenschaften an der richtigen Stelle ein; ersetze niemals die gesamte Konfigurationsdatei durch ein kleines Beispiel.

Sichere Konfiguration: Lege referenzierte PNGs im vorgesehenen Bilderordner ab. Für eine bessere Leistung wird empfohlen, einzelne Bilder unter 2 MB zu halten; dies ist jedoch nicht verpflichtend. Größere Dateien können mehr Ladezeit und Speicher benötigen. Demo-Befehle, Seitenziele, Permission-Nodes und externe URLs sind Platzhalter für von dir bereitgestellte Ressourcen. Führe keine privilegierten Befehle für nicht vertrauenswürdige Spieler aus.

Aktuelles Schema: Dieser Leitfaden dokumentiert das bestehende System mit sections, leftContent und rightContent; ein mögliches zukünftiges vereinheitlichtes content/cells-Modell wird nicht als bereits verfügbare Funktion dargestellt.

NACH OBEN