DevKit API
Инструментарий разработчика: реестр, сеть, компоненты, конфиг — для Fabric 1.21.x
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 230
- Подписчиков на Modrinth
- 0
- версий
- 10
- Обновлён
- 1 сентября 20261 сент.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
🧰 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 помощников неизменным.
🔄 Как это встраивается в мод
Зависимый мод обычно следует простому жизненному циклу:
- Объявить контейнеры реестров, компоненты, пакеты и классы конфигурации.
- Инициализировать записи реестра из инициализатора мода.
- Зарегистрировать классы пакетов во время общей инициализации.
- Загрузить конфигурации через
ConfigManager. - Использовать помощники сетевой работы и конфигурации из обычного игрового кода. DevKit выполняет проверки на раннем этапе и держит код физического клиента подальше от выделенных серверов, снижая число ошибок в настройке, которые иначе проявляются только во время выполнения.
📚 Примеры и документация
- Быстрый старт и точечные примеры API
- Настройка потребителя и пример использования
- Полный пример интеграции
- Исходный код
- Трекер задач Пример интеграции компилируется со всеми поддерживаемыми сборками и демонстрирует записи реестра, Data Components, пакеты S2C/C2S и синхронизируемую конфигурацию.
⚠️ Статус проекта
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 на сервере?
Нужен и в игре, и на сервере