Skip to content

Rewards Management RU

AustereTony edited this page Jun 16, 2020 · 11 revisions

Управление Наградами

При первом запуске игры в папке "./minecraft/config/oxygen/data/server/daily rewards/" будут сгенерированы файлы для настройки наград для каждого месяца. По умолчанию в качестве награды за каждый день используется изумруд.

Структура файла:

Файл с данными наград представляет собой массив json объектов. Количество объектов зависит от длинны месяца, для февраля их 29. Порядок наград определяется индексом объекта в массиве (поле "day" не учитывается, оно создано для удобства).

Свойства объекта награды:

  • "day" (integer) - день месяца за который будет выдаваться награда

  • "type" (string) - тип награды

Доступны: "ITEM", "CURRENCY" и "COMMANDS".

  • "description" (string) - подпись под иконкой награды

Подпись создана для краткого описания награды ("предмет" или "валюта") для простоты восприятия. В качестве подписи может использоваться конкретное значение ("Item") или ключ локализации ("oxygen_dailyrewards.description.item").

  • "amount" (long) - количество/сумма награды (не используется для награды типа "COMMAND")

  • "special" (boolean) - флаг "уникальной" награды

Флаг может использоваться для демонстрации ценности награды (если "true", то в правом верхнем углу виджета награды будет отображаться звезда).

  • "itemstack" (json object)(только для наград типа "ITEM") - json объект содержащий данные предмета

Данные любого предмета могут быть получены в игре с помощью команды "/oxygenc core -item -to-json {название файла (в одно слово, без .json)}". Файл будет создан в папке ".minecraft/config/oxygen/data/client/core/itemstack/".

  • "currency_index" (integer)(только для наград типа "CURRENCY") - индекс валюты

  • "tooltip" (string) (только для наград типа "COMMAND") - текст, который будет отображаться при наведении на иконку награды

  • "icon" (string) (только для наград типа "COMMAND") - имя файла (с ".png") с изображением, которые будет использоваться в качестве иконки награды

Ширина изображения должна быть кратна 48 пикселям (малый виджет) или 96 пикселям (большой виджет). Чем выше разрешение, тем лучше качество. Изображения должны находится в папке ".minecraft/config/oxygen/data/server/daily rewards/icons/". Текстуры могут быть расположены во вложенных папках, тогда название дополнительно должно содержать каталог (прим. "june/reward_7.png"). При отсутствии файла будет использована стандартная текстура "MISSING_TEXTURE".

  • "commands" (string) (только для наград типа "COMMAND") - команды для консоли

Команды должны начинаться со слэша "/" и быть разделены точкой с запятой ";". Указатели: "@p" - ник игрока, "@pX" - координата игрока по X, "@pY" - координата игрока по Y, "@pZ" - координата игрока по Z, "@dim" - идентификатор измерения (целое число).

Для работы некоторых команд требуется включить командные блоки

  • "script" (string) (только для наград типа "SCRIPT") - название скрипта

Скрипт должен быть расположен в папке ".minecraft/config/oxygen/data/server/daily rewards/". Скрипты могут быть расположены во вложенных папках, тогда название дополнительно должно содержать каталог (прим. "misc/misc_1.ts"). Скрипт должен возвращать boolean значение "true" при успешном выполнении для успешного завершения операции выдачи награды.

Примечание: Поддержка скриптов обеспечивается аддонами Scripting Adapter (WIP), однако Core имеет встроенный адаптер для ECMAScript (TypeScript, JavaScript) и для его активации нужно установить значение "enable_ecmascript_adapter: true" в конфиге "core.json".

Clone this wiki locally