====== Терминология ====== Перед началом моддинга с помощью Fabric, необходимо понимать некоторые ключевые термины и фразы, используемые на следующих страницах туториала. Так же полезно знать основные соглашения по поводу таких вещей, как package structure и именование modid. Знание этих правил на ранней стадии поможет Вам лучше понимать туториалы и позволит при необходимости задавать лучшие вопросы. ==== Mod ID ==== В документации, иногда мы будем ссылаться на Mod ID или modid в коде. Mod ID расшифровывается как Идентификатор мода. Эта строка должна однозначно определять Ваш мод. Mod ID часто связаны с пространством имён с таким же именем, и, следовательно, теми же ограничениями. Mod ID могут содержать только символы нижнего регистра ''a-z'', числа ''0-9'', и символы ''_-'', при этом их должно быть не менее двух. К примеру, Minecraft использует пространство имён ''minecraft''. Mod ID часто является сокращённой версией имени мода, которое делает его коротким, но узнаваемым и предотвращает конфликты имён. Обычно, проект с названием "My Project--" должен быть ''myproject'', ''my_project'', или, в некоторых случаях, ''my-project'' так же работает, но иногда это может быть неудобно. Мод будет регистрировать предметы и блоки используя Mod ID как регистрационное пространство имён. Некоторые из начальных руководств будут использовать идентификатор mod_id и регистрировать элементы и блоки в пространстве имен заполнителя, и вы можете думать об этом как о начальном шаблоне - хоть и оставить это без изменений не опасно для тестирования, не забудьте поменять его, если вы собираетесь выпустить свой проект. ==== Теги ==== Теги — это группы блоков, предметов или жидкостей со схожими свойствами, например, «minecraft:saplings» содержит все саженцы в игре. Информацию о том, как называть теги для вашего мода, можно найти [[tutorial:tags|здесь]]. Узнайте больше о тегах на [[https://minecraft.gamepedia.com/Tag|Minecraft Wiki]]. ==== Точки входа и инициализаторы ==== Загрузчик Fabric использует ''fabric.mod.json'' для обнаружения и загрузки вашего мода. Мод обычно содержит как минимум один класс инициализатора, который должен реализовывать один из «ModInitializer», «ClientInitializer» и «ServerInitializer». Все интерфейсы находятся в пакете net.fabricmc.api. Чтобы изменить или добавить инициализаторы, вам нужно отредактировать «fabric.mod.json» и найти блок «entrypoints», а затем отредактировать их соответствующим образом. * Блок **«main»** предназначен для инициализаторов модов, * Блок **«client»** — для инициализаторов клиентских модов, * Блок **«server»** — для инициализаторов модификаций сервера. { [...] "entrypoints": { "main": [ "net.fabricmc.ExampleMod" ], "client": [ "net.fabricmc.ExampleClientMod" ] } [...] } Реализуя интерфейсы Mod Initializer, вы должны реализовать функцию onInitializing() (или onInitializeClient() для клиента, onInitializeServer() для сервера). Затем вы можете написать свой код там. Также есть блок под названием «initializers». ==== Имена групп и пакетов Maven ==== Согласно документации Oracle по Java, они пишутся строчными буквами, чтобы избежать конфликта с именами классов или интерфейсов. Обратное имя вашего домена используется для начала имен. Подробнее читайте на [[https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html]].