Gold Плагин RPG/MMO [Official] mcMMO [2.3.002]

  • Исправлено: mcMMO не запускался на серверах Spigot 26.3.
  • Улучшена производительность при ремонте предметов в mcMMO.
  • Уменьшено значение XP по умолчанию за Pale_Hanging_Moss для навыка Herbalism в experience.yml (см. примечания).
  • Исправлена ошибка чтения при обновлении базы данных FlatFile, из-за которой mcmmo.users перезаписывался только игроками, прочитанными до возникновения ошибки (спасибо cyrne1-7208).
  • Исправлено: игроки FlatFile теряли свой прогресс, если их данные не удавалось прочитать во время входа.
  • Исправлено: сохранение FlatFile перезаписывало данные другого игрока, если новый игрок входил под именем, которое ранее принадлежало этому игроку.
  • Исправлено: базы данных FlatFile не сохраняли новое имя игрока до тех пор, пока не изменялось что-либо ещё в его данных.
  • Исправлено: SQL-базы данных могли хранить двух игроков под одним именем или забирать имя у неправильного игрока при смене имени.
  • Исправлено несколько редких проблем с игроками SQL, сохранёнными до того, как mcMMO начал хранить UUID.
  • Исправлено: плагины, запрашивающие офлайн-игрока через mcMMO, могли получать имя другого игрока, который впоследствии занял это имя.
  • Исправлено: таблицы лидеров, /mcconvert и команды вроде /inspect и /mcremove некорректно обрабатывали игроков, чьё имя было занято другим игроком.
  • Исправлено: сохранение базы данных FlatFile сообщало об успешном выполнении, даже если mcmmo.users не удавалось записать.
  • Исправлено: база данных FlatFile заново перезаписывалась при каждом запуске после того, как более одного игрока потеряли свои имена в пользу других игроков.
  • (API) DatabaseManager.newUser(Player) и newUser(String, UUID) для базы данных FlatFile теперь возвращают незагруженный профиль, если mcmmo.users не удаётся прочитать или в нём уже существует строка с этим UUID.
  • (API) DatabaseManager.saveUser для базы данных FlatFile теперь находит строку игрока по UUID.
  • (API) DatabaseManager.saveUser и newUser(String, UUID) теперь требуют UUID в базах данных FlatFile и SQL.
  • (API) Добавлен UsernamePlaceholder — имя, присваиваемое игрокам, чьё имя было занято другим игроком. Теперь запросы DatabaseManager по имени игнорируют такие записи.
  • (API) DatabaseManager.loadPlayerProfile(OfflinePlayer) теперь заменяет сохранённое имя на имя игрока только в том случае, если игрок находится онлайн.
  • (API) SQLDatabaseManager.loadPlayerProfile(String) и loadPlayerProfile(UUID, String) теперь устанавливают профилю имя, сохранённое для игрока, как это делает FlatFile, а loadPlayerProfile(UUID, String) больше не изменяет сохранённые имена.
  • (API) Добавлены DatabaseManager.getStoredUsersWithUUIDs и запись PlayerNameAndUUID, позволяющие различать игроков, имеющих одинаковое сохранённое имя.
  • (API) FlatFileDatabaseManager.LEGACY_INVALID_OLD_USERNAME помечен как устаревший. Используйте UsernamePlaceholder.
  • (Кодовая база) Отражение для рикошета арбалета больше не изменяет переданные ему векторы скорости стрелы и нормали грани блока (спасибо cyrne1-7208).
ПРИМЕЧАНИЯ:

Чтобы получить уменьшенное количество XP за Pale_Hanging_Moss, установите Experience_Values.Herbalism.Pale_Hanging_Moss в значение 1 в experience.yml или удалите experience.yml, чтобы создать новый файл.
  • Добавлена совместимость mcMMO с новыми блоками и предметами из Minecraft 26.3.
  • В чёрные списки способностей и инструментов добавлены: тополиные двери, люки, заборы, калитки, кнопки, нажимные плиты, таблички, висячие таблички, полки и соломенные кровати.
  • В Tree Feller добавлены тополиные листья и полочные грибы — теперь они удаляются как часть дерева.
  • Super Breaker теперь обрабатывает бетон, бетонные ступеньки и бетонные плиты так же, как и другие блоки, предназначенные для кирки.
  • Улучшена производительность форматирования цветов локализованных сообщений и сопоставления названий навыков. (Спасибо wling-art)
  • Исправлено: эндермены, отмеченные защитой ExploitFix.EndermanEndermiteFarms, больше не дают полный боевой опыт. (См. примечания)
  • Исправлено: Graceful Roll использовал обычный порог урона Roll вместо собственного. (См. примечания)
  • Исправлена редкая ошибка при одновременном входе нескольких игроков после перезапуска сервера. (Спасибо Warriorrrr)
  • Исправлена редкая ошибка при росте структур на серверах Folia. (Спасибо Warriorrrr)
  • Исправлено: Rupture больше не пропускает звук кровотечения — параметр BLEED в sounds.yml снова работает.
  • Исправлено: поле ItemMaterialCategory в repair.vanilla.yml и salvage.vanilla.yml игнорировалось. (См. примечания)
  • Исправлено переполнение требований к опыту для следующего уровня при экстремально высоких уровнях навыков, а также их сброс до нуля или отрицательных значений при нулевых или отрицательных значениях формулы опыта в experience.yml.
  • Исправлено: методы ExperienceAPI setXPOffline, setLevelOffline и removeXPOffline не сохраняли внесённые изменения.
  • Исправлено: оставшийся накопленный опыт терялся, если другой плагин отменял событие повышения уровня.
  • Исправлены редкие ошибки и устаревший текст в сообщениях, загружаемых во время выполнения /mcreloadlocale.
  • Добавлена отсутствующая запись Experience_Formula.Player_Tamed.Multiplier в стандартный experience.yml. (См. примечания)
  • В experience.yml добавлены значения опыта Woodcutting для Poplar_Log, Stripped_Poplar_Log, Poplar_Wood и Stripped_Poplar_Wood.
  • В experience.yml добавлены значения опыта Herbalism для Red_Shrub и Shelf_Mushroom.
  • В config.yml добавлены Bonus_Drops.Woodcutting.Poplar_Log и Bonus_Drops.Woodcutting.Poplar_Wood.
  • В config.yml добавлены Bonus_Drops.Herbalism.Red_Shrub и Bonus_Drops.Herbalism.Shelf_Mushroom.
  • Снижены стандартные значения опыта за медь для Mining и Smelting в experience.yml. (См. примечания)
  • Названия зелий по умолчанию в potions.yml изменены с Potion Of на Potion of в соответствии с ванильными названиями. (Спасибо rasmus123d) (См. примечания)
  • Удалены неиспользуемые настройки Skills.Swords.SerratedStrikes.BleedTicks и Skills.Swords.Rupture.Explosion_Damage из advanced.yml. (См. примечания)
  • Удалены неиспользуемые настройки Skills.Mining.BlastMining.DebrisReduction и Skills.Mining.BlastMining.DropMultiplier из advanced.yml. (См. примечания)
  • Удалены неиспользуемые настройки Options.Chunklets и Options.ConversionRate из hidden.yml.
  • Удалены неиспользуемые записи фейерверков и Flux из раздела Particles в config.yml. (См. примечания)
  • Удалены неиспользуемые записи Tree Feller Rank_2–Rank_5 и неиспользуемый блок Fishing Mastery из skillranks.yml. (См. примечания)
  • Удалены неиспользуемые записи DEFLECT_ARROWS, ABILITY_ACTIVATED_BERSERK и TIRED из sounds.yml.
  • Обновлена локализация на упрощённом китайском (zh_CN): добавлены переводы для новых сообщений /xprate, звука повышения уровня и Scrap Collector, а также обновлены существующие переводы. (Спасибо TAHAamaBOT)
  • Удалена неиспользуемая запись Fishing.Exhausting из локализации.
  • (API) Устаревшими объявлены неиспользуемые методы getDebrisReduction, getDropMultiplier и getBlastMiningRankLevel для Blast Mining в AdvancedConfig и MiningManager.
  • (API) Исправлена ошибка, из-за которой Permissions.tridentsLimitBreak и Permissions.macesLimitBreak проверяли неправильные permission-ноды.
  • (Codebase) Удалены методы AdvancedConfig getSerratedStrikesTicks и getRuptureExplosionDamage вместе с соответствующими настройками.
  • (Codebase) Удалены константы TIRED, ABILITY_ACTIVATED_BERSERK и DEFLECT_ARROWS из перечисления SoundType.
ПРИМЕЧАНИЯ:
  • experience.yml и config.yml автоматически обновляются при запуске, поэтому новые значения опыта Woodcutting и Herbalism, а также записи Bonus_Drops будут автоматически добавлены в существующие конфиги.
  • Медь давала больше опыта, чем более редкие руды вроде железа. Эти значения были установлены ещё при появлении меди и с тех пор не пересматривались. Для Mining: Copper_Ore теперь даёт 500 опыта вместо 1400, а Deepslate_Copper_Ore — 750 вместо 1900. Для Smelting: Raw_Copper и Copper_Ore теперь дают 15 вместо 75, Deepslate_Copper_Ore — 25 вместо 100, а Copper_Nugget — 15 вместо 85.
  • Чтобы применились изменения баланса, необходимо изменить experience.yml вручную либо удалить его, чтобы был создан новый файл.
  • Изменение названий зелий носит исключительно косметический характер и применяется только к новому potions.yml. В существующих файлах старые названия сохранятся, пока вы не измените их вручную. Варка при этом работает в обоих случаях, поскольку рецепты определяются по эффекту, а не по названию.
  • Эндермены, отмеченные защитой ExploitFix.EndermanEndermiteFarms, не должны давать боевой опыт — теперь эта защита снова работает. Если серверу необходимо, чтобы фермы эндерменов и эндермитов давали опыт, настройку можно отключить в experience.yml.
  • Graceful Roll теперь поглощает до 14 единиц урона, согласно Skills.Acrobatics.GracefulRoll.DamageThreshold в advanced.yml. Ранее использовался обычный порог Roll — 7 единиц.
  • В стандартном repair.vanilla.yml поле материала называлось ItemMaterialCategory, тогда как mcMMO искал MaterialType. Из-за этого значение игнорировалось, и тип материала определялся автоматически по предмету. Теперь mcMMO использует ItemMaterialCategory, а если его нет — обращается к MaterialType. Если отсутствуют оба параметра, тип по-прежнему определяется по предмету, как раньше. Пользовательские конфиги ремонта и переработки обновлять не требуется. Тип материала определяет только то, какое разрешение на ремонт или переработку конкретного материала применяется. Ранее неправильное определение затрагивало только SHIELD (теперь WOOD) и WARPED_FUNGUS_ON_A_STICK (теперь STRING).
  • Множитель Player_Tamed существует ещё с версии 2.1.148, но никогда не добавлялся в стандартный experience.yml, поэтому его нельзя было увидеть. Боевой опыт от мобов, приручённых игроком, умножается на это значение. По умолчанию оно равно 0.0, как и было всё это время, поэтому прирученные мобы по-прежнему не дают опыт, если значение не изменить.
  • Удалённые настройки из config.yml, advanced.yml, hidden.yml, skillranks.yml и sounds.yml не влияли на работу плагина — игровой процесс не изменился. Существующие конфиги обновлять не нужно, оставшиеся старые записи будут просто игнорироваться. Настройки бонусных дропов и обломков Blast Mining давно не использовались, а Tree Feller фактически имеет только один ранг, поэтому дополнительные ранги ничего не делали. Удалённые записи из Particles: Ability_Activation, Ability_Deactivation, LargeFireworks, Flux, LevelUp_Enabled и LevelUp_Tier — ни одна из них не вызывала никаких действий. Работающие настройки частиц не затронуты.

Добавлено​

  • Добавлена поддержка выполнения команд при достижении игроками заданного уровня навыка или общего уровня силы.
  • Добавлена поддержка таблицы очков (scoreboard) на серверах Folia.
  • Добавлены PlaceholderAPI-плейсхолдеры позиции в таблице лидеров для всех навыков (кроме дочерних: Salvage и Smelting) и общего уровня силы.
  • Добавлены PlaceholderAPI-плейсхолдеры названий навыков:
    • %mcmmo_skillname_<skill>%
    • %mcmmo_skillname_header_<skill>%
  • Добавлена команда /mclevelupsound для включения и отключения звука повышения уровня.
  • Команда /xprate теперь поддерживает дробные множители опыта (например, 1.5).
  • Добавлена возможность задавать множитель опыта отдельно для каждого навыка (/xprate <skill> <rate>).
  • Добавлена команда /xprate (или /xprate show) без аргументов для просмотра текущих множителей опыта и времени их действия.
  • Добавлены автоматические индексы таблиц лидеров для SQL-баз данных.
  • Добавлена настройка удалённой детонации для Blast Mining.
  • Добавлены новые параметры конфигурации, локализации, права доступа и API для новых возможностей.

Изменения​

  • Значительно улучшена производительность SQL-запросов таблиц лидеров.
  • Существенно оптимизирована обработка получения опыта, боевой системы, рыбалки, контейнеров, питомцев, команд и других игровых событий.
  • Улучшено определение порядка игроков с одинаковыми уровнями в SQL-лидерах.
  • Команда /xprate больше не требует обязательного аргумента true/false — теперь используется значение по умолчанию.
  • /xprate теперь отклоняет множители ниже минимально разрешённого в конфигурации.
  • Улучшены уведомления о повышении ранга навыков и их отображение.
  • Изменены названия навыков в сообщениях — теперь используются локализованные варианты вместо названий в верхнем регистре.
  • Улучшены проверки антиэксплойтов при рыбалке.
  • Улучшена обработка логирования размещённых блоков и повреждений.
  • Обновлены многочисленные настройки локализации, конфигурации и API.
  • Удалена устаревшая команда /mmocompat.
  • Удалены неиспользуемые настройки и устаревшие API-методы.

Исправления​

В этом обновлении исправлено большое количество ошибок, включая:

  • Эксплойты получения опыта для Herbalism, Acrobatics и других навыков.
  • Некорректную работу боевых способностей на Paper 26.1.2+ (Berserk, Disarm, Critical Strikes, Skull Splitter, Cripple, Momentum, Greater Impact и др.).
  • Ошибки работы Tree Feller, Super Breaker, Alchemy, Salvage, Repair, Fishing, Green Terra, Holy Hound и других навыков.
  • Проблемы работы таблиц лидеров, скорбордов и отображения уровня силы.
  • Ошибки работы PlaceholderAPI, локализации и команд.
  • Многочисленные проблемы совместимости с Folia.
  • Потери данных игроков, утечки памяти и проблемы потокобезопасности.
  • Ошибки SQL и FlatFile-баз данных.
  • Некорректную обработку зелий, мобов, пользовательских предметов, блоков и размещённых структур.
  • Проблемы взаимодействия с другими плагинами и API.
  • Различные ошибки команд, автодополнения, прав доступа и внутренних механизмов mcMMO.
Всего обновление включает десятки новых функций, масштабную оптимизацию производительности, расширение API и более сотни исправлений ошибок и совместимости.
  • Добавлена совместимость с новыми блоками и предметами из Chaos Cubed (Minecraft 1.26.2) для mcMMO.
  • Исправлена ошибка, из-за которой игроки могли использовать цветовые коды в чате группы и администраторов без разрешения mcmmo.chat.colors.
  • Исправлена проблема, из-за которой при повторном подключении иногда преждевременно сбрасывалось уменьшение получаемого опыта.
  • Исправлены ошибки проверки потоков в Folia, возникавшие при срабатывании помощи приручённых волков во время дальних атак.
  • Исправлена ошибка, из-за которой снятие коры с древесины правой кнопкой мыши одновременно активировало способность Tree Feller.
  • Исправлено, что способность Super Breaker не срабатывала на кирпичах и плитках из глубинного сланца.
  • Исправлена проблема, из-за которой некорректные или повреждённые записи сокровищ могли препятствовать запуску mcMMO (см. примечания).
  • Исправлена выдача неправильных зелий для сокровищ с данными Extended или Upgraded в treasures.yml и fishing_treasures.yml.
  • Исправлена ошибка, из-за которой рыболовные сокровища с неизвестной редкостью (Rarity) автоматически попадали в категорию COMMON (см. примечания).
  • Добавлен множитель боевого опыта для Sulfur Cube в experience.yml.
  • Добавлено значение опыта травничества для Golden Dandelion в experience.yml.
  • Музыкальный диск Bounce добавлен в качестве очень редкого археологического сокровища в treasures.yml (см. примечания).
  • Добавлены значения опыта добычи для всех новых вариантов блоков Cinnabar в experience.yml (см. примечания).
  • Добавлены значения опыта добычи для всех новых вариантов блоков Sulfur в experience.yml (см. примечания).
  • Добавлены значения опыта добычи для Potent Sulfur и Sulfur Spike в experience.yml.
  • Записи сокровищ, использующие типы зелий, отсутствующие в версии Minecraft сервера, теперь тихо пропускаются, как и другие несовместимые сокровища.
  • Улучшено логирование некорректно настроенных записей сокровищ: теперь используются предупреждения с указанием точной проблемы и ключа конфигурации.
  • (Кодовая база) Переработана загрузка конфигурации сокровищ (TreasureConfig, FishingTreasureConfig): теперь каждая запись классифицируется как загруженная, несовместимая или некорректная, а также выводится сводка по каждому разделу.
  • (Кодовая база) Устранено дублирование логики загрузки конфигураций сокровищ из TreasureConfig и FishingTreasureConfig путём использования общего помощника TreasureEntryLoader.
  • (Кодовая база) Добавлены модульные тесты для проверки классификации записей сокровищ и корректности проверки вероятностей выпадения рыболовных сокровищ.

Примечания​

  • experience.yml автоматически обновляется при запуске, поэтому новые значения опыта добычи, боя и травничества будут автоматически добавлены в существующие конфигурации.
  • Новые значения опыта добычи охватывают все варианты блоков Cinnabar и Sulfur: базовые блоки, полированные, кирпичные и резные версии, а также их ступени, плиты и стены.
  • treasures.yml не обновляется автоматически. Чтобы получить музыкальный диск Bounce на уже существующем сервере, добавьте запись MUSIC_DISC_BOUNCE в treasures.yml вручную или удалите файл для его повторной генерации (копия стандартного файла сохраняется в defaults/treasures.yml).
  • Конфигурации сокровищ (treasures.yml, fishing_treasures.yml) больше не препятствуют запуску сервера из-за одной ошибочной записи. Записи, содержащие материалы или типы зелий, отсутствующие в вашей версии Minecraft, будут тихо пропущены. Некорректные записи теперь логируются с указанием их ключа, чтобы их было проще найти и исправить, а для каждого раздела выводится количество успешно загруженных сокровищ.
  • Рыболовные сокровища с неизвестным значением Rarity теперь пропускаются с предупреждением, в котором указывается проблемная запись. Ранее они автоматически считались сокровищами категории COMMON. Если после обновления пользовательское рыболовное сокровище перестало выпадать, проверьте журнал запуска сервера на наличие соответствующего предупреждения.

mcMMO 2.2.053​

Обновление до этой версии mcMMO полностью безопасно.

Для защиты от потери данных регионов mcMMO (не данных игроков) на новых версиях Paper добавлена система резервного копирования данных регионов.

Кратко: недавнее изменение в Paper может привести к потере данных файлов регионов mcMMO, которые отслеживают блоки, не дающие награды. Данные игроков не затрагиваются.

Если вы используете Spigot, вас это не касается, если только вы не планируете перейти на Paper в будущем.


Изменения​

  • Добавлено резервное копирование данных регионов mcMMO на Spigot и старых сборках Paper.
  • Добавлена автоматическая миграция резервных копий регионов при использовании нового формата миров Paper 26.1.2+.
  • Добавлена настройка General.RegionDataMigrationBackups.Enabled в config.yml для отключения резервного копирования.
  • Исправлена проблема, при которой сущности сохраняли отображение полосы здоровья после выгрузки чанка (спасибо Warriorrrr).
  • Исправлена утечка метаданных перемещающихся блоков на серверах Folia (спасибо Warriorrrr).
  • Исправлена проверка конфликтующих зачарований для Magic Hunter (Fishing), которая не учитывала зачарования, уже полученные во время того же ролла (спасибо Warriorrrr).
  • Исправлено отсутствие появления сфер опыта KnockOnWood на багровых и искажённых деревьях при использовании Tree Feller.
  • Исправлена формула бонусного урона Impale (Трезубцы), которая применяла на один уровень множителя меньше положенного.
  • Исправлена проблема, возникшая после исправления Paper 26.1.2, из-за которой сила ближней атаки определялась почти как нулевая.
  • Исправлена ошибка системы Diminished Returns, позволявшая обходить ограничение через переподключение к серверу.
  • Добавлена возможность разрешить Magic Hunter выдавать предметы с конфликтующими зачарованиями (по умолчанию отключено).
  • Добавлена настройка Skills.Fishing.Allow_Conflicting_Enchants в config.yml.
  • Удалены 27 неиспользуемых JSON-ключей локализации из всех файлов локализации.
  • Система Diminished Returns вынесена из PlayerProfile в отдельные DiminishedReturnsCache и DiminishedReturnsState.

Важно для пользователей Paper 26.1.2+​

  • mcMMO хранит данные блоков в файлах .mcm внутри папки mcmmo_regions.
  • Новый формат миров Paper переносит миры Нижнего мира и Края в новые директории, но не переносит файлы регионов mcMMO.
  • В результате данные регионов для Nether и End могут быть потеряны.
  • Основной мир (Overworld) автоматически мигрируется mcMMO и остаётся безопасным.

Если вы уже обновили Paper до нового формата​

Для восстановления данных:
  1. Полностью остановите сервер.
  2. Найдите резервные копии папок mcmmo_regions.
  3. Скопируйте файлы .mcm только для Nether и End в:
Nether
world/dimensions/minecraft/the_nether/mcmmo_regions/
The End
world/dimensions/minecraft/the_end/mcmmo_regions/
  1. Запустите сервер.
⚠️ Не копируйте вручную старые .mcm файлы Overworld — mcMMO сам безопасно объединит их при запуске.

Если вы ещё не обновляли Paper​

  • Сначала обновите mcMMO до этой версии.
  • Запустите сервер хотя бы один раз.
  • После этого можно безопасно обновлять Paper.

Как определить формат миров​

Старый формат:
Код:
world/
world_nether/
world_the_end/
Новый формат Paper 26.1+:
Код:
world/
world/dimensions/minecraft/the_nether/
world/dimensions/minecraft/the_end/
Если присутствует папка world/dimensions/, значит используется новый формат Paper.

Для пользователей Spigot​

Если вы не планируете использовать Paper:
  • Можно отключить резервное копирование регионов через:
По умолчанию значение — true.


Дополнительные примечания​

  • Система Diminished Returns отключена по умолчанию, но исправления затрагивают серверы, которые её используют.
  • После исправления Paper 26.1.2 изменилась работа таймера перезарядки атаки. mcMMO адаптирован под новое поведение, дополнительных настроек не требуется.
  • Следующие ключи локализации больше не используются и могут быть удалены из locale_override.properties:
    • JSON.Rank
    • JSON.JWrapper.Header
    • JSON.JWrapper.Target.*
    • JSON.Hover.*
    • JSON.Notification.SuperAbility
    • JSON.Acrobatics.Roll.Interaction.Activated
    • все ключи вида JSON.<SkillName> для названий навыков.
  • Исправлена ошибка, из-за которой дропы Mooshroom Shake не загружались из-за неверного ID сущности в fishing_treasures.yml (см. примечания)
  • Исправлено определение версии Minecraft на серверах Spigot, из-за чего пропускались зелья Tricky Trials
  • Исправлены бонусные дропы Woodcutting (Harvest Lumber, Clean Cuts) и Excavation treasure drops, которые обходили BlockDropItemEvent, из-за чего их не видели плагины чар типа Telekinesis (см. примечания)
  • Цвета тултипов информации о навыках теперь полностью настраиваются через locale-строки — все цвета JSON hover-компонентов управляются locale-ключами и поддерживают &-коды, hex-цвета (&#RRGGBB) и токены [[COLOR_NAME]]
  • Исправлены неправильные длительности эффектов splash и lingering версий зелий Infestation, Weaving, Wind Charging и Oozing в potions.yml (Спасибо Warriorrrr) — существующие серверы автоматически мигрируют при первом запуске
  • Исправлен эксплойт, позволявший подбирать стрелы multishot-арбалетов в регионах WorldGuard
  • Исправлен эксплойт, при котором переименованные семена могли активировать Green Thumb без расхода предмета
  • Исправлен эксплойт, при котором переименованные грибы могли активировать Shroom Thumb без расхода предмета
  • Исправлена ошибка, из-за которой Powered Shot (Crossbows) брал MaxDamage из секции Archery вместо собственной секции
  • Исправлена ошибка, из-за которой множитель XP Vanilla Smelting не использовал значения Skills.Smelting.VanillaXPMultiplier из advanced.yml
  • Исправлена работа Fishing-навыка — теперь рыбалка корректно работает с удочкой в основной руке
  • Исправлена ошибка, из-за которой Block Cracker (Unarmed/Berserk) не работал на deepslate_bricks, deepslate_tiles, polished_blackstone_bricks и nether_bricks
  • Исправлена ошибка, из-за которой Verdant Bounty (Herbalism) никогда не выдавал тройной дроп — поднавык существовал и отображался, но не проверялся при ломании блока
  • Исправлена ошибка, из-за которой custom names мобов могли навсегда ломаться после отображения healthbar (см. примечания)
  • Исправлена ошибка, из-за которой vanilla-мобам (null custom name) после healthbar восстанавливалась пустая строка вместо null
  • Исправлена ошибка, при которой повторные удары по мобу во время отображения healthbar слишком рано восстанавливали имя (см. примечания)
  • Изменено поведение mcMMO для незрелых культур — теперь дроп больше не блокируется (см. примечания)
  • Удалены ссылки Patreon и переводов языков из URL-бара skill-команды
Добавлено:

  • Skills.Acrobatics.GracefulRoll.DamageThreshold в advanced.yml
  • Skills.Crossbows.PoweredShot.RankDamageMultiplier в advanced.yml
  • Skills.Crossbows.PoweredShot.MaxDamage в advanced.yml
  • Skills.Maces.Crush.Base_Damage в advanced.yml
  • Skills.Maces.Crush.Rank_Damage_Multiplier в advanced.yml
  • Skills.Tridents.Impale.Base_Damage в advanced.yml
  • Skills.Tridents.Impale.Rank_Damage_Multiplier в advanced.yml
  • Skills.Repair.ArcaneForging.MaxEnchantLevel в advanced.yml (см. примечания)
  • Skills.Salvage.ArcaneSalvage.MaxEnchantLevel в advanced.yml (см. примечания)
  • Обновлена локализация Simplified Chinese (zh_CN) — добавлены переводы Spears и Maces, исправлены цветовые коды, улучшены сообщения рыбалки и форматирование сообщений окончания способностей (Спасибо GhostDC)
  • Добавлены &-цветовые коды для JSON hover tooltip keys и новые JSON.URL.*.Detail, JSON.URL.Header для единообразия с locale_en_US.properties
Codebase:

  • Обновлено использование deprecated durability API на ItemMeta Damageable API (см. примечания)
  • Удалена устаревшая система metadata для multishot-стрел, переход на native Spigot/Paper API
  • Упрощена обработка стрел арбалета за счёт удаления лишнего metadata tracking
  • Три отдельных metadata-ключа healthbar заменены единым HealthbarSnapshot, убрана дублирующая логика восстановления из MobHealthDisplayUpdaterTask, CombatUtils и TransientMetadataTools
  • MobHealthDisplayUpdaterTask переписан как self-managing repeating task с использованием lastHitMs, чтобы продлевать отображение healthbar при повторных ударах
  • Удалены неиспользуемые overrides Roll.printInfo(), Roll.getMechanics(), Roll.getStats(); методы getStats() и getMechanics() интерфейса SubSkill помечены deprecated
  • LocaleLoader.formatComponent() теперь поддерживает токены цветов [[NAME]] ([[RED]], [[DARK_AQUA]], [[BOLD]]) — они преобразуются в &-коды перед сериализацией Adventure
  • TextComponentFactory переписан на использование LocaleLoader.getTextComponent(), удалены все жёстко прописанные NamedTextColor из JSON hover-компонентов
  • Добавлены locale-ключи JSON.Type.Passive, JSON.Type.Active, JSON.Type.SuperAbility, JSON.Locked, JSON.LevelRequirement, JSON.DescriptionHeader, JSON.URL..Detail, JSON.URL.Header, JSON.URL.Label. с соответствующими &-цветами
  • McMMOWebLinks модернизирован — добавлены методы getDescriptionComponent(), getDetailComponent(), getLabelComponent()
  • Удалён мёртвый метод TextUtils.addChildWebComponent()
  • api-version в plugin.yml обновлён с 1.13 до 1.20.5, что убирает legacy bytecode field-rename shim при загрузке сервера
ПРИМЕЧАНИЯ:

  • Исправление Mooshroom Shake автоматически мигрируется при запуске (Shake.MUSHROOM_COW → Shake.MOOSHROOM в fishing_treasures.yml)
  • Совместимость с Telekinesis исправлена не полностью — Tree Feller пока ещё не исправлен
  • Добавлены новые настройки в advanced.yml для более гибкого ограничения уровня чар у Repair и Salvage
  • Если ExploitFix.UnsafeEnchantments включён в experience.yml, он будет переопределять новые настройки и фактически снимать лимиты чар для Arcane Forging и Arcane Salvage
  • Старое поведение оставлено ради обратной совместимости
  • Если хотите использовать новые granular-настройки — отключите ExploitFix.UnsafeEnchantments
  • Теперь незрелые культуры дропают предметы и автоматически пересаживаются только если в инвентаре есть нужные семена — ближе к vanilla-поведению
  • Изменения контекста руки при рыбалке могут исправить баг, где off-hand fishing работал быстрее main-hand
  • Система durability теперь использует ItemMeta Damageable API вместо deprecated методов ItemStack durability
  • Это может исправить некоторые проблемы кастомной брони, но если баги с ремонтом брони от ударов топором всё ещё есть — сообщайте с шагами воспроизведения
  • Баг с порчей имён мобов происходил из-за того, что при повторном ударе healthbar-текст сохранялся как “оригинальное” имя, и моб навсегда оставался с healthbar вместо нормального имени
  • Исправлена ошибка, из-за которой стрелы с эффектом trickshot-bounced имели гораздо более длительные эффекты зелий, чем задумано (Спасибо flyncodes)
  • Исправлена ошибка, при которой использование стакнутого предмета Chimaera Wing с включённой задержкой (warmup) удаляло весь стак вместо расходования только стоимости использования (Спасибо UDPSendToFailed)
  • Исправлено: телепортация Daze (Archery) больше не возвращает игроков к месту смерти/телепортации при одновременном попадании с убийством или сменой мира
  • Значение по умолчанию для Glow_Lichen теперь 1 вместо 5 (обновите файл experience.yml, чтобы применить это изменение, или удалите файл для его пересоздания)
  • Совместимость с Tiny Takeover (Minecraft 26.1.x)
  • Минимальная поддерживаемая версия Minecraft повышена до 1.20.5
  • Улучшено определение урона копьями
  • Способности копья теперь могут срабатывать при атаках с помощью вторичной руки
  • Дальнейшее улучшение совместимости с Excellent Enchants (исправлены дополнительные ошибки)
  • Исправлено отображение слишком большого числа знаков после запятой в команде Spears (спасибо Momshroom)
  • (Кодовая база) Обновлён Recipe API для использования альтернативных методов (спасибо Warriorrrr)
  • (Кодовая база) Удалён неиспользуемый код
  • (Кодовая база) Рефакторинг кода для определения версии сервера Minecraft
Примечания:

  • Для обновления Tiny Takeover Minecraft изменений в mcMMO не требовалось — проблем нет
  • С версии 2.2.050 mcMMO требует Minecraft 1.20.5 или новее
  • Иногда минимальная поддерживаемая версия повышается для уменьшения нагрузки на поддержку старых версий
  • mcMMO больше не отслеживает PlayerAnimationEvent, так как Spigot имеет DamageType специально для урона копьём
  • Изменён метод определения версии игры: если определение версии не удаётся, плагин предполагает минимально поддерживаемую версию и выводит ошибку как запасной механизм
  • Боевые способности снова работают с копьём в дополнительной руке (см. примечания)
  • Сладкие ягодные кусты теперь работают с навыком Herbalism (спасибо dnocturne)
  • Исправлено: медные предметы не давали опыт за Repair (спасибо Remski01)
  • Исправлен редкий крайний случай, при котором mcMMO мог выбрасывать предметы со стаком за пределами нормальных значений
  • Исправлен баг, из-за которого приручённые волки могли вызывать ошибки на Folia (спасибо Warriorrrr)
  • Улучшена совместимость с Excellent Enchants (исправлен спам ошибок от Flame Walker)
  • (Кодовая база) Исправлены unit-тесты при сборке mcMMO с Java 25 (спасибо Warriorrrr)

ПРИМЕЧАНИЯ:
В качестве полупостоянного обходного решения mcMMO отслеживает момент, когда игрок взмахивает оружием. Если взмах был выполнен достаточно недавно, боевые навыки будут работать даже при наличии копья в дополнительной руке.
До этого патча mcMMO отключал боевые способности при наличии копья в off-hand, чтобы предотвратить применение боевых эффектов других навыков зарядом копья из дополнительной руки, так как по данным события mcMMO не мог определить, какой предмет (основная или дополнительная рука) нанёс урон.
Этот хотфикс исправляет некоторые ошибки, возникавшие при использовании версий Minecraft ниже Mounts of Mayhem (1.21.11) вместе с mcMMO.

Исправлена ошибка при загрузке менеджера навыка Spears на старых версиях Minecraft.
Исправлена ошибка при использовании команды /spears на старых версиях Minecraft.
ВерхНиз