- Исправление: вложенные entity targeters в слотах location= теперь корректно применяют sort, conditions и limit
- Исправление: aura onTick продолжала работать после окончания действия ауры / уходила в отрицательную длительность
Ауры, созданные через overwrite или удалённые во время тика, могли превращаться в «зомби-ауры» — onTick продолжал срабатывать даже после завершения эффекта, а оставшееся время уходило всё глубже в минус. Красота.
Исправлены две причины:Особенно легко воспроизводилось при быстром пересоздании одной и той же ауры (например, таймер с removeAura + aura ow=true).
- run() теперь прекращает выполнение, если аура уже помечена как завершённая
- Исправлена гонка в registry, из-за которой новая аура могла «осиротеть» при одновременном удалении старой и продолжать тикать вне контроля registry
- Исправление: фильтр BukkitAttribute.values() был инвертирован и возвращал пустой/неверный набор вместо поддерживаемых атрибутов
- Исправление: те же фиксы для 1.21.1 применены и здесь
- Исправление: MythicMobDeathEvent и дропы могли не срабатывать из-за race condition с async skill clock (#2204)
- Исправление: aura с cancelOnDeath=false теперь корректно сохраняется после респавна игрока (#2221)
- Исправление: ключ локации для trail particle должен использовать target, а не source (#2192)
- Исправление: particlesphere дважды применял yoffset (#2200)
- Исправление: параметры eqy и eqz в particlelineequation игнорировались (#2218)
Раньше билдера выражений для Y и Z брали this.equationX, из-за чего все три оси использовали X-уравнение. Теперь каждая ось использует своё собственное поле, и 3D-кривые (например, спирали/геликсы) наконец работают как задокументировано. Да, удивительно, когда Z — это реально Z, а не X в парике.- Исправление: preservepitch/preserveyaw терялись при поиске безопасной точки телепорта (#2217)
findSafeSpawnLocation создавал Location только с world/x/y/z, из-за чего yaw и pitch с исходной позиции терялись. Теперь base.getYaw() и base.getPitch() корректно передаются в каждую новую Location, поэтому телепорт сохраняет ориентацию при использовании radius/spread.- Исправление: stats.yml теперь извлекается во время load(), чтобы аддоны могли регистрировать статы раньше
- Исправление: устранён баг с родительскими командами (parent commands)
- API: добавлено экспериментальное API для packet item lore
- Возможность: добавлена настройка Command.Parent для command skills
- Возможность: большинство механик с длительностями и интервалами переведены на PlaceholderDuration, поэтому теперь можно указывать единицы времени напрямую.
При использовании математики это пока не работает, потому что жизнь разработчикам мёдом не намазана.Код:- potion{type=POISON;duration=10s} # Отравление на 10 секунд
- Рефакторинг: StatExecutor теперь загружается раньше
- Механика setDisplayEntityItem теперь поддерживает block display entities
- Добавлена поддержка trigger conditions для aura-компонента onAttack
- Исправлена яркость nameplate
- API: добавлен PlaceholderDuration
- Возможность: skills, mechanics и механика skillCooldown теперь поддерживают кулдауны в разных единицах времени. По умолчанию всё ещё используются секунды.
YAML:Skill: Cooldown: 5t # 5 тиков Skill: Cooldown: 1m # 1 минута
- Проведён рефакторинг некоторых внутренних систем, связанных со статами
- Добавлен новый тип кастомного стата MUTATOR, позволяющий легко создавать статы, изменяющие другие статы, без необходимости задавать связь parent-child
В этом примере 20 agility дадут 2% шанса критического удара и 1% шанса уклонения.YAML:AGILITY: Type: MUTATOR ... Components: - Stat: CRITICAL_STRIKE_CHANCE Formula: 'v / 1000' Operation: ADDITIVE - Stat: DODGE_CHANCE Formula: 'v / 2000' Operation: ADDITIVE
- Добавлено условие canBeHitByProjectile, позволяющее пропускать кастомные hitbox'ы MEG через API
- API: добавлено событие MythicStatsRegistrationEvent
- fix: hasitem больше не использует conditionVar как значение amount по умолчанию — теперь по умолчанию используется >0
Add placeholder support totagsin damage mechanics
- Исправлено: параметр accuracy теперь корректно работает с механикой volley, позволяя ей правильно наследовать этот параметр из механики shoot
- Исправлены общие проблемы механики volley, включая некорректное появление стрел и другие ошибки
- feat: конфиги теперь более последовательно читают ключи без учёта регистра
- feat: обновлён файл stats.yml по умолчанию с более корректными базовыми значениями и недостающими характеристиками