Разработчики Minecraft выпустили новый тестовый 24w37a. Этот снапшот, в отличие от крупных контентных обновлений, сосредоточен на технических доработках, исправлении критических багов и тонкой настройке внутренних игровых систем. Главными изменениями стали окончательное решение проблемы с жемчугом Энда, пересмотр логики передачи данных между мобами при их преобразовании, а также обновление версий дата-паков и ресурс-паков, открывающее новые возможности для создателей контента.
Исправление жемчуга Энда
Самым заметным изменением снапшота стало исправление бага MC-276316, из-за которого жемчуг Энда не телепортировал сущность (игрока) в точку своего падения. Теперь эта ключевая механика работает корректно. Однако, помимо простого исправления, разработчики значительно доработали внутреннее поведение жемчуга, чтобы подобные проблемы не возникали в будущем.
Теперь Жемчуг Энда при броске гарантирует, что чанк, в котором он находится или в который перемещается, всегда будет загружен и обрабатывается игрой ("тикует"). Это касается и ситуаций, когда жемчуг пересекает границу измерения: при переходе, например, из Верхнего мира в Незер, он загружает целевые чанки, чтобы беспрепятственно продолжить полёт. Это делает механику межизмеренческих путешествий с помощью жемчуга Энда более предсказуемой и надёжной.
Кроме того, реализовано новое поведение, схожее с ездовыми животными: если игрок, бросивший жемчуг, выходит из мира, то сам жемчуг выгружается. При повторном входе этого игрока в мир жемчуг снова появляется и продолжает своё движение.
Изменения в конверсии мобов
В прошлом снапшоте была изменена логика передачи данных между мобами при их преобразовании из одного типа в другой (например, зомби в утопленника после нахождения в воде). В 24w37a часть этих правок была пересмотрена на основе фидбека.
Отменённые передачи: Теперь при конверсии не передаются следующие свойства: здоровье (Health), атрибуты (Attributes) и таблицы лута (Loot tables). Это означает, что преобразованный моб получит стандартные для своего нового типа значения здоровья и будет дропать соответствующий лут, а не сохранит параметры исходного моба.
Полный список передаваемых данных: При конверсии одного моба в другого (например, зомби -> утопленник) передаётся следующий набор тегов и свойств (если они были у исходного моба):
AbsorptionAmount,active_effects,Age,AngerTime,AngryAt,ArmorDropChances,ArmorItemsBrain.memories.minecraft:angry_at.ttl,Brain.memories.minecraft:angry_at.valueCanBreakDoors,CanPickUpLoot,CustomNameVisible,CustomNamefall_distance,FallFlying,Fire,ForcedAgeHandDropChances,HandItems,HurtByTimestamp,HurtTimeInvulnerable,IsBaby,Leash,LeftHanded,MotionNoAI,NoGravity,OnGround,Passengers,PersistenceRequiredPortalCooldown,Position,RootVehicle,Rotation,SilentSleepingX,SleepingY,SleepingZ,Tags,Team.
Особый случай для мобов, которые разделяются: Для мобов, которые не конвертируются, а разделяются на несколько (например, слаймы), не передаётся часть свойств, связанных с экипировкой и физическим состоянием: ArmorDropChances, ArmorItems, HandDropChances, HandItems, Leash, а также данные о положении, вращении и движении.
Намеренно не передаваемые свойства: Согласно отчёту MC-88967, следующие свойства никогда не передаются при любой конверсии: Attributes, Gossips, Health, Loot tables, VillagerData, Xp.
Технические изменения для создателей контента
Версия дата-пака обновлена до 53, а версия ресурс-пака - до 38. Это приносит ряд новых возможностей для моддеров и авторов карт.
Новые лутаблицы и теги
- Значение инструмента (используемое, например, в функции
match_tool) теперь доступно для дополнительных типов лутаблиц:archaeology(используемая кисть),vault(вставленный ключ, недоступно при отображении предметов),shearing(ножницы). - Механика откладывания яиц курицами теперь контролируется лутаблицей
gameplay/chicken_lay. - Случайное выпадение щитков у броненосцев контролируется лутаблицей
gameplay/armadillo_shed. - Лут, выдаваемый жителями при эффекте "Герой деревни", теперь контролируется двумя новыми таблицами:
gameplay/hero_of_the_village/unemployed_gift(для безработных жителей) иgameplay/hero_of_the_village/baby_gift(для детей-жителей).
Новые теги предметов
duplicates_allays: предметы, которые можно использовать для дублирования аллеев во время их танца.panda_eats_from_ground: предметы, которые панда будет подбирать с земли и есть.brewing_fuel: предметы, которые можно использовать как топливо в стойке для варки зелий.
Изменения компонентов предметов
- Компонент
minecraft:fire_resistantпереименован вminecraft:damage_resistantи получил новое полеtypes- тег типов урона с префиксом#. Предметы с этим компонентом в форме сущности будут устойчивы к указанным типам урона. Компонент также влияет на то, будет ли экипированный предмет получать урон, когда его носитель ранен. - Компонент
minecraft:item_nameтеперь всегда имеет наименьший приоритет и будет переопределён такими компонентами, какminecraft:potion_contents. - В компонент
minecraft:potion_contentsдобавлено опциональное строковое полеcustom_name. Если оно присутствует, оно будет использовано для генерации имени предмета (например, для зелья сcustom_name: "foo"игра попытается использовать ключ переводаitem.minecraft.lingering_potion.effect.foo). - В компонент
minecraft:equippableдобавлены поля:swappable(можно ли экипировать ПКМ, по умолчаниюtrue) иdamage_on_hurt(получает ли предмет урон, когда экипировавшая его сущность ранена, по умолчаниюtrue). - Добавлен новый компонент
minecraft:death_protection. Если он присутствует, предмет защитит владельца от смерти, восстановив одно очко здоровья. Можно задать дополнительные эффекты (death_effects), которые применятся при срабатывании защиты.
Другие технические правки
- Добавлен новый sub-предикат для сущности лосося (
minecraft:salmon) с полемvariant, принимающим значенияsmall,medium,large. - Триггер достижения
minecraft:killed_by_crossbowпереименован вminecraft:killed_by_arrowи теперь срабатывает при убийстве любой стрелой, а не только выпущенной из арбалета. Добавлено новое опциональное поле Item Predicatefired_from_weaponдля проверки оружия, из которого была выпущена стрела. - В ресурс-паках появилась возможность кастомизировать вид выделенного слота в интерфейсах, заменяя спрайты
container/slot_highlight_frontиcontainer/slot_highlight_back. Аналогичные спрайты добавлены для выделения предметов внутри открытого бандла.





