Repository navigation
Rewards Management RU
При первом запуске игры в папке "./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".