Перейти к содержимому

DevKit API

Инструментарий разработчика: реестр, сеть, компоненты, конфиг — для Fabric 1.21.x

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
230
Подписчиков на Modrinth
0
версий
10
Обновлён
1 сентября 20261 сент.
Опубликован
в 2026
Это библиотека — она нужна другим модам и сама ничего не добавляет в игру
DevKit API — Modular Fabric API library · свайп

Коротко о моде

Библиотека — нужна другим модам
Работает на Fabric
Для Minecraft 1.21.8, 1.21.11 …
Нужен и в игре, и на сервере
Последняя версия — 0.2.0-alpha.4+1.21.11 от 1 сентября 2026
Нужен Fabric API
Где нужен
В игреобязателенНа сервереобязателен

Нужен и в игре, и на сервере

Версии игры1.21.1, 1.21.8, 1.21.11
Описание переведено автоматическиПоказать оригинал (EN)

🧰 DevKit API

Легковесный модульный инструментарий для создания модов на Fabric с меньшим количеством шаблонного кода и более единообразной инфраструктурой. DevKit API — это библиотека для разработчиков под Minecraft 1.21.x. Она объединяет общие системы, которые нужны многим модам — реестры, сетевую работу, Data Components, синхронизируемую конфигурацию и генерацию данных — за небольшими переиспользуемыми API. Сама по себе она не добавляет игровой контент. Игрокам стоит устанавливать её только тогда, когда другой мод указывает DevKit API как зависимость.

✨ Что предоставляет DevKit

📦 Registry Kit

KRegister собирает записи реестра в порядке объявления и предоставляет к ним доступ через типизированные ссылки RegistrySupplier. Он обеспечивает:

  • компактные и типобезопасные объявления;
  • обнаружение дублирующихся идентификаторов;
  • понятные ошибки при слишком раннем обращении к записи;
  • безопасное повторное поведение после частичных сбоев регистрации;
  • фабрики с учётом ключа реестра для блоков и предметов в новых версиях Minecraft.
public static final KRegister<Item> ITEMS =
        KRegister.create("mymod", RegistryKeys.ITEM);

public static final RegistrySupplier RUBY = ITEMS.register("ruby", key -> new Item(new Item.Settings().registryKey(key)));

---
### 🌐 Payload Networking
DevKit строится на Payload API из Fabric, при этом изолируя клиентскую сетевую логику от общего кода и кода выделенного сервера.
Классы пакетов объявляют стабильный ID, кодек и направление. `AutoPacketRegistry` проверяет эти метаданные, регистрирует payload и подключает нужный получатель для трафика S2C или C2S.
Включённые помощники покрывают распространённые сценарии отправки:
- отправка одному игроку;
- отправка игрокам, отслеживающим позицию;
- широковещательная рассылка всем игрокам;
- отправка с клиента на подключённый сервер.
```java
@AutoPacket(
        value = "mymod:energy_sync",
        direction = AutoPacket.Direction.S2C
)
public record EnergySyncPacket(int energy) implements SyncedPacket {
    // ID, CODEC, and handler
}

Клиентские получатели подключаются автоматически после регистрации пакетов, включая пакеты, зарегистрированные позже в процессе инициализации.

⚙️ Synchronized JSON Config

ConfigManager загружает читаемую JSON-конфигурацию или создаёт файл по умолчанию, если его нет. Добавьте @SyncedConfig, чтобы сделать конфигурацию серверно-авторитетной. Тогда DevKit сможет синхронизировать её значения при подключении игрока и рассылать обновления после перезагрузки. Система конфигурации поддерживает:

  • несколько именованных конфигураций на один мод;
  • обновления на лету без замены объекта конфигурации;
  • более безопасную замену файлов там, где это поддерживается;
  • защиту от повреждённых файлов;
  • проверку размера синхронизируемого payload.
@SyncedConfig("mymod")
public final class MyConfig {
    public int maxEnergy = 10_000;
    public boolean enableParticles = true;
}

MyConfig config =
        ConfigManager.loadOrCreate(MyConfig.class, "mymod", "main");

🧩 Data Components

Components API предоставляет удобные билдеры вокруг системы Data Component из Minecraft. Постоянные кодеки, пакетные кодеки, кэширование и вставку в реестр можно настроить через одно компактное объявление.

public static final ComponentType<Integer> ENERGY =
        Components.intComponent("mymod", "energy")
                .cache()
                .buildAndRegister();

🗂️ Datagen Helpers

DevKit включает переиспользуемые основы для часто повторяющихся задач генерации данных:

  • модели предметов и блоков;
  • теги блоков и предметов;
  • общие теги соглашений c:;
  • таблицы дропа блоков. Реализации для конкретных версий учитывают изменения в клиентской системе моделей Minecraft, сохраняя публичный API помощников неизменным.

🔄 Как это встраивается в мод

Зависимый мод обычно следует простому жизненному циклу:

  1. Объявить контейнеры реестров, компоненты, пакеты и классы конфигурации.
  2. Инициализировать записи реестра из инициализатора мода.
  3. Зарегистрировать классы пакетов во время общей инициализации.
  4. Загрузить конфигурации через ConfigManager.
  5. Использовать помощники сетевой работы и конфигурации из обычного игрового кода. DevKit выполняет проверки на раннем этапе и держит код физического клиента подальше от выделенных серверов, снижая число ошибок в настройке, которые иначе проявляются только во время выполнения.

📚 Примеры и документация


⚠️ Статус проекта

DevKit API сейчас находится в стадии alpha. Его основные системы работают, но публичные сигнатуры API могут измениться до стабильного релиза. Разработчикам модов следует фиксировать точную версию DevKit, используемую в их проектах.

Создано и поддерживается jrxmod Лицензировано под Apache License 2.0.

Частые вопросы

Как установить DevKit API?

Установите Fabric под свою версию Minecraft, скачайте DevKit API под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть DevKit API?

У DevKit API есть сборки для Minecraft 1.21.1, 1.21.8, 1.21.11.

Нужен ли DevKit API на сервере?

Нужен и в игре, и на сервере

Лицензия и источник
Apache License 2.0можно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее