- Исправлено: md setcooldown не сохранял данные и не работал для офлайн-игроков.
- Исправлено: меню редактирования Conditional Function ломалось из-за переполнения хотбара.
- Исправлено: указание сложности подземелья приводило к очистке всех лут-сундуков.
- Исправлено: отложенные и повторяющиеся функции могли срабатывать на игроков, покинувших подземелье.
- Исправлена генерация конфигурации.
- Исправлена проблема, из-за которой глобальный лимит инстансов мог блокировать вход в уже существующий непрерывный инстанс (continuous instance).
feat: добавлены условные функции, переменные игрока и boss bar в редактор подземелий
Три новых строительных блока для создателей подземелий.
Conditional Function (условная функция) позволяет ветвить логику подземелья в зависимости от происходящего: выполняет один набор действий, если условия выполнены, и другой — если нет.
Player Variables (переменные игрока) позволяют хранить значения отдельно для каждого игрока, с опцией сохранения между запусками.
Boss Bar отображает полосу всему отряду с кастомным заголовком и контролируемым значением заполнения.
Примеры:
- Conditional: если группа собрала 3 ключа — открыть хранилище, иначе заспавнить дополнительных стражей.
- Conditional: если у игрока меньше 5 жизней — выдать бафф, иначе ничего не делать.
- Player Variable: индивидуальный счёт игрока, сохраняющийся между забегами.
- Player Variable: запоминание игрока, активировавшего рычаг, чтобы только он мог открыть дверь.
- Boss Bar: полоска здоровья босса, уменьшающаяся по мере боя.
- Boss Bar: таймер или прогресс прохождения комнат для всей группы
- Добавлено: сохранение наград /rewards loot между перезапусками сервера.
- Добавлено: поддержка MythicRPG для профилей.
Добавлен раздел конфигурации Experimental.OneWorldDungeonsWorld, позволяющий задавать общие параметры сложности, времени, погоды и gamerules для общего мира подземелий. Индивидуальные подземелья по-прежнему могут переопределять время и погоду для конкретных игроков, если они отличаются от глобальных настроек.
- Возможность: добавлена настраиваемая поддержка gamerules и параметров мира для OneWorldDungeons
Пример конфигурации:Обновление логики gamerules: теперь изменяются только те gamerules, которые явно указаны в конфигурации; остальные остаются со значениями vanilla по умолчанию.YAML:Experimental: OneWorldDungeons: true OneWorldDungeonsWorld: Difficulty: NORMAL WorldTime: 6000 WorldWeather: CLEAR Gamerule: keepInventory: false doDaylightCycle: true doWeatherCycle: true mobGriefing: true
- Исправлена очистка битвы с драконом в Энде через ServerLevel#setDragonFight, благодаря чему больше не появляются полоска босса, туман и сам дракон в подземельях Энда. (#616)
- На этот раз исправление действительно работает.
- Возможность: добавлена возможность указывать измерение (dimension) при создании подземелья (dungeon).
- Исправление: резервирование точек спавна теперь выполняется синхронно, чтобы асинхронная загрузка чанков не приводила к избыточному спавну мобов.
- fix: guard null inner function in delayed/repeater meta functions
Возможность: добавлен список DisabledInteractions для отдельных данжей — двери, люки и прочее
Закрывает issue #515.
Добавлена новая настройка в config.yml данжа, позволяющая отключать взаимодействие с определёнными типами блоков внутри конкретного данжа без написания дополнительных плагинов или команд.Поддерживаемые категории:YAML:Rules: DisabledInteractions: - DOORS - TRAPDOORS
- DOORS
- TRAPDOORS
- BUTTONS
- LEVERS
- PRESSURE_PLATES
- FENCE_GATES
- Игроки внутри данжа больше не смогут открывать, переключать или активировать эти блоки наступанием
- Разрушение блоков это не затрагивает
- Открытие через редстоун продолжает работать — например, рычаг, подключённый к двери, всё ещё сможет открыть её даже при отключённой категории DOORS
- Исправлена обработка файлов регионов подземелий на 26.1 (спасибо Taiyou!)
- Триггеры: добавлен вызов Block Detector при разрушении Decorated Pot снарядом
- Исправление (#599): обработка нечисловых переменных и сравнения в кавычках в compareVars
- Исправление (#508): добавлена проверка null для listingManager в /recruit, чтобы предотвратить NPE
- Возможность (#489): добавлен переключатель скрытия имени ключа в функции Door Controller
- Исправление (#600): AbstractInstance.dispose() теперь выполняется в основном потоке при вызове из async
- Возможность (#459): добавлено событие PlayerStartDungeonEvent, вызываемое при входе игрока
- Исправление (#313, #460): удаление ведущих слешей и регистронезависимое сопоставление команд