The Best Resource for Minecraft
The Best Resource for Minecraft

Конвертація .mrpack у звичайний zip модпака — і чому архіватори видають помилку

Конвертація .mrpack у звичайний zip модпака — і чому архіватори видають помилку

Файл .mrpack — це маніфест, а не архів з модами. Розпакувавши його, ви отримаєте файл JSON і жодного jar. Ось що насправді всередині та що повинен робити конвертер.

Перейменувати .mrpack to .zip, open it, and you find almost nothing: an modrinth.index.json, maybe an overrides/ folder. The mods are missing. This is not corruption — it is the format working as designed.

Що всередині

modrinth.index.json     the manifest: name, version, loader, and a list of downloads
overrides/              config files, resource packs, anything not on Modrinth

Кожен запис у маніфесті виглядає так:

{
  "path": "mods/sodium.jar",
  "hashes": { "sha1": "…", "sha512": "…" },
  "downloads": ["https://cdn.modrinth.com/data/…/sodium.jar"],
  "fileSize": 812345
}

Пак містить посилання, а не файли. Ось чому пак на 40 модів важить лише 200 КБ і чому будь-який звичайний архіватор «дає збій» — там просто нічого видобувати.

Що має зробити конвертер

  1. Прочитати modrinth.index.json.
  2. Отримати кожен запис за його CDN URL.
  3. Перевірити кожен файл за sha512 у маніфесті. Пропуск цього кроку — це причина, чому

пошкоджений або підмінений jar потрапляє в пак.

  1. Розмістити кожен у своєму path.
  2. Скопіювати overrides/ over the top — overrides win, that is their purpose.
  3. Запакувати результат у zip.

Крок 3 — це те, що конвертери зазвичай мовчки пропускають. Невідповідний хеш означає, що завантаження було обірвано або файл змінився; якщо все одно встановити його, пак аварійно завершуватиме роботу під час завантаження з помилкою, яка вказує не на той мод.

Навіщо це взагалі робити

  • Лаунчери, які не підтримують mrpack. ATLauncher, MultiMC та ручне встановлення вимагають

папку з файлами jar.

  • Серверна сторона. Хостинги серверів майже ніколи не приймають .mrpack; they want the mods

папку.

  • Офлайн-встановлення. Після конвертації паку більше не потрібен CDN.

Цей env field decides client versus server

Кожен файл містить:

"env": { "client": "required", "server": "unsupported" }

Серверний пак повинен пропустити усе з позначкою unsupported on the server side — mostly shaders, minimaps and HUD mods. Copying the full client mods folder onto a server is the usual cause of a crash on startup that names a rendering class.

У зворотному напрямку

Створення .mrpack from a folder is the reverse and has one trap: any mod не на Modrinth не може бути записом маніфесту. Його потрібно помістити в overrides/mods/, which makes the pack bigger but keeps it working. Silently dropping those mods produces a pack that installs cleanly and is missing content.

Конвертуйте в обох напрямках з перевіркою хешу та env split handled, in the Інструменти zip для пакетів ресурсів.

Спробувати інструмент: Resource Pack Zip Tools →