HyTari Studios · Oficjalny przewodnik wizualny

Menu Info Pages

Ucz się JSON, widząc rezultat.

Praktyczny wizualny przewodnik konfiguracji MenuInfoPages. Zacznij od centralnego okna, zbuduj nawigację w panelach bocznych, a następnie dostosuj skróty O-Key i interaktywne przedmioty. Każdy przykład zawiera kopiowalny JSON i uproszczoną reprezentację rezultatu.

Najpierw przeczytaj

Pierwsze kroki

KROK 01

Włącz samouczki

W config.json ustaw languages.pl-PL.enabled i demo na true. Pakiet Full zawiera samouczki w 25 językach.

KROK 02

Utwórz stronę

Użyj /infopages newpage <name> <command> albo utwórz plik JSON w mods/MenuInfoPages/pages/pl-PL/.

KROK 03

Przeładuj i przetestuj

Po zmianach treści lub obrazów uruchom /infopages reload. Nowa komenda gracza albo strukturalna zmiana ItemCommands może wymagać restartu.

Te przykłady bazują na konfiguracji JSON i plikach samouczków dołączonych do bieżącej edycji Full. Podglądy są diagramami edukacyjnymi, a nie zrzutami ekranu ani natywnym renderowaniem interfejsu Hytale. Zastąp przykładowe komendy, cele i nazwy PNG zasobami dostępnymi na swoim serwerze. Zachowuj kopię zapasową istniejących plików.

ROZDZIAŁ 01 · 10 PRZYKŁADY

Centralne GUI

Zacznij od samej strony: tekstu, sekcji, obrazów, przycisków, uprawnień i AutoOpen.

01JSON strony

Twoja pierwsza strona

Jeden plik JSON tworzy stronę z własną komendą, tytułem i wprowadzeniem.

Konfiguracja JSON
{
  "command": "welcome",
  "title": "WITAJ NA NASZYM SERWERZE",
  "intro": "Cześć {player}! Tutaj znajdziesz wszystko, czego potrzebujesz na początek.",
  "images": [],
  "sections": [
    {
      "title": "PIERWSZE KROKI",
      "text": "Przeczytaj zasady, znajdź miejsce do budowy i ciesz się przygodą!",
      "images": []
    }
  ],
  "buttons": [],
  "footer": "Miłej gry!"
}

pages/pl-PL/welcome.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

WITAJ NA NASZYM SERWERZE

Cześć Alex! Tutaj znajdziesz wszystko, czego potrzebujesz na początek.

PIERWSZE KROKI

Przeczytaj zasady, znajdź miejsce do budowy i ciesz się przygodą!

Miłej gry!

Nazwa pliku może różnić się od komendy. Nowe komendy gracza mogą po utworzeniu wymagać restartu serwera.

02JSON strony

Formatowany tekst i placeholdery

Formatuj tekst i wstawiaj dynamiczne informacje o graczu i serwerze.

Konfiguracja JSON
{
  "command": "player-info",
  "title": "INFORMACJE O GRACZU",
  "intro": "{center}{#54DAF4}{b}Witaj ponownie, {player}!{/}{/}",
  "images": [],
  "sections": [
    {
      "title": "{#F894FF}{b}TWOJE DANE{/}{/}",
      "text": "{b}Gracz:{/} {player}\n{b}Świat:{/} {world}\n{b}Online:{/} {online}/{max_players}\n{m}Przydatne informacje o serwerze{/}",
      "images": []
    }
  ],
  "buttons": []
}

pages/pl-PL/player-info.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

INFORMACJE O GRACZU

Witaj ponownie, Alex!{/}{/}

TWOJE DANE{/}{/}

Gracz:{/} Alex Świat:{/} Survival Online:{/} 12/256 Przydatne informacje o serwerze{/}

Formatowany tekst jest renderowany przez Hytale. Podgląd schematyczny usuwa tokeny formatowania zamiast odtwarzać natywny renderer czcionek.

03JSON strony

Kolory tła sekcji

Łącz standardowe, przezroczyste i kolorowane HEX-em sekcje w tym samym menu.

Konfiguracja JSON
{
  "command": "colors",
  "title": "NIESTANDARDOWE SEKCJE",
  "intro": "Wybierz wygląd dla każdego obszaru treści.",
  "images": [],
  "sections": [
    {
      "title": "DOMYŚLNE",
      "text": "Natywny styl sekcji.",
      "backgroundColor": "default",
      "images": []
    },
    {
      "title": "PRZEZROCZYSTE",
      "text": "Panel tła zostaje usunięty.",
      "backgroundColor": "none",
      "images": []
    },
    {
      "title": "WŁASNY HEX",
      "text": "Niestandardowy kolor sekcji.",
      "backgroundColor": "#243D59",
      "images": []
    }
  ],
  "buttons": []
}

pages/pl-PL/colors.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

NIESTANDARDOWE SEKCJE

Wybierz wygląd dla każdego obszaru treści.

DOMYŚLNE

Natywny styl sekcji.

PRZEZROCZYSTE

Panel tła zostaje usunięty.

WŁASNY HEX

Niestandardowy kolor sekcji.

Użyj backgroundColor na pojedynczej sekcji, a nie na całej stronie.

04JSON strony

Stałe wprowadzenie i obrazy nagłówka

Wprowadzenie i maksymalnie sześć obrazów pozostają nad przewijanymi sekcjami.

Konfiguracja JSON
{
  "command": "header",
  "title": "NASZA SPOŁECZNOŚĆ",
  "intro": "{center}Poznaj serwer i jego funkcje.",
  "images": [
    {
      "image": "server-logo.png"
    },
    {
      "image": "welcome-banner.png"
    }
  ],
  "sections": [
    {
      "title": "PRZEWIJANA TREŚĆ",
      "text": "Ta sekcja przewija się, podczas gdy wprowadzenie i obrazy nagłówka pozostają widoczne.",
      "images": []
    }
  ],
  "buttons": []
}

pages/pl-PL/header.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

NASZA SPOŁECZNOŚĆ

Poznaj serwer i jego funkcje.

server-logo.png
welcome-banner.png
PRZEWIJANA TREŚĆ

Ta sekcja przewija się, podczas gdy wprowadzenie i obrazy nagłówka pozostają widoczne.

Przed otwarciem strony umieść server-logo.png i welcome-banner.png w mods/MenuInfoPages/images/. Używaj PNG; dla szybszego ładowania zaleca się pliki poniżej 2 MB, ale nie jest to obowiązkowe.

05JSON strony

Wiele obrazów w sekcji

Umieść do sześciu obrazów w sekcji. Zostaną rozmieszczone w równych poziomych komórkach.

Konfiguracja JSON
{
  "command": "places",
  "title": "MIEJSCA DO ODWIEDZENIA",
  "intro": "Wybierz cel.",
  "images": [],
  "sections": [
    {
      "title": "CELE",
      "text": "Wybierz, dokąd chcesz się udać.",
      "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/pl-PL/places.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

MIEJSCA DO ODWIEDZENIA

Wybierz cel.

CELE

Wybierz, dokąd chcesz się udać.

spawn.png
market.png
website.png

Każda nazwa pliku oznacza PNG umieszczony przez ciebie w mods/MenuInfoPages/images/.

06JSON strony

Przyciski wewnątrz sekcji

Dodaj sekcji własne interaktywne akcje primary, secondary i danger.

Konfiguracja JSON
{
  "command": "section-actions",
  "title": "PRZYDATNE KOMENDY",
  "intro": "Różne style przycisków ułatwiają rozpoznanie akcji.",
  "images": [],
  "sections": [
    {
      "title": "NAWIGACJA",
      "text": "Sekcja może zawierać tekst, obrazy i przyciski.",
      "images": [],
      "buttons": [
        {
          "text": "SPAWN",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 250,
          "style": "primary"
        },
        {
          "text": "ZASADY SERWERA",
          "page": "rules",
          "style": "secondary"
        },
        {
          "text": "PRZYKŁAD DANGER",
          "style": "danger"
        }
      ]
    }
  ],
  "buttons": []
}

pages/pl-PL/section-actions.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

PRZYDATNE KOMENDY

Różne style przycisków ułatwiają rozpoznanie akcji.

NAWIGACJA

Sekcja może zawierać tekst, obrazy i przyciski.

SPAWN
ZASADY SERWERA
PRZYKŁAD DANGER

Użyj page, aby bezpośrednio otworzyć inną stronę MenuInfoPages. Użyj command do wykonywania komend; runAs: console powinno być stosowane wyłącznie dla zaufanych akcji.

07JSON strony

Dolny pasek akcji

Umieść do sześciu akcji na dole, oddzielnie od przewijanych sekcji.

Konfiguracja JSON
{
  "command": "shortcuts",
  "title": "SZYBKIE AKCJE",
  "intro": "Popularne skróty w jednym miejscu.",
  "images": [],
  "sections": [
    {
      "title": "POMOC",
      "text": "Wybierz akcję poniżej.",
      "images": []
    }
  ],
  "buttons": [
    {
      "text": "ZASADY",
      "page": "rules",
      "style": "primary"
    },
    {
      "text": "SPAWN",
      "command": "spawn",
      "runAs": "player",
      "close": true,
      "delayMs": 250,
      "style": "secondary"
    },
    {
      "text": "STRONA WWW",
      "command": "https://example.org",
      "style": "secondary"
    }
  ]
}

pages/pl-PL/shortcuts.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

SZYBKIE AKCJE

Popularne skróty w jednym miejscu.

POMOC

Wybierz akcję poniżej.

ZASADY
SPAWN
STRONA WWW

Cele takie jak rules lub warp market muszą istnieć na twoim serwerze. Cel page to wewnętrzna komenda strony MenuInfoPages.

08JSON strony

Uprawnienia strony

Dodaj opcjonalny węzeł uprawnień, aby ograniczyć stronę do autoryzowanych użytkowników.

Konfiguracja JSON
{
  "command": "staff-info",
  "permission": "server.staff",
  "title": "INFORMACJE DLA ADMINISTRACJI",
  "intro": "Informacje ograniczone do uprawnionych graczy.",
  "images": [],
  "sections": [
    {
      "title": "NOTATKI ADMINISTRACJI",
      "text": "Tylko gracze z uprawnieniem server.staff mogą otworzyć tę stronę.",
      "images": []
    }
  ],
  "buttons": []
}

pages/pl-PL/staff-info.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

INFORMACJE DLA ADMINISTRACJI

Informacje ograniczone do uprawnionych graczy.

NOTATKI ADMINISTRACJI

Tylko gracze z uprawnieniem server.staff mogą otworzyć tę stronę.

Węzeł uprawnień jest przykładem. Nadaj go za pomocą systemu uprawnień serwera. AutoOpen również respektuje uprawnienia strony.

09JSON strony

Automatyczne otwieranie przy wejściu

Pokazuj stronę powitalną raz, zawsze albo do momentu jej wyłączenia przez gracza.

Konfiguracja JSON
{
  "autoOpen": {
    "enabled": true,
    "mode": "dismissible",
    "version": 1,
    "worlds": [],
    "delayMs": 1500
  },
  "command": "server-guide",
  "title": "PRZEWODNIK SERWERA",
  "intro": "Witaj! Zaznacz Nie pokazuj ponownie, aby ukryć tę stronę przy kolejnych wejściach.",
  "images": [],
  "sections": [
    {
      "title": "PIERWSZE KROKI",
      "text": "Przeczytaj nasze zasady i dowiedz się, jak się poruszać.",
      "images": []
    }
  ],
  "buttons": []
}

pages/pl-PL/server-guide.json

Wynik wizualnyPodgląd schematyczny
MENUINFOPAGES · SCHEMAT×

PRZEWODNIK SERWERA

Witaj! Zaznacz Nie pokazuj ponownie, aby ukryć tę stronę przy kolejnych wejściach.

PIERWSZE KROKI

Przeczytaj nasze zasady i dowiedz się, jak się poruszać.

Skonfiguruj autoOpen w wersji tej strony dla języka zapasowego. Nie włączaj nakładających się stron AutoOpen dla tego samego świata: jeśli pasuje kilka stron, żadna nie otworzy się automatycznie.

10JSON konfiguracji

Włącz dołączone samouczki

Wybieraj ładowane języki niezależnie od języków, dla których generowane są strony demonstracyjne.

Konfiguracja JSON
{
  "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

Wynik wizualnyPodgląd schematyczny

Ustawienia języka

en-USZaładowany · Demo ON
it-ITZaładowany · Demo OFF
de-DEZaładowany · Demo OFF

Język klienta wybiera tłumaczenie strony; brakujące tłumaczenia używają skonfigurowanego języka zapasowego.

Edycja Full zawiera 25 folderów językowych. Zarówno enabled, jak i demo muszą mieć wartość true, aby wygenerować strony samouczka danego języka. Ustaw demo: false, gdy nie są już potrzebne.

ROZDZIAŁ 03 · 4 PRZYKŁADY

O-Key & HUD

Twórz skróty szybkiego dostępu, ustawiaj ich wskaźniki i konfiguruj zachowanie dla poszczególnych światów.

01JSON konfiguracji

Globalny skrót O-Key

Ustaw domyślną komendę, uprawnienia i wskaźnik HUD dla każdego świata.

Konfiguracja JSON
{
  "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

Wynik wizualnyPodgląd schematyczny

O-Key · przykładowy HUD

O

Reprezentacja ekranu gry

Pozycja HUD: right:-8, top:245. Komendy i zachowanie są konfigurowane w config.json.

Edytuj istniejący obiekt O-Key zamiast zastępować cały config.json. Wartość default obrazu HUD odnosi się do dołączonej ikony.

02JSON konfiguracji

Wyśrodkuj HUD O-Key

Użyj center niezależnie na dowolnej osi, a drugą oś dostosuj od krawędzi.

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

config.json — O-Key.AllWorlds.Hud

Wynik wizualnyPodgląd schematyczny

O-Key · przykładowy HUD

O

Reprezentacja ekranu gry

Pozycja HUD: center, top:190. Komendy i zachowanie są konfigurowane w config.json.

Ten przykład jest częściowym obiektem Hud; połącz te wartości z istniejącymi ustawieniami O-Key.AllWorlds.Hud.

03JSON konfiguracji

Nadpisania dla światów i instancji

Nadaj wybranym światom inny skrót, również generowanym instancjom z końcowym wildcardem.

Konfiguracja JSON
{
  "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

Wynik wizualnyPodgląd schematyczny

O-Key · przykładowy HUD

O

Reprezentacja ekranu gry

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

Obsługiwany jest pojedynczy końcowy * w prefiksie nazwy świata. Dokładne nazwy mają pierwszeństwo przed wzorcami wildcard; w przeciwnym razie wygrywa najdłuższy pasujący prefiks.

04JSON konfiguracji

Niestandardowy obraz O-Key

Użyj własnego PNG o konfigurowalnym rozmiarze i położeniu.

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

config.json — O-Key.AllWorlds.Hud

Wynik wizualnyPodgląd schematyczny

O-Key · przykładowy HUD

O

Reprezentacja ekranu gry

Pozycja HUD: right:-5, top:138. Komendy i zachowanie są konfigurowane w config.json.

Umieść okey-survival.png w mods/MenuInfoPages/images/. Dopasuj Width/Height do proporcji PNG, np. 600×400 renderowane jako 300×200.

ROZDZIAŁ 04 · 2 PRZYKŁADY

ItemCommands

Twórz przedmioty z oddzielnymi komendami dla lewego i prawego kliknięcia.

01JSON konfiguracji

Włącz przedmiot demonstracyjny

Dołączony przykład zapewnia interaktywny przedmiot źródłowy z oddzielnymi akcjami dla lewego i prawego kliknięcia.

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

config.json — itemCommands object

Wynik wizualnyPodgląd schematyczny

ItemCommands · mapa interakcji

Strony Demo

Lewy klik/menuinfopages
Prawy klik/menuinfopages

To rzeczywisty ID przedmiotu źródłowego użytego w dołączonym przykładzie. W przeciwieństwie do zmian stron, strukturalne zmiany przedmiotów mogą wymagać restartu serwera.

02JSON konfiguracji

Oddzielne komendy lewa i prawa

Użyj istniejącego przedmiotu Hytale lub zainstalowanego moda jako źródła nowego interaktywnego skrótu.

Konfiguracja JSON
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "server-shortcuts",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Skróty serwera",
        "quality": "",
        "leftClickCommand": "welcome",
        "rightClickCommand": "spawn"
      }
    ]
  }
}

config.json — itemCommands object

Wynik wizualnyPodgląd schematyczny

ItemCommands · mapa interakcji

Skróty serwera

Lewy klik/welcome
Prawy klik/spawn

Zastąp sourceItem prawdziwym ID przedmiotu zainstalowanego na serwerze i wybierz istniejące komendy dostępne dla graczy. ItemCommands jest niezależne od JSON stron.

Przed użyciem przykładu

Kompletne przykłady stron: Umieść każdy obiekt JSON w osobnym pliku w mods/MenuInfoPages/pages/pl-PL/. Zachowaj osobną komendę dla każdej strony i w razie potrzeby tłumacz odpowiadające pliki w innych folderach językowych.

Przykłady konfiguracji: Obiekty O-Key i ItemCommands są fragmentami istniejącego config.json. Wstaw pokazane właściwości we właściwe miejsce; nigdy nie zastępuj całego pliku konfiguracyjnego małym przykładem.

Bezpieczna konfiguracja: Umieszczaj wskazane pliki PNG w oczekiwanym folderze obrazów. Dla lepszej wydajności zaleca się, ale nie wymaga, aby pojedyncze obrazy miały mniej niż 2 MB; większe pliki mogą wymagać więcej czasu i pamięci podczas ładowania. Komendy demo, cele nawigacji, węzły uprawnień i zewnętrzne URL-e są przykładami zasobów, które zapewniasz. Unikaj wykonywania uprzywilejowanych komend dla niezaufanych graczy.

Bieżący schemat: Ten przewodnik opisuje istniejący system sections, leftContent i rightContent; potencjalny przyszły zunifikowany model content/cells nie jest przedstawiony jako już dostępna funkcja.

WRÓĆ NA GÓRĘ