HyTari Studios · Офіційний візуальний посібник

Menu Info Pages

Вивчайте JSON, одразу бачачи результат.

Практичний візуальний довідник із налаштування MenuInfoPages. Почніть із центрального вікна, побудуйте навігацію на бічних панелях, а потім налаштуйте ярлики O-Key та інтерактивні предмети. Кожен приклад містить JSON для копіювання та спрощене представлення результату.

Спочатку прочитайте це

Початок роботи

КРОК 01

Увімкніть навчальні сторінки

У config.json встановіть languages.uk-UA.enabled і demo у true. Пакет Full містить навчальні сторінки 25 мовами.

КРОК 02

Створіть сторінку

Використайте /infopages newpage <name> <command> або створіть JSON-файл у mods/MenuInfoPages/pages/uk-UA/.

КРОК 03

Перезавантаження і перевірка

Після змін у вмісті чи зображеннях виконайте /infopages reload. Нова команда гравця або структурна зміна ItemCommands може вимагати перезапуску.

Ці приклади базуються на JSON-конфігурації та навчальних файлах поточної редакції Full. Попередні перегляди є навчальними схемами, а не скриншотами чи нативним рендером інтерфейсу Hytale. Замініть прикладні команди, цілі та назви PNG ресурсами, доступними на вашому сервері. Зберігайте резервні копії наявних файлів.

РОЗДІЛ 01 · 10 ПРИКЛАДИ

Центральний інтерфейс

Почніть із самої сторінки: текст, секції, зображення, кнопки, дозволи й AutoOpen.

01JSON сторінки

Ваша перша сторінка

Один JSON-файл створює сторінку з власною командою, заголовком і вступом.

Конфігурація JSON
{
  "command": "welcome",
  "title": "ЛАСКАВО ПРОСИМО НА НАШ СЕРВЕР",
  "intro": "Привіт, {player}! Тут є все необхідне для початку.",
  "images": [],
  "sections": [
    {
      "title": "ПЕРШІ КРОКИ",
      "text": "Прочитайте правила, знайдіть місце для будівництва й насолоджуйтеся пригодою!",
      "images": []
    }
  ],
  "buttons": [],
  "footer": "Приємної гри!"
}

pages/uk-UA/welcome.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

ЛАСКАВО ПРОСИМО НА НАШ СЕРВЕР

Привіт, Alex! Тут є все необхідне для початку.

ПЕРШІ КРОКИ

Прочитайте правила, знайдіть місце для будівництва й насолоджуйтеся пригодою!

Приємної гри!

Назва файлу може відрізнятися від команди. Нові команди гравця після створення можуть вимагати перезапуску сервера.

02JSON сторінки

Форматований текст і плейсхолдери

Форматуйте текст і вставляйте динамічні дані гравця та сервера.

Конфігурація JSON
{
  "command": "player-info",
  "title": "ІНФОРМАЦІЯ ПРО ГРАВЦЯ",
  "intro": "{center}{#54DAF4}{b}З поверненням, {player}!{/}{/}",
  "images": [],
  "sections": [
    {
      "title": "{#F894FF}{b}ВАШІ ДАНІ{/}{/}",
      "text": "{b}Гравець:{/} {player}\n{b}Світ:{/} {world}\n{b}Онлайн:{/} {online}/{max_players}\n{m}Корисна інформація про сервер{/}",
      "images": []
    }
  ],
  "buttons": []
}

pages/uk-UA/player-info.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

ІНФОРМАЦІЯ ПРО ГРАВЦЯ

З поверненням, Alex!{/}{/}

ВАШІ ДАНІ{/}{/}

Гравець:{/} Alex Світ:{/} Survival Онлайн:{/} 12/256 Корисна інформація про сервер{/}

Форматований текст рендериться Hytale. Схематичний перегляд прибирає токени форматування замість відтворення нативного рендера шрифтів.

03JSON сторінки

Кольори фону секцій

Поєднуйте стандартні, прозорі та пофарбовані HEX-кольором секції в одному меню.

Конфігурація JSON
{
  "command": "colors",
  "title": "ВЛАСНІ СЕКЦІЇ",
  "intro": "Оберіть оформлення для кожної області вмісту.",
  "images": [],
  "sections": [
    {
      "title": "ЗА ЗАМОВЧУВАННЯМ",
      "text": "Стандартне оформлення секції.",
      "backgroundColor": "default",
      "images": []
    },
    {
      "title": "ПРОЗОРИЙ",
      "text": "Фонова панель прибирається.",
      "backgroundColor": "none",
      "images": []
    },
    {
      "title": "ВЛАСНИЙ HEX",
      "text": "Власний колір секції.",
      "backgroundColor": "#243D59",
      "images": []
    }
  ],
  "buttons": []
}

pages/uk-UA/colors.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

ВЛАСНІ СЕКЦІЇ

Оберіть оформлення для кожної області вмісту.

ЗА ЗАМОВЧУВАННЯМ

Стандартне оформлення секції.

ПРОЗОРИЙ

Фонова панель прибирається.

ВЛАСНИЙ HEX

Власний колір секції.

Використовуйте backgroundColor для окремої секції, а не для всієї сторінки.

04JSON сторінки

Фіксований вступ і зображення заголовка

Вступ і до шести зображень залишаються над прокручуваними секціями.

Конфігурація JSON
{
  "command": "header",
  "title": "НАША СПІЛЬНОТА",
  "intro": "{center}Досліджуйте сервер та його можливості.",
  "images": [
    {
      "image": "server-logo.png"
    },
    {
      "image": "welcome-banner.png"
    }
  ],
  "sections": [
    {
      "title": "ПРОКРУЧУВАНИЙ ВМІСТ",
      "text": "Ця секція прокручується, а вступ і зображення заголовка залишаються видимими.",
      "images": []
    }
  ],
  "buttons": []
}

pages/uk-UA/header.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

НАША СПІЛЬНОТА

Досліджуйте сервер та його можливості.

server-logo.png
welcome-banner.png
ПРОКРУЧУВАНИЙ ВМІСТ

Ця секція прокручується, а вступ і зображення заголовка залишаються видимими.

Перед відкриттям сторінки помістіть server-logo.png і welcome-banner.png у mods/MenuInfoPages/images/. Використовуйте PNG; для швидшого завантаження рекомендується тримати кожен файл менше 2 МБ, але це не обов’язково.

05JSON сторінки

Кілька зображень у секції

Розмістіть до шести зображень у секції. Вони розподіляються по однакових горизонтальних комірках.

Конфігурація JSON
{
  "command": "places",
  "title": "МІСЦЯ ДЛЯ ВІДВІДУВАННЯ",
  "intro": "Оберіть напрямок.",
  "images": [],
  "sections": [
    {
      "title": "НАПРЯМКИ",
      "text": "Оберіть, куди хочете вирушити.",
      "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/uk-UA/places.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

МІСЦЯ ДЛЯ ВІДВІДУВАННЯ

Оберіть напрямок.

НАПРЯМКИ

Оберіть, куди хочете вирушити.

spawn.png
market.png
website.png

Кожна назва файлу відповідає PNG, який ви розміщуєте в mods/MenuInfoPages/images/.

06JSON сторінки

Кнопки всередині секції

Додайте секції власні інтерактивні дії primary, secondary та danger.

Конфігурація JSON
{
  "command": "section-actions",
  "title": "КОРИСНІ КОМАНДИ",
  "intro": "Різні стилі кнопок допомагають швидко розпізнавати дії.",
  "images": [],
  "sections": [
    {
      "title": "НАВІГАЦІЯ",
      "text": "Секція може містити текст, зображення та кнопки.",
      "images": [],
      "buttons": [
        {
          "text": "СПАВН",
          "command": "spawn",
          "runAs": "player",
          "close": true,
          "delayMs": 250,
          "style": "primary"
        },
        {
          "text": "ПРАВИЛА СЕРВЕРА",
          "page": "rules",
          "style": "secondary"
        },
        {
          "text": "ПРИКЛАД DANGER",
          "style": "danger"
        }
      ]
    }
  ],
  "buttons": []
}

pages/uk-UA/section-actions.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

КОРИСНІ КОМАНДИ

Різні стилі кнопок допомагають швидко розпізнавати дії.

НАВІГАЦІЯ

Секція може містити текст, зображення та кнопки.

СПАВН
ПРАВИЛА СЕРВЕРА
ПРИКЛАД DANGER

Використовуйте page, щоб безпосередньо відкрити іншу сторінку MenuInfoPages. Використовуйте command для виконання команд; runAs: console слід застосовувати лише для довірених дій.

07JSON сторінки

Нижня панель дій

Розмістіть до шести дій унизу, окремо від прокручуваних секцій.

Конфігурація JSON
{
  "command": "shortcuts",
  "title": "ШВИДКІ ДІЇ",
  "intro": "Поширені ярлики в одному місці.",
  "images": [],
  "sections": [
    {
      "title": "ДОПОМОГА",
      "text": "Оберіть дію нижче.",
      "images": []
    }
  ],
  "buttons": [
    {
      "text": "ПРАВИЛА",
      "page": "rules",
      "style": "primary"
    },
    {
      "text": "СПАВН",
      "command": "spawn",
      "runAs": "player",
      "close": true,
      "delayMs": 250,
      "style": "secondary"
    },
    {
      "text": "САЙТ",
      "command": "https://example.org",
      "style": "secondary"
    }
  ]
}

pages/uk-UA/shortcuts.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

ШВИДКІ ДІЇ

Поширені ярлики в одному місці.

ДОПОМОГА

Оберіть дію нижче.

ПРАВИЛА
СПАВН
САЙТ

Цілі на кшталт rules або warp market мають існувати на вашому сервері. Ціль page — це внутрішня команда сторінки MenuInfoPages.

08JSON сторінки

Дозволи сторінки

Додайте необов’язковий вузол дозволу, щоб обмежити сторінку авторизованими користувачами.

Конфігурація JSON
{
  "command": "staff-info",
  "permission": "server.staff",
  "title": "ІНФОРМАЦІЯ ДЛЯ ПЕРСОНАЛУ",
  "intro": "Закрита інформація для авторизованих гравців.",
  "images": [],
  "sections": [
    {
      "title": "НОТАТКИ ПЕРСОНАЛУ",
      "text": "Відкривати цю сторінку можуть лише гравці з дозволом server.staff.",
      "images": []
    }
  ],
  "buttons": []
}

pages/uk-UA/staff-info.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

ІНФОРМАЦІЯ ДЛЯ ПЕРСОНАЛУ

Закрита інформація для авторизованих гравців.

НОТАТКИ ПЕРСОНАЛУ

Відкривати цю сторінку можуть лише гравці з дозволом server.staff.

Вузол дозволу наведено як приклад. Надайте його через систему дозволів вашого сервера. AutoOpen також враховує дозволи сторінки.

09JSON сторінки

Автоматичне відкриття при вході

Показуйте сторінку привітання один раз, завжди або доки гравець її не вимкне.

Конфігурація JSON
{
  "autoOpen": {
    "enabled": true,
    "mode": "dismissible",
    "version": 1,
    "worlds": [],
    "delayMs": 1500
  },
  "command": "server-guide",
  "title": "ПОСІБНИК СЕРВЕРА",
  "intro": "Ласкаво просимо! Позначте «Більше не показувати», щоб приховати цю сторінку під час наступних входів.",
  "images": [],
  "sections": [
    {
      "title": "ПЕРШІ КРОКИ",
      "text": "Прочитайте наші правила та дізнайтеся, як орієнтуватися.",
      "images": []
    }
  ],
  "buttons": []
}

pages/uk-UA/server-guide.json

Візуальний результатСхематичний перегляд
MENUINFOPAGES · СХЕМА×

ПОСІБНИК СЕРВЕРА

Ласкаво просимо! Позначте «Більше не показувати», щоб приховати цю сторінку під час наступних входів.

ПЕРШІ КРОКИ

Прочитайте наші правила та дізнайтеся, як орієнтуватися.

Налаштуйте autoOpen у версії цієї сторінки резервною мовою. Не вмикайте кілька AutoOpen-сторінок, що перетинаються для одного світу: якщо збігається кілька сторінок, жодна не відкриється автоматично.

10JSON конфігурації

Увімкніть вбудовані навчальні сторінки

Обирайте завантажувані мови незалежно від мов, для яких створюються демонстраційні сторінки.

Конфігурація 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

Візуальний результатСхематичний перегляд

Налаштування мови

en-USЗавантажено · Demo ON
it-ITЗавантажено · Demo OFF
de-DEЗавантажено · Demo OFF

Мова клієнта вибирає переклад сторінки; за відсутності перекладу використовується налаштована резервна мова.

Редакція Full містить 25 мовних папок. Для створення навчальних сторінок певної мови і enabled, і demo мають бути true. Встановіть demo: false, коли вони більше не потрібні.

РОЗДІЛ 03 · 4 ПРИКЛАДИ

O-Key & HUD

Створіть швидкі ярлики, розташуйте їхні індикатори та налаштуйте поведінку для окремих світів.

01JSON конфігурації

Глобальний ярлик O-Key

Задайте стандартну команду, дозволи та індикатор HUD для кожного світу.

Конфігурація 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

Візуальний результатСхематичний перегляд

O-Key · приклад HUD

O

Представлення ігрового екрана

Позиція HUD: right:-8, top:245. Команди й поведінка налаштовуються в config.json.

Редагуйте наявний об’єкт O-Key замість заміни всього config.json. Значення default для зображення HUD посилається на вбудовану іконку.

02JSON конфігурації

Центрування HUD O-Key

Використовуйте center незалежно на будь-якій осі, а іншу вісь налаштовуйте від краю.

Конфігурація JSON
{
  "Hud": {
    "Enabled": true,
    "Image": "default",
    "Width": 112,
    "Height": 112,
    "Horizontal": "center",
    "Vertical": "top:190"
  }
}

config.json — O-Key.AllWorlds.Hud

Візуальний результатСхематичний перегляд

O-Key · приклад HUD

O

Представлення ігрового екрана

Позиція HUD: center, top:190. Команди й поведінка налаштовуються в config.json.

Цей приклад є частковим об’єктом Hud; додайте ці значення до наявних налаштувань O-Key.AllWorlds.Hud.

03JSON конфігурації

Перевизначення для світів та інстансів

Призначайте окремим світам інший ярлик, включно зі згенерованими інстансами із завершальним wildcard.

Конфігурація 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

Візуальний результатСхематичний перегляд

O-Key · приклад HUD

O

Представлення ігрового екрана

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

Підтримується один завершальний * у префіксі назви світу. Точні назви мають пріоритет над wildcard-шаблонами; інакше перемагає найдовший відповідний префікс.

04JSON конфігурації

Власне зображення O-Key

Використовуйте власний PNG із налаштовуваними розміром і положенням.

Конфігурація JSON
{
  "Hud": {
    "Enabled": true,
    "Image": "okey-survival.png",
    "Width": 300,
    "Height": 200,
    "Horizontal": "right:-5",
    "Vertical": "top:138"
  }
}

config.json — O-Key.AllWorlds.Hud

Візуальний результатСхематичний перегляд

O-Key · приклад HUD

O

Представлення ігрового екрана

Позиція HUD: right:-5, top:138. Команди й поведінка налаштовуються в config.json.

Помістіть okey-survival.png у mods/MenuInfoPages/images/. Підберіть Width/Height відповідно до співвідношення сторін PNG, наприклад 600×400 при відображенні 300×200.

РОЗДІЛ 04 · 2 ПРИКЛАДИ

ItemCommands

Створюйте предмети з окремими командами для лівого та правого кліку.

01JSON конфігурації

Увімкніть демонстраційний предмет

Вбудований приклад надає інтерактивний вихідний предмет з окремими діями для лівого та правого кліку.

Конфігурація JSON
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "demo",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Демо-сторінки",
        "quality": "",
        "leftClickCommand": "menuinfopages",
        "rightClickCommand": "menuinfopages"
      }
    ]
  }
}

config.json — itemCommands object

Візуальний результатСхематичний перегляд

ItemCommands · схема взаємодій

Демо-сторінки

Лівий клік/menuinfopages
Правий клік/menuinfopages

Це реальний ID вихідного предмета вбудованого прикладу. На відміну від змін сторінок, структурні зміни предметів можуть вимагати перезапуску сервера.

02JSON конфігурації

Окремі команди для лівого та правого кліку

Використовуйте наявний предмет Hytale або встановленого мода як джерело нового інтерактивного ярлика.

Конфігурація JSON
{
  "itemCommands": {
    "enabled": true,
    "items": [
      {
        "id": "server-shortcuts",
        "sourceItem": "MenuInfoPages_Demo_Grimoire_Source",
        "name": "Ярлики сервера",
        "quality": "",
        "leftClickCommand": "welcome",
        "rightClickCommand": "spawn"
      }
    ]
  }
}

config.json — itemCommands object

Візуальний результатСхематичний перегляд

ItemCommands · схема взаємодій

Ярлики сервера

Лівий клік/welcome
Правий клік/spawn

Замініть sourceItem на реальний ID предмета, встановленого на сервері, і виберіть наявні команди, доступні гравцям. ItemCommands не залежить від JSON сторінок.

Перед використанням прикладу

Повні приклади сторінок: Розміщуйте кожен JSON-об’єкт в окремому файлі в mods/MenuInfoPages/pages/uk-UA/. Зберігайте унікальну команду для кожної сторінки та за потреби перекладайте відповідні файли в інших мовних папках.

Приклади конфігурації: Об’єкти O-Key та ItemCommands є фрагментами вашого наявного config.json. Додайте показані властивості у правильне місце; ніколи не замінюйте весь файл конфігурації невеликим прикладом.

Безпечне налаштування: Розміщуйте згадані PNG у потрібній папці зображень. Для кращої продуктивності рекомендується, але не обов’язково, тримати кожне зображення менше 2 МБ; більші файли можуть потребувати більше часу й пам’яті для завантаження. Демо-команди, цілі навігації, вузли дозволів і зовнішні URL є прикладами для ваших ресурсів. Не виконуйте привілейовані команди від імені ненадійних гравців.

Поточна схема: Цей посібник описує поточну систему sections, leftContent і rightContent; можливу майбутню єдину модель content/cells не показано як уже доступну функцію.

НАГОРУ