HyTari Studios · Ghid vizual oficial

Menu Info Pages

Învață JSON văzând rezultatul.

O referință vizuală practică pentru configurarea MenuInfoPages. Începe cu fereastra centrală, construiește navigarea în barele laterale, apoi personalizează scurtăturile O-Key și obiectele interactive. Fiecare exemplu include JSON copiabil și o reprezentare simplificată a rezultatului.

Citește mai întâi

Primii pași

PAS 01

Activează tutorialele

În config.json, setează languages.ro-RO.enabled și demo la true. Pachetul Full include tutoriale în 25 de limbi.

PAS 02

Creează o pagină

Folosește /infopages newpage <name> <command> sau creează un fișier JSON în mods/MenuInfoPages/pages/ro-RO/.

PAS 03

Reîncarcă și testează

Rulează /infopages reload după modificări de conținut sau imagini. O comandă nouă pentru jucători sau o modificare structurală ItemCommands poate necesita o repornire.

Aceste exemple se bazează pe configurația JSON și fișierele tutorial incluse în ediția Full actuală. Previzualizările sunt diagrame educaționale, nu capturi de ecran și nici redare nativă a interfeței Hytale. Înlocuiește comenzile, țintele și numele PNG din exemple cu resurse disponibile pe serverul tău. Păstrează copii de siguranță ale fișierelor existente.

CAPITOL 01 · 10 EXEMPLE

GUI central

Începe cu pagina în sine: text, secțiuni, imagini, butoane, permisiuni și AutoOpen.

01JSON pagină

Prima ta pagină

Un fișier JSON creează o pagină cu propria comandă, propriul titlu și propria introducere.

Configurare JSON
{
  "command": "welcome",
  "title": "BINE AI VENIT PE SERVERUL NOSTRU",
  "intro": "Salut, {player}! Aici găsești tot ce îți trebuie pentru a începe.",
  "images": [],
  "sections": [
    {
      "title": "PRIMII PAȘI",
      "text": "Citește regulile, găsește un loc unde să construiești și bucură-te de aventură!",
      "images": []
    }
  ],
  "buttons": [],
  "footer": "Distracție plăcută!"
}

pages/ro-RO/welcome.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

BINE AI VENIT PE SERVERUL NOSTRU

Salut, Alex! Aici găsești tot ce îți trebuie pentru a începe.

PRIMII PAȘI

Citește regulile, găsește un loc unde să construiești și bucură-te de aventură!

Distracție plăcută!

Numele fișierului poate fi diferit de comandă. Comenzile noi pentru jucători pot necesita o repornire a serverului după creare.

02JSON pagină

Text formatat și placeholder-e

Formatează textul și inserează informații dinamice despre jucător și server.

Configurare JSON
{
  "command": "player-info",
  "title": "INFORMAȚII JUCĂTOR",
  "intro": "{center}{#54DAF4}{b}Bine ai revenit, {player}!{/}{/}",
  "images": [],
  "sections": [
    {
      "title": "{#F894FF}{b}DATELE TALE{/}{/}",
      "text": "{b}Jucător:{/} {player}\n{b}Lume:{/} {world}\n{b}Online:{/} {online}/{max_players}\n{m}Informații utile despre server{/}",
      "images": []
    }
  ],
  "buttons": []
}

pages/ro-RO/player-info.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

INFORMAȚII JUCĂTOR

Bine ai revenit, Alex!{/}{/}

DATELE TALE{/}{/}

Jucător:{/} Alex Lume:{/} Survival Online:{/} 12/256 Informații utile despre server{/}

Textul formatat este randat de Hytale. Previzualizarea schematică elimină tokenurile de formatare în loc să reproducă rendererul nativ de fonturi.

03JSON pagină

Culorile de fundal ale secțiunilor

Combină secțiuni standard, transparente și colorate HEX în același meniu.

Configurare JSON
{
  "command": "colors",
  "title": "SECȚIUNI PERSONALIZATE",
  "intro": "Alege un stil vizual pentru fiecare zonă de conținut.",
  "images": [],
  "sections": [
    {
      "title": "IMPLICIT",
      "text": "Stil nativ al secțiunii.",
      "backgroundColor": "default",
      "images": []
    },
    {
      "title": "TRANSPARENT",
      "text": "Panoul de fundal este eliminat.",
      "backgroundColor": "none",
      "images": []
    },
    {
      "title": "HEX PERSONALIZAT",
      "text": "O culoare personalizată pentru secțiune.",
      "backgroundColor": "#243D59",
      "images": []
    }
  ],
  "buttons": []
}

pages/ro-RO/colors.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

SECȚIUNI PERSONALIZATE

Alege un stil vizual pentru fiecare zonă de conținut.

IMPLICIT

Stil nativ al secțiunii.

TRANSPARENT

Panoul de fundal este eliminat.

HEX PERSONALIZAT

O culoare personalizată pentru secțiune.

Folosește backgroundColor pe secțiunea individuală, nu pe întreaga pagină.

04JSON pagină

Introducere și imagini de antet fixe

O introducere și până la șase imagini rămân deasupra secțiunilor derulabile.

Configurare JSON
{
  "command": "header",
  "title": "COMUNITATEA NOASTRĂ",
  "intro": "{center}Explorează serverul și funcțiile sale.",
  "images": [
    {
      "image": "server-logo.png"
    },
    {
      "image": "welcome-banner.png"
    }
  ],
  "sections": [
    {
      "title": "CONȚINUT DERULABIL",
      "text": "Această secțiune se derulează în timp ce introducerea și imaginile de antet rămân vizibile.",
      "images": []
    }
  ],
  "buttons": []
}

pages/ro-RO/header.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

COMUNITATEA NOASTRĂ

Explorează serverul și funcțiile sale.

server-logo.png
welcome-banner.png
CONȚINUT DERULABIL

Această secțiune se derulează în timp ce introducerea și imaginile de antet rămân vizibile.

Pune server-logo.png și welcome-banner.png în mods/MenuInfoPages/images/ înainte de a deschide pagina. Folosește PNG; este recomandat pentru încărcare mai rapidă ca fiecare fișier să rămână sub 2 MB, dar nu este obligatoriu.

05JSON pagină

Mai multe imagini într-o secțiune

Pune până la șase imagini într-o secțiune. Sunt distribuite în celule orizontale egale.

Configurare JSON
{
  "command": "places",
  "title": "LOCURI DE VIZITAT",
  "intro": "Alege o destinație.",
  "images": [],
  "sections": [
    {
      "title": "DESTINAȚII",
      "text": "Alege unde vrei să mergi.",
      "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/ro-RO/places.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

LOCURI DE VIZITAT

Alege o destinație.

DESTINAȚII

Alege unde vrei să mergi.

spawn.png
market.png
website.png

Fiecare nume de fișier reprezintă un PNG pe care îl pui în mods/MenuInfoPages/images/.

06JSON pagină

Butoane într-o secțiune

Oferă unei secțiuni propriile acțiuni interactive primary, secondary și danger.

Configurare JSON
{
  "command": "section-actions",
  "title": "COMENZI UTILE",
  "intro": "Stilurile diferite ale butoanelor fac acțiunile ușor de identificat.",
  "images": [],
  "sections": [
    {
      "title": "NAVIGARE",
      "text": "O secțiune poate conține text, imagini și butoane.",
      "images": [],
      "buttons": [
        {
          "text": "SPAWN",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 250,
          "style": "primary"
        },
        {
          "text": "REGULILE SERVERULUI",
          "page": "rules",
          "style": "secondary"
        },
        {
          "text": "EXEMPLU DANGER",
          "style": "danger"
        }
      ]
    }
  ],
  "buttons": []
}

pages/ro-RO/section-actions.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

COMENZI UTILE

Stilurile diferite ale butoanelor fac acțiunile ușor de identificat.

NAVIGARE

O secțiune poate conține text, imagini și butoane.

SPAWN
REGULILE SERVERULUI
EXEMPLU DANGER

Folosește page pentru a deschide direct o altă pagină MenuInfoPages. Folosește command pentru a executa comenzi; runAs: console trebuie folosit doar pentru acțiuni de încredere.

07JSON pagină

Bară de acțiuni inferioară

Pune până la șase acțiuni în partea de jos, separat de secțiunile derulabile.

Configurare JSON
{
  "command": "shortcuts",
  "title": "ACȚIUNI RAPIDE",
  "intro": "Scurtături comune într-un singur loc.",
  "images": [],
  "sections": [
    {
      "title": "AJUTOR",
      "text": "Alege o acțiune mai jos.",
      "images": []
    }
  ],
  "buttons": [
    {
      "text": "REGULI",
      "page": "rules",
      "style": "primary"
    },
    {
      "text": "SPAWN",
      "command": "spawn",
      "runAs": "player",
      "close": true,
      "delayMs": 250,
      "style": "secondary"
    },
    {
      "text": "SITE WEB",
      "command": "https://example.org",
      "style": "secondary"
    }
  ]
}

pages/ro-RO/shortcuts.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

ACȚIUNI RAPIDE

Scurtături comune într-un singur loc.

AJUTOR

Alege o acțiune mai jos.

REGULI
SPAWN
SITE WEB

Ținte precum rules sau warp market trebuie să existe pe server. O țintă page este comanda internă a unei pagini MenuInfoPages.

08JSON pagină

Permisiuni de pagină

Adaugă un nod de permisiune opțional pentru a limita pagina la utilizatori autorizați.

Configurare JSON
{
  "command": "staff-info",
  "permission": "server.staff",
  "title": "INFORMAȚII STAFF",
  "intro": "Informații restricționate pentru jucători autorizați.",
  "images": [],
  "sections": [
    {
      "title": "NOTE STAFF",
      "text": "Doar jucătorii cu permisiunea server.staff pot deschide această pagină.",
      "images": []
    }
  ],
  "buttons": []
}

pages/ro-RO/staff-info.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

INFORMAȚII STAFF

Informații restricționate pentru jucători autorizați.

NOTE STAFF

Doar jucătorii cu permisiunea server.staff pot deschide această pagină.

Nodul de permisiune este un exemplu. Acordă-l prin sistemul de permisiuni al serverului. AutoOpen respectă și el permisiunile paginii.

09JSON pagină

Deschidere automată la conectare

Afișează pagina de bun venit o dată, mereu sau până când jucătorul o dezactivează.

Configurare JSON
{
  "autoOpen": {
    "enabled": true,
    "mode": "dismissible",
    "version": 1,
    "worlds": [],
    "delayMs": 1500
  },
  "command": "server-guide",
  "title": "GHIDUL SERVERULUI",
  "intro": "Bine ai venit! Bifează Nu mai afișa pentru a ascunde această pagină la conectările viitoare.",
  "images": [],
  "sections": [
    {
      "title": "PRIMII PAȘI",
      "text": "Citește regulile și află cum să te orientezi.",
      "images": []
    }
  ],
  "buttons": []
}

pages/ro-RO/server-guide.json

Rezultat vizualPrevizualizare schematică
MENUINFOPAGES · SCHEMĂ×

GHIDUL SERVERULUI

Bine ai venit! Bifează Nu mai afișa pentru a ascunde această pagină la conectările viitoare.

PRIMII PAȘI

Citește regulile și află cum să te orientezi.

Configurează autoOpen pe versiunea acestei pagini în limba de rezervă. Nu activa pagini AutoOpen suprapuse pentru aceeași lume: dacă se potrivesc mai multe pagini, niciuna nu se deschide automat.

10JSON configurare

Activează tutorialele incluse

Alege limbile încărcate independent de limbile pentru care sunt generate pagini demo.

Configurare 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

Rezultat vizualPrevizualizare schematică

Setări de limbă

en-USÎncărcată · Demo ON
it-ITÎncărcată · Demo OFF
de-DEÎncărcată · Demo OFF

Limba clientului selectează traducerea paginii; traducerile lipsă folosesc limba de rezervă configurată.

Ediția Full include 25 de directoare de limbă. enabled și demo trebuie să fie ambele true pentru a genera paginile tutorial ale unei limbi. Setează demo: false când nu mai ai nevoie de ele.

CAPITOL 03 · 4 EXEMPLE

O-Key & HUD

Creează scurtături rapide, poziționează indicatoarele și configurează comportamentul pe fiecare lume.

01JSON configurare

Scurtătură O-Key globală

Setează comanda implicită, permisiunile și indicatorul HUD pentru fiecare lume.

Configurare 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

Rezultat vizualPrevizualizare schematică

O-Key · HUD ilustrativ

O

Reprezentarea ecranului de joc

Poziția HUD: right:-8, top:245. Comenzile și comportamentul sunt configurate în config.json.

Editează obiectul O-Key existent în loc să înlocuiești tot config.json. Valoarea default pentru imaginea HUD se referă la pictograma inclusă.

02JSON configurare

Centrează HUD-ul O-Key

Folosește center independent pe oricare axă; reglează cealaltă axă pornind de la o margine.

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

config.json — O-Key.AllWorlds.Hud

Rezultat vizualPrevizualizare schematică

O-Key · HUD ilustrativ

O

Reprezentarea ecranului de joc

Poziția HUD: center, top:190. Comenzile și comportamentul sunt configurate în config.json.

Acest exemplu este un obiect Hud parțial; integrează aceste valori în setările O-Key.AllWorlds.Hud existente.

03JSON configurare

Override-uri pentru lumi și instanțe

Atribuie o altă scurtătură anumitor lumi, inclusiv instanțelor generate cu un wildcard final.

Configurare 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

Rezultat vizualPrevizualizare schematică

O-Key · HUD ilustrativ

O

Reprezentarea ecranului de joc

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

Este acceptat un singur * final într-un prefix al numelui lumii. Numele exacte au prioritate față de tiparele wildcard; altfel câștigă cel mai lung prefix care se potrivește.

04JSON configurare

Imagine O-Key personalizată

Folosește propriul PNG cu dimensiune și poziție configurabile.

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

config.json — O-Key.AllWorlds.Hud

Rezultat vizualPrevizualizare schematică

O-Key · HUD ilustrativ

O

Reprezentarea ecranului de joc

Poziția HUD: right:-5, top:138. Comenzile și comportamentul sunt configurate în config.json.

Pune okey-survival.png în mods/MenuInfoPages/images/. Potrivește Width/Height cu raportul PNG, de exemplu 600×400 afișat ca 300×200.

CAPITOL 04 · 2 EXEMPLE

ItemCommands

Creează obiecte cu comenzi separate pentru clic stânga și dreapta.

01JSON configurare

Activează un obiect demonstrativ

Exemplul inclus oferă un obiect sursă interactiv cu acțiuni separate pentru clic stânga și dreapta.

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

config.json — itemCommands object

Rezultat vizualPrevizualizare schematică

ItemCommands · hartă de interacțiuni

Pagini Demo

Clic stânga/menuinfopages
Clic dreapta/menuinfopages

Acesta este ID-ul real al obiectului sursă din exemplul inclus. Spre deosebire de modificările paginilor, schimbările structurale ale obiectelor pot necesita repornirea serverului.

02JSON configurare

Comenzi separate stânga și dreapta

Folosește un obiect existent din Hytale sau dintr-un mod instalat ca sursă pentru o nouă scurtătură interactivă.

Configurare JSON
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "server-shortcuts",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Scurtături server",
        "quality": "",
        "leftClickCommand": "welcome",
        "rightClickCommand": "spawn"
      }
    ]
  }
}

config.json — itemCommands object

Rezultat vizualPrevizualizare schematică

ItemCommands · hartă de interacțiuni

Scurtături server

Clic stânga/welcome
Clic dreapta/spawn

Înlocuiește sourceItem cu un ID real al unui obiect instalat pe server și alege comenzi existente la care jucătorii au acces. ItemCommands este independent de JSON-ul paginii.

Înainte de a folosi un exemplu

Exemple complete de pagini: Pune fiecare obiect JSON în propriul fișier în mods/MenuInfoPages/pages/ro-RO/. Păstrează distinctă comanda fiecărei pagini și traduce fișierele corespunzătoare în celelalte directoare de limbă când este necesar.

Exemple de configurare: Obiectele O-Key și ItemCommands sunt fragmente din config.json existent. Integrează proprietățile ilustrate în locul corect; nu înlocui niciodată întregul fișier de configurare cu un exemplu mic.

Configurare sigură: Pune PNG-urile menționate în folderul de imagini așteptat. Pentru performanță mai bună este recomandat, dar nu obligatoriu, ca fiecare imagine să rămână sub 2 MB; fișierele mai mari pot necesita mai mult timp și memorie la încărcare. Comenzile demo, țintele de navigare, nodurile de permisiune și URL-urile externe sunt exemple pentru resursele furnizate de tine. Evită executarea comenzilor privilegiate pentru jucători care nu sunt de încredere.

Schema actuală: Acest ghid documentează sistemul actual sections, leftContent și rightContent; un posibil model unificat content/cells viitor nu este prezentat ca funcție deja disponibilă.

ÎNAPOI SUS