25w04a (Java Edition)

Матеріал з Minecraft Wiki
Перейти до навігації Перейти до пошуку
Minecraft 25w04a
25w04a.jpg: Зображення картки для Minecraft 25w04a Шаблон:Картка версії у Minecraft
25w04a (Java Edition) меню.png: Зображення картки для Minecraft 25w04a Шаблон:Картка версії у Minecraft
Видання Java Edition
Дата випуску 22 січня 2025 року
Тип Знімок
Знімок для 1.21.5
Завантаження Клієнт (.json)
Сервер
Карти обфускації Клієнт
Сервер
Версія протоколу dec: 1073742055
hex: 400000E7
Версія даних 4308
Формат пакета
ресурсів
49
Формат пакета
даних
64
Мінімальна версія Java Java SE 21

25w04a — це третій знімок для 1.21.5, випущений 22 січня 2025 року,[1] який додає нові компоненти даних та виправляє помилки.

Нововведення

[ред. | ред. код]

Загальне

[ред. | ред. код]

Формат компонента даних

  • Компонент blocks_attacks
    • Коли присутній, цей предмет можна використовувати як щит, щоб блокувати атаки на гравця, який його тримає.
    • Формат: об'єкт з полями
      • block_delay_seconds
        • Додатне число з плаваючою комою (усталено: 0).
        • Кількість секунд, які потрібно утримувати праву кнопку миші для успішного блокування атак.
      • disable_cooldown_scale
        • Додатне число з плаваючою комою (усталено: 1).
        • Множник, що застосовується до кількости секунд, протягом яких предмет буде перебувати в стані перезарядження, коли його атакують атакою, що виводить з ладу (disable_blocking_for_seconds на компоненті weapon).
        • Якщо 0, цей предмет ніколи не може бути вимкнений атаками.
      • damage_reductions
      • Список об'єктів з полями (необов’язковий)
        • Контролює, скільки шкоди має бути заблоковано під час певної атаки.
        • Якщо не вказано, уся шкода блокується.
        • Кожен запис у списку визначає кількість шкоди, яку буде заблоковано, за бажанням можна відфільтрувати за типом шкоди.
        • Кожен запис додає до заблокованої шкоди, яка визначається clamp(base + factor * dealt_damage, 0, dealt_damage).
        • Остаточна шкода, нанесена в результаті атаки на сутність, визначається dealt_damage - clamp(blocked_damage, 0, dealt_damage)
        • Формат запису:
          • type — ID типу шкоди, список ID типів шкоди, або теґ типу шкоди з хеш-префіксом (необов’язково).
            • Цей запис вплине на заблоковану шкоду, тільки якщо тип завданої шкоди збігається з цим полем.
            • Якщо не вказано, приймається будь-який тип шкоди.
          • base — число з плаваючою комою
            • Постійна кількість шкоди, що блокується.
          • factor — число з плаваючою комою
            • Частка завданої шкоди, яка повинна бути заблокована.
      • item_damage
        • Об'єкт з полями (необов’язково)
        • Визначає, скільки шкоди буде завдано предмету від певної атаки.
        • Якщо не вказано, знімається очко міцности за кожне очко завданої шкоди.
        • Остаточна шкода, нанесена предмету, визначається за допомогою: floor(base+factor*dealtdamage).
        • Остаточне значення може бути від'ємним, що призведе до ремонту предмета.
        • Формат:
          • threshold — додатне число з плаваючою комою
            • Мінімальна кількість шкоди, що наноситься атакою до того, як до предмета буде застосовано шкоду.
          • base — число з плаваючою комою
            • Постійна кількість шкоди, що наноситься предмету, якщо поріг подолано.
          • factor — число з плаваючою комою
            • Частка завданої шкоди, яка має бути застосована до предмета, якщо поріг подолано.
      • block_sound
        • Звукова подія (необов’язково).
        • Якщо вказано, цей звук буде відтворюватися після успішного блокування атаки.
      • disable_sound
        • Звукова подія (необов’язково).
        • Якщо вказано, цей звук буде відтворюватися, коли предмет піде на вимкнене перезарядження внаслідок атаки.
  • Компонент break_sound
    • Якщо присутній, цей звук буде відтворюватися, коли в предмета закінчилася міцність й він ламається.
    • Якщо не присутній, звук не буде відтворюватися після ламання.
    • Цей компонент усталено присутній для всіх типів предметів.
    • Формат: звукова подія
      • напр. break_sound='item.wolf_armor.break'
  • Компонент provides_banner_patterns
    • Якщо присутній, цей предмет можна помістити в слот для візерунка ткацького верстата.
    • Формат: теґ візерунків стяга з префіксом #.
      • напр. provides_banner_patterns='#minecraft:pattern_item/globe'
  • Компонент provides_trim_material
    • Якщо присутній, цей предмет забезпечить вказаний матеріал орнаменту, коли його буде використано в рецепті орнаменту.
      • Зверніть увагу, що для використання у вбудованих рецептах ковальства, предмет також має бути в теґу #trim_material.
      • Таким чином, визначення реєстру матеріалів орнаментів більше не вказує на предмет.
    • Формат: ID матеріалу орнаменту
      • напр. provides_trim_material='minecraft:iron'
  • Компонент tooltip_display
    • Цей компонент дозволяє витіснити підказки, що надаються конкретним компонентом предмета.
    • Це заміняє минулі поля show_in_tooltip, компоненти hide_additional_tooltip та hide_tooltip.
    • Формат: об'єкт з полями:
      • hide_tooltip — логічне значення (усталено: false).
        • Якщо true, предмет не матиме підказки при наведенні на нього.
      • hidden_components — список ID компонентів предмета (усталено: []).
        • Підказки, що надаються будь-яким компонентом у цьому списку, буде приховано.
        • Якщо цей компонент не надає підказки, нічого не зміниться.

Мова

Теґи

  • Додано теґ сутностей #can_wear_horse_armor.
    • Містить сутності, які можуть тримати кінські обладунки в слоті тіла.

Зміни

[ред. | ред. код]

Предмети

[ред. | ред. код]

Арбалети

  • Тепер у підказці показуватимуться всі заряджені снаряди, а не лише перший

Формат команд

[ред. | ред. код]

SNBT

  • SNBT (текстове представлення NBT-подібних даних) розширено, щоб приймати гетерогенні списки, тобто такі, де елементи не є однотипними.
  • Формат NBT не змінюється
    • Якщо аргумент команди SNBT перетворює значення на NBT (як аргументи команд /data або /summon), списки можна перетворити, щоб обійти обмеження NBT
      • Приклад перетворення: ['a', {'b':3}] зберігається як [{'':'a'},{'b':3}]
    • Це перетворення не скасовується за допомогою /data

Загальне

[ред. | ред. код]

Визначення досягнення

  • Поле background більше не містить префіксу textures/ та суфіксу .png.

Атлас

  • Джерело спрайта minecraft:paletted_permutations
    • Нове поле:
      • separator
        • Необов’язковий рядок (усталено: _).
        • Значення, яке буде використано при об'єднанні назв текстур та перестановок для отримання назви спрайта.

Формат компонента даних

  • Компонент hide_additional_tooltip
    • Було видалено та замінено на використання коимпонента tooltip_display з полем hidden_components.
      • Наступні компоненти, які раніше було покрито компонентом hide_additional_tooltip, можливо, потрібно буде приховати:
        • minecraft:banner_patterns
        • minecraft:bees
        • minecraft:block_entity_data
          • Зокрема, дані блоків-сутностей породжувача мобів і породжувача випробувань відображатимуть налаштованого моба.
        • minecraft:block_state
          • Зокрема, властивість honey_level буде відображено у підказці для будь-якого предмета із зазначеним значенням.
        • minecraft:bundle_contents
        • minecraft:charged_projectiles
        • minecraft:container
        • minecraft:container_loot
        • minecraft:firework_explosion
        • minecraft:fireworks
        • minecraft:instrument
        • minecraft:map_id
        • minecraft:painting/variant
        • minecraft:pot_decorations
        • minecraft:potion_contents
        • minecraft:tropical_fish/pattern
        • minecraft:written_book_content
      • Це також означає, що підказки з перелічених вище компонентів більше не обмежуються певними типами предметів.
        • Примітка: для існуючих предметів у світі з компонентом hide_additional_tooltip, будь-який з перелічених вище компонентів, який також присутній на тому ж предметі буде додано до списку для приховування tooltip_display.
  • Компонент hide_tooltip
    • Видалено та замінено на використання компонента tooltip_display з полем hide_tooltip.
  • Компонент attribute_modifiers
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
    • Цей компонент тепер завжди використовує свою спрощену форму з полем modifiers, яке вбудовується у верхній рівень.
      • напр. attribute_modifiers={modifiers:[...]}] -> attributes_modifiers=[...]
  • Компонент dyed_color
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
    • Цей компонент тепер завжди використовує свою спрощену форму з полем rgb, яке вбудовується у верхній рівень.
      • напр. dyed_color={rgb:12345}] -> dyed_color=12345]
    • Вказаний колір тепер підтримує формат масиву RGB.
      • напр. dyed_color=[0.5, 1.0, 0.2]
  • Компоненти can_place_on і can_break
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
    • Поле predicates було винесено на верхній рівень і підтримує як один предмет, так і список.
      • напр. can_place_on={predicates:[{blocks:'stone'},{blocks:'dirt'}]}] -> can_place_on=[{blocks:'stone'},{blocks:'dirt'}]]
      • або: can_place_on={predicates:[{blocks:'stone'}]}] -> can_place_on={blocks:'stone'}]
  • Компоненти enchantments і stored_enchantments
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
    • Ці компоненти тепер завжди використовують свою спрощену форму, поле levels вбудовується у верхній рівень.
      • напр. enchantments={levels:{sharpness:2}}] -> enchantments={sharpness:2}]
  • Компонент jukebox_playable
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
  • Компонент trim
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
  • Компонент unbreakable
    • Видалено поле show_in_tooltip, замінено компонентом tooltip_display.
  • Компонент weapon
    • Поле can_disable_blocking було замінено на disable_blocking_for_seconds.
    • disable_blocking_for_seconds
      • Додатне число з плаваючою комою (усталено: 0)
      • Якщо ненульове, вимкне блокуючий щит при успішній атаці на вказану кількість секунд.
  • Деякі наявні компоненти тепер також переносяться зі створеного предмета до створеної сутности:
    • minecraft:custom_name — будь-яка сутність.
    • minecraft:potion_contents — осідальне зілля на обласну хмару ефекту.
    • minecraft:potion_duration_scale — осідальне зілля на обласну хмару ефекту.

Пакет даних

  • Версія формату пакета тепер 64.
  • Предмети візерунків орнаментів та матеріалів орнаментів більше не вказуються в реєстрах орнаметрів, а натомість у рецептах та предметах відповідно.
  • Тип сутности potion було розділено у splash_potion і lingering_potion
  • Заповнені мапи без компонента map_id більше не відображаються підказку «Невідома мапа» (недійсні ID все ще показують її)

Компоненти варіантів сутностей

  • Варіанти котів та жаб тепер керуються даними.
  • Додано уніфікований спосіб визначення правил вибору варіантів.

Визначення моделей предметів

  • Властивість вибору
    • minecraft:component
      • Якщо вибране значення походить з реєстру, а поточні пакети даних його не містять, запис буде проігноровано.
        • У попередньому знімку нерозпізнані елементи призводили до ігнорування всієї моделі предмета.
  • Логічна властивість
    • minecraft:component
      • До умовної моделі предмета додано нову умовну властивість моделі: component
      • Використовує предикати компонентів (like ones used in item predicates) для узгодження компонентів предмета.
        • Однак, замість того, щоб кодувати їх як мапу <тип предиката>:<значення предиката>, один предикат кодується у двох полях.
      • Поля:
        • predicate — тип предикату компонента (член реєстру minecraft:data_component_predicate_type)
        • value — значення на основі предикату

Функції здобичі

  • toggle_tooltips
    • Тепер підтримує будь-який ID компонента в мапі toggles.
    • Будь-який вказаний компонент буде перемикатися у компоненті tooltip_display.

Формат частинки

  • Тип частинки tinted_leaves тепер має параметр:
    • color
      • Колір відтінку, вказаний як упаковане ціле число або як список з 4 плаваючих чисел.

Рецепти

  • Тип рецептів smithing_transform
    • Поле base ingredient тепер є обов’язковом
      • Раніше, якщо не було вказано базового інгредієнта, рецепт розбирався, але ніколи не міг бути використаний.
  • Тип рецептів smithing_trim
    • Поля base, template і addition ingredient тепер є обов’язковими.
      • Раніше, якщо ці інгредієнти не були вказані, рецепт розбирався, але ніколи не міг бути використаний.
    • Додано нове поле pattern, яке керує тим, який візерунок орнаменту буде застосовано в рецепті.
      • Таким чином, у визначенні реєстру візерунків орнаменту більше не вказується предмет.
      • Формат: ID візерунку орнамента
        • напр. "pattern": "minecraft:bolt"

Пакет ресурсів

  • Версія тепер 49.

Скасування виправлень помилок

Після роздумів ми вирішили скасувати обидві виправлені помилки. Хоча ми хочемо повернутися до цих механік у майбутньому, очевидно, що ці нещодавні виправлення не зовсім влучили в ціль і спричинили занадто багато негативних побічних ефектів для паркуру, спідбриджингу та пересування в цілому.

— Примітка розробників

Ось скасовані виправлення:

  • MC-152728 — Гравець продовжує бігати під час виконання дій, які його сповільнюють
  • MC-271065 — Діагональні рухи не нормалізуються, коли ви присідаєте або використовуєте певні предмети

Теґи

  • Перейменовано теґ типів шкоди #bypasses_shield на #bypasses_blocking.
  • Видалено теґи варіантів кота #default_spawns і #full_moon_spawns.
  • Додано test_block і test_instance_block до теґів блоків #dragon_immune та #wither_immune.

Уніфікований вибір варіантів

  • Варіанти, які мають правила появи, тепер використовують єдиний підхід для вибору.
    • Процес вибору:
      • Поле кожного варіанту spawn_conditions, яке містить список записів.
      • Кожен запис має умову та цілочисельний пріоритет.
      • Умови для всіх варіантів для даного типу сутности оцінюються для позиції, де створюється сутність.
      • Записи з пріоритетом, нижчим за максимальний пріоритет решти записів, видаляються.
      • Гра випадково вибирає один запис з тих, що залишилися.
      • Якщо не залишилося жодних умов, варіант залишається незмінним від усталеного значення.
    • Формат запису:
      • priority — ціле число
      • condition — необов’язкова структура
        • Поля:
          • type
          • Додаткові поля залежні від type.
        • Якщо поле відсутнє, умова завжди істинна.
  • Умови появи
    • minecraft:biome
      • Перевіряє, чи з’являється сутність у певних біомах.
      • Поля:
        • biomes — один запис, список або теґ, що описує біоми.
    • minecraft:moon_brightness
      • Перевіряє, чи знаходиться поточна яскравість місяця в межах певного діапазону.
      • Поля:
        • range — діапазон у вигляді числа з плаваючою комою (одне число або об'єкт типу {«min»: 1, «max»: 2}).
    • minecraft:structure
      • Перевіряє, чи сутність з’являється у певних структурах.
      • Поля:
        • structures — один запис, список або теґ, що описує структури
  • Варіанти вовка
    • Поля angry_texture, tame_texture і wild_texture згруповано у полі assets та перейменовано на angry, tame і wild відповідно.
    • Додано поле spawn_conditions.
  • Варіанти свині
    • Поля texture і biome замінено на asset_id і spawn_conditions відповідно.
    • Поля у файлі:
      • asset_id — ID з простором імен для цього ресурсу варіанту, перетворюється на assets/<простірІмен>/textures/<шлях>.png.
      • spawn_conditions — поле, описане в уніфікованому виборі варіантів вище
  • Варіанти кота
    • Варіанти кота можуть бути керовані даними шляхом додавання записів до data/<простірІмен>/cat_variant/<id>.json.
    • Ця функція є експериментальною.
    • Поля у файлі:
      • asset_id — ID з простором імен для цього ресурсу варіанту, перетворюється на assets/<простірІмен>/textures/<шлях>.png.
      • spawn_conditions — поле, описане в уніфікованому виборі варіантів вище
  • Варіанти жаби
    • Варіанти жаби можуть бути керовані даними шляхом додавання записів до data/<простірІмен>/frog_variant/<id>.json.
    • Ця функція є експериментальною.
    • Поля у файлі:
      • asset_id — ID з простором імен для цього ресурсу варіанту, перетворюється на assets/<простірІмен>/textures/<шлях>.png.
      • spawn_conditions — поле, описане в уніфікованому виборі варіантів вище

Виправлення

[ред. | ред. код]

46 помилок виправлено

З випущених версій до 1.21
  • MC-98271 — Звук блокування щитом чують лише інші гравці (не той блокуюча людина).
  • MC-165421 — Колони бульбашок мають протилежний ефект на заряди вітру.
  • MC-165461 — Анімація заряджання арбалета зупиняється після зарядження, навіть якщо утримувати праву кнопку миші.
  • MC-176233 — Арбалети більше не мають переходу після завантаження.
  • MC-200311 — Прив’язка текстури тла не узгоджується з моделями.
  • MC-255756 — Коли щит ламається між гравцями, атакуюча сторона не має звуку ламання щита.
  • MC-279646 — Увімкнення повноекранного режиму за допомогою F11 візуально не оновлює опцію повноекранного режиму в меню налаштувань відео.
З 1.21.1
  • MC-276061 — Оздоблені горщики не оновлюються візуально до перезапису при заміні на порожній горщик.
З 1.21.3
  • MC-278400 — Стріли і тризубці рухаються після потрапляння в блок в текучій лаві.
З 1.21.4
  • MC-279653 — Дані блока-сутности десинхронізуються після наступних команд setblock.
З версій розробки 1.21.5
  • MC-279217 — Стріли та тризубці постійно обертаються після удару по блоку в текучій лаві.
  • MC-279218 — Звук minecraft:enchant.thorns.hit не відтворюється, коли мобів або гравців вбивають чари «Шипи».
  • MC-279225 — Гравці тремтять і приземляються трохи вище, коли приземляються на сніг у шкіряних чоботах.
  • MC-279232 — Текстові компоненти SNBT запобігають змішуванню стилів тексту у списках.
  • MC-279389 — Звук minecraft:entity.arrow.hit_player відтворюється, коли гравця влучає стріла, випущена ним самим.
  • MC-279454 — hide_additional_tooltip більше не приховує автора та покоління на написаних книгах.
З попередньої версії розробки
  • MC-279480 — У рядку «test_instance_block.reset_success» слово «succeeded» неправильно написано як «succeded».
  • MC-279481 — Опале листя більше не генерується в лісах або лісистих безплідних землях.
  • MC-279482 — Елементи в меню тестового блоку та блока тестового примірника не вибираються по порядку при використанні клавіші TAB.
  • MC-279483 — Тестові блоки, переведені в режим запуску, показують текст «Повідомлення:», незважаючи на відсутність текстового поля.
  • MC-279485 — Меню тестових блоків і блоків тестового примірника мають розмите тло.
  • MC-279486 — Деякі рядки, що відображаються в інтерфейсі блока тестового примірника, не перекладаються.
  • MC-279487 — Текст «ID тестового примірника» та «Розмір тестової структури» в інтерфейсі блока тестового примірника розташовані надто праворуч.
  • MC-279488 — Опале листя генерується дуже рідко у темних лісах.
  • MC-279489 — Виникає неочікувана помилка при спробі створення тестів великого розміру.
  • MC-279490 — При спробі скинути неіснуючі тести не відображаються повідомлення зворотного зв’язку команди.
  • MC-279491 — Під час використання команд «commands.test.no_tests» відображається необроблений ключ перекладу «/test run...» у ситуаціях, коли тестів не існує.
  • MC-279492 — Виникає неочікувана помилка під час спроби знайти неіснуючі тести.
  • MC-279493 — Під час використання команди «/test create» не відображаються повідомлення зворотного зв’язку.
  • MC-279498 — Тестові блоки та блоки тестового примірника не є частиною теґів «#minecraft:dragon_immune» та «#minecraft:wither_immune».
  • MC-279502 — Варіанти аксолотля більше не зберігаються під час видобування.
  • MC-279504 — Компонент «minecraft:enchantments» не працює на властивості вибору моделей предметів.
  • MC-279505 — Моби, які забороняють носіння кінських обладунків, все ще показують неінтерактивний слот.
  • MC-279511 — Використання «minecraft:always_pass», коли гравець перебуває у тестовій зоні, ламає світ.
  • MC-279518 — Тестове середовище приймає minecraft:raining замість minecraft:weather.
  • MC-279519 — Деякі слова у деяких тестових командних рядках завжди множинні.
  • MC-279522 — Точка входу GameTest не завантажує zip-пакети даних.
  • MC-279527 — Точка входу GameTest не завантажує користувацькі тести з пакетів даних.
  • MC-279538 — Ключове ім’я поля тестових примірників, яке представляє ID тестового середовища з простором імен, відрізняється від журналу змін.
  • MC-279539 — Варiант селянина не застосовується до породжених зомбоселян.
  • MC-279553 — Гравці, які використовують предмети, більше не повертають тіло у напрямку руху під час пересування по діагоналі.
  • MC-279570 — Деякі операції з поршнем не надсилають оновлення сусідам.
  • MC-279573 — У рядку «test_instance_block.error.no_test» відсутнє слово «no».
  • MC-279588 — Одруківка у полі «sky_accesses» тестового примірника.
  • MC-279599 — /test pos зміщено на одиницю за осями Y та Z.
  • MC-279601 — Відсутній переклад «test.error.expected_entity_at_pos».

Відео

[ред. | ред. код]

Відео, зроблені slicedlime:

Примітки

[ред. | ред. код]
  1. ↑ «Minecraft Snapshot 25w04a» — minecraft.net, 22 січня 2025 року.

Навігація

[ред. | ред. код]