User Tools

Site Tools


ru:documentation:fabric_mod_json

fabric.mod.json

Файл fabric.mod.json - это файл метаданных мода, используемый Fabric Loader для загрузки модов. Для загрузки мод должен иметь этот файл с точным именем, размещенный в корневом каталоге JAR мода.

Обязательные поля

  • schemaVersion Необходим для внутренних механизмов. Всегда должно быть 1.
  • id Определяет идентификатор мода - строку из латинских букв, цифр, знаков подчеркивания длиной от 1 до 63.
  • version Определяет версию мода - строковое значение, необязательно соответствующее c спецификацией Семантического Версионирования 2.0.0.

Необязательные поля

Загрузка мода

  • environment: Определяет, где запускается мод: только на стороне клиента (клиентский мод), только на стороне сервера (плагин) или с обеих сторон (обычный мод). Содержит идентификатор среды:
    • * Работает везде. По умолчанию.
    • client Работает на стороне клиента.
    • server Работает на стороне сервера.
  • entrypoints Определяют основные классы вашего мода, которые будут загружены.
    • Для вашего мода есть 3 точки входа по умолчанию:
      • main Будет запущен первым. Для классов, реализующих ModInitializer.
      • client Будет запущен вторым и только на стороне клиента. Для классов, реализующих ClientModInitializer.
      • server Будет запущен вторым и только на стороне сервера. Для классов, реализующих DedicatedServerModInitializer.
    • Каждая точка входа может содержать любое количество загружаемых классов. Классы (или методы, или статические поля) могут быть определены двумя способами:
      • Если вы используете Java, то просто перечислите классы (или другие) с полными именами. Например:
        "main": [
            "net.fabricmc.example.ExampleMod",
            "net.fabricmc.example.ExampleMod::handle"
        ]
  • Если вы используете какой-либо другой язык, обратитесь к документации языкового адаптера. Котлинский находится здесь (англ.).
  • jars Список вложенных JARs внутри JAR вашего мода для загрузки. Перед использованием поля ознакомьтесь с руководство по использованию вложенных JARs. Каждая запись представляет собой объект, содержащий ключ file. Это должен быть путь внутри JAR вашего мода к вложенному JAR. Например:
    "jars": [
       {
          "file": "nested/vendor/dependency.jar"
       }
    ]
  • languageAdapters Словарь адаптеров для используемых языков с указанием полных имен их классов адаптеров. Например:
    "languageAdapters": {
       "kotlin": "net.fabricmc.language.kotlin.KotlinAdapter"
    }
  • mixins Список файлов конфигурации миксина. Каждая запись - это путь к файлу конфигурации миксина внутри JAR вашего мода или объекту, содержащему следующие поля:
    • config Путь к файлу конфигурации миксина внутри JAR вашего мода.
    • environment То же самое, что и поле верхнего уровня environment. Смотрите выше. Например:
      "mixins": [
         "modid.mixins.json",
         {
            "config": "modid.client-mixins.json",
            "environment": "client"
         }
      ]

Разрешение зависимостей

Ключом каждой записи приведенных ниже объектов является идентификатор модуля зависимости.

Значение каждого ключа представляет собой строку или массив строк, объявляющих поддерживаемые диапазоны версий. В случае массива предполагается связь “ИЛИ”, то есть только один диапазон должен совпадать, чтобы коллективный диапазон был удовлетворен.

В случае всех версий * - это специальная строка, объявляющая, что любая версия соответствует диапазону. Кроме того, точное совпадение строк должно быть возможно независимо от типа версии.

  • depends Для зависимостей, необходимых для запуска. Без них игра не запустится.
  • recommends Для зависимостей, которые не требуются для запуска. Без них игра будет выдавать предупреждение.
  • suggests Для зависимостей, которые не требуются для запуска. Используйте это как своего рода метаданные.
  • breaks Для модов, которые вместе с вашими могут привести к сбою игры. С ними игра не запустится.
  • conflicts Для модов, которые вместе с вашими вызывают какие-то ошибки и т.д. С их помощью игра будет выдавать предупреждение.

Метаданные

  • name Определяет удобное для пользователя название мода. Если его нет, соответствует id.
  • description Определяет описание мода. Если нет, строка пуста.
  • contact Определяет контактную информацию для проекта. Это объект из следующих полей:
    • email Контактный адрес электронной почты, относящийся к моду. Должен быть действительный адрес электронной почты.
    • irc Канал IRC, относящийся к моду. Должен иметь допустимый формат URL-адреса - например: irc://irc.esper.net:6667/charset для #charset в EsperNet - порт необязателен и предполагается, что он равен 6667, если отсутствует.
    • homepage Домашняя страница проекта или пользователя. Должен быть действительный адрес HTTP/HTTPS.
    • issues Репорт ошибок проекта. Должен быть действительный адрес HTTP/HTTPS.
    • sources Репозиторий исходного кода проекта. Должен быть действительный URL-адрес - однако он может быть специализированным URL-адресом для данного VCS (например, Git или Mercurial).
    • Список не является исчерпывающим - моды могут предоставлять дополнительные, нестандартные ключи (такие как discord, slack, twitter и т.д.) - если возможно, они должны быть действительными URL-адресами.
  • authors Список авторов мода. Каждая запись представляет собой одно имя или объект, содержащий следующие поля:
    • name Настоящее имя или ник этого человека. Обязательно.
    • contact Контактная информация лица. То же самое, что и верхний уровень contact. Смотрите выше. Необязательно.
  • contributors Список участников мода. Каждая запись такая же, как и в поле author. Смотрите выше.
  • license Определяет информацию о лицензировании. Может быть либо одной строкой лицензии, либо их списком.
    • Это должно обеспечить полный набор привилегированных лицензий, передающих весь пакет модов. Другими словами, соответствие всем перечисленным лицензиям должно быть достаточным для использования, распространения и т.д. пакета модов в целом.
    • В случаях, когда часть кода имеет двойную лицензию, выберите предпочитаемую лицензию. Список не является исчерпывающим, служит в первую очередь своего рода подсказкой и не мешает вам предоставлять дополнительные права/лицензии в каждом конкретном случае.
    • Чтобы помочь автоматизированным инструментам, рекомендуется использовать SPDX Идентификаторы лицензий для лицензий с открытым исходным кодом.
  • icon Определяет значок мода. Значки представляют собой квадратные файлы в формате PNG. (Пакеты ресурсов Minecraft используют 128 × 128, но это не является жестким требованием - однако рекомендуется использовать степень двойки.) Может быть предоставлен в одной из двух форм:
    • Путь к одному файлу PNG.
    • Словарь ширины изображений в соответствии с путями к их файлам.

Пользовательские поля

Вы можете добавить любое поле, которое хотите добавить внутри поля custom. Загрузчик проигнорировал бы их. Однако настоятельно рекомендуется использовать пространство имен для ваших полей, чтобы избежать конфликтов, если ваши поля (имена) будут добавлены в стандартную спецификацию.

ru/documentation/fabric_mod_json.txt · Last modified: 2022/03/21 17:01 by 127.0.0.1