Patched
Позволяет пакам данных/ресурсов и модам изменять части json-файлов вместо их полной замены.
- Загрузчики
- FabricNeoForgeForgeQuilt
- Скачиваний на Modrinth
- 71,7 тыс.
- Подписчиков на Modrinth
- 79
- версий
- 97
- Обновлён
- 3 ноября 20263 нояб.
- Опубликован
- в 2022
Коротко о моде
Работает и в игре, и на сервере — ставьте, где нужен
Patched — это мод, который позволяет дата- и ресурспакам (а также модам!) изменять части json-файлов, не заменяя их целиком. С его помощью можно патчить биомы, таблицы добычи, модели и большинство других json-файлов в игре. Когда Mojang наконец сделает модели сущностей data-driven (а с каждым обновлением это кажется всё более далёким), Patched сможет патчить и их, став лёгкой альтернативой CEM (Custom Entity Models) из OptiFine. Вот несколько примеров того, чего можно добиться с помощью Patched:
- Удаление или добавление фич генерации мира в биомы
- Удаление или добавление критериев в достижения
- Удаление или добавление добычи в таблицы добычи
- Изменение рецептов
- Изменение всех файлов, подходящих под шаблон (например, всех биомов)
- Условные изменения в зависимости от загруженных модов или настроек конфигурации
- И многое другое! Patched призван уменьшить конфликты между дата- и ресурспаками, а также между другими модами. Он также призван упростить поддержку этих файлов: вам не нужно беспокоиться о том, что другие части файла устареют (например, из-за обновлений Minecraft, меняющих биом, в котором вы правите несвязанную часть). Patched добавляет несколько команд для просмотра состояния игры (
/patchedcдля ресурспаков): /patched list packsпоказывает список паков, содержащих патчи- `/patched list patches ` показывает список патчей, предоставленных указанным паком
- `/patched dump patch ` показывает содержимое патча, предоставленного указанным паком
- `/patched dump file ` показывает содержимое файла с комментариями, указывающими, какие изменения были внесены и кем
Как это работает
Patched позволяет создавать так называемые «патч»-файлы с тем же именем, что и патчимый файл. Эти патчи следуют синтаксису RFC 6902 с дополнительными возможностями, делающими их удобнее в контексте моддинга. Документация мода подробно описывает, как писать эти патчи (и какие ещё возможности доступны). Например, чтобы убрать гравий из биома равнин:
{
"op": "find",
"path": "/features/6",
"test": {
"path": "",
"value": "minecraft:ore_gravel"
},
"then": {
"op": "remove",
"path": ""
}
}Этот патч затем размещается в датапаке по пути data/minecraft/worldgen/biome с именем plains.json.patch. Чтобы избежать проблем с производительностью, Patched ищет патчи только в паках, которые заявляют, что они есть (то есть на добровольной основе). Это сделано, чтобы не искать во всех двух сотнях модов вашей сборки, когда патчи есть только в одном. Пак может включить патчинг, добавив в свой pack.mcmeta:
{
"pack": {
// ...
},
"patched": {
"format_version": 1 // Указывает Patched, что этот пак использует Patched и, следовательно, содержит патчи.
}
}Для модов эта информация может быть размещена в специфичном для загрузчика файле метаданных. Подробности смотрите в документации. Ещё один пример: этот патч добавляет пользовательский биом в достижение «Время приключений»:
[
{
"op": "add",
"path": "/criteria/mydatapack:mybiome",
"value": {
"conditions": {
"player": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"location": {
"biome": "mydatapack:mybiome"
}
}
}
]
},
"trigger": "minecraft:location"
}
},
{
"op": "add",
"path": "/requirements/-",
"value": [ "mydatapack:mybiome" ]
}
]Совместимость
Patched встраивается в базовый код загрузки ресурсов, позволяя патчить любой json-файл (кроме самих json-патчей). Это будет совместимо с большинством модов, так как им не нужно будет изменять этот код, а любой мод, использующий загрузку ресурсов Minecraft (что, в общем-то, обязательно), получит преимущества Patched.
Ограничения
К сожалению, для «объединённых» ресурсов действуют некоторые ограничения. Уточним: объединённый ресурс — это любой ресурс, который Minecraft объединяет во время выполнения, в первую очередь теги. Помимо тегов, есть ещё несколько таких ресурсов (все клиентские): языковые файлы, sounds.json, источники текстурных атласов, состояния блоков и шрифты. Ограничение для этих файлов состоит в том, что патчить их может только пак, предоставляющий их. Причина в том, что иначе Patched не знает, к какому из примерно 30 файлов применить патч. Кроме того, на версиях старше 1.19.3 ванильные биомы нельзя патчить (напрямую). Это потому, что в этих версиях такие биомы захардкожены — то есть файла для патча нет. Это можно обойти, создав датапак с более низким приоритетом, который добавляет биомы, скажем, из экспорта генерации мира здесь, но я бы просто рекомендовал обновиться до 1.19.3 или выше.
Частые вопросы
Как установить Patched?
Установите Fabric под свою версию Minecraft, скачайте Patched под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Patched?
У Patched есть сборки для Minecraft 1.18.2, 1.19.1–1.19.3, 1.20–26.3.
Нужен ли Patched на сервере?
Работает и в игре, и на сервере — ставьте, где нужен