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».
