API: MythicSpawnLevelEvent для изменения уровней мобов при случайном спавне и появлении из спавнеровИсправлено: ошибки Folia, связанные с потоками регионов, в механиках, таргетерах и трекерах
- Событие вызывается перед появлением моба при случайном спавне или из спавнера. Оно содержит выпавший уровень и настроенный диапазон Level/MobLevel (getMinLevel/getMaxLevel). Метод setMobLevel позволяет изменить уровень, с которым появится моб.
- Плейсхолдер RandomInt теперь предоставляет значения getMin/getMax.
- Отслеживаемые игроки (неймплейт, полоска здоровья, полоска произнесения заклинания, речь, @TrackedPlayers) вызывали NoSuchFieldError на Folia/Canvas.
- Ауры weather, time, setchunkforceloaded и chunkload выполнялись за пределами глобального региона.
- smokeswirl и shieldbreak использовали планировщик Bukkit.
- Механики сущностей, таргетеры блоков, фильтры сущностей, плейсхолдеры блоков и условия owner/health/hasTag не работали в асинхронных потоках.
- Тотемы не срабатывали, slash не наносил удары, а @PlayersInRadius требовал около двух региональных тиков на каждого игрока.
- Случайный спавн через устаревшую систему не создавал мобов; команды activeinfo, activeremove и спавн мобов MythicMobs через ванильные механизмы вызывали ошибки при запуске из консоли.
- Механики explosion, lightning, setblocktype, breakblock, dropitem и summon вызывали ошибки, если цель находилась в другом регионе.
- Условия таргетеров при проверке между регионами теперь завершаются с отказом вместо ошибочного разрешения.
- Цели урона для родителей/владельцев, healOnLeash у спавнеров и закрытие голограмм неймплейтов вызывали ошибки при обращении из другого региона.
- Мобы, телепортированные в другой регион, выпадали из ActiveMobs.
- Снаряды в виде стойки для брони у механик beam и orbital не работали даже на Paper.
- setpathfindingmalus не загружался из-за неверной сигнатуры конструктора.
fix: BlocksAttacks blocking nothing by default and rejecting #tags
- Исправлено: Исправлено множество проблем, связанных с Folia.
- Исправлено: Очистка тюремных блоков на Folia теперь выполняется в регионе, которому они принадлежат.
- Исправлено: В PlayerActionPacketEvent добавлен CHANGE_DESTROY_DIRECTION для 26.3.
- Добавлено: новые условные цели ИИ, условия для мобов и исправления ИИ скелетов.
- Исправлено: механика goto больше не пытается выполняться, если мир становится недействительным.
- Оптимизация: отслеживание принадлежности blockmask игрокам с помощью примитивных карт для каждого игрока.
- Исправлено: устранена гонка при создании снимка аудитории во время настройки навыка
- Исправлено: очистка перезарядки навыка в редких случаях могла удалить активную блокировку до того, как она была готова к снятию
- Исправлено: устранена крайне редкая гонка, из-за которой числовые переменные, обновляемые одновременно, могли перезаписывать значения друг друга
- Исправлено: нажатие левой кнопки мыши во время кинематографической сцены DISPLAY больше не выбрасывает игрока с сервера
- Исправлено: снаряды DISPLAY больше не дёргаются при появлении на 26.3 #10044
- Оптимизация: поиск пути мобов и сканирование целей теперь выполняются асинхронно (Premium)
- Добавлено: поддержка 26.3
- Оптимизация: сканирование мира в livingNearTargetLocation заменено на запрос по радиусу
- Исправлено: дроп, не выдающий ни одного предмета, больше не прерывает обработку остальной таблицы дропа #10023
- Добавлено: в MoveTowardsTargetConditional добавлена опция minrange #10039
- Исправлено: ауры мобов теперь сохраняются после выгрузки чанка или мира у мобов с Despawn: false #10008
- Исправлено: многострочный ввод Multiline в диалогах теперь работает. Добавлены новые параметры MaxLines и Height #10002
- fix: notEmpty/isEmpty conditions not working in lore templates #10028
- Добавлен параметр Display: "something" в таблицы дропа. Полезно для тех, кто использует API.
fix: read the DefaultItemOptions.PreventCrafting global from config-items.yml (cruci #327)