NilKit API
NilKit API предоставляет переиспользуемые утилиты для модов, построенных вокруг NilLoader, с особым упором на разработку под старые версии Minecraft.
- Загрузчики
- NilLoader
- Скачиваний на Modrinth
- 405
- Подписчиков на Modrinth
- 2
- версий
- 12
- Обновлён
- 6 августа 20266 авг.
- Опубликован
- в 2026
Коротко о моде
Нужен и в игре, и на сервере
NilKit API
Независимый утилитарный API и набор инструментов для разработчиков модов на NilLoader.
Важно
NilKit не является частью официального проекта NilLoader и не требуется для использования NilLoader.
NilLoader поддерживается отдельно здесь:
https://git.sleeping.town/Nil/NilLoader
NilKit предоставляет переиспользуемые API и инструменты для разработки модов на старые версии Minecraft, уделяя особое внимание сокращению шаблонного кода вокруг событий, рефлексии, маппингов, метаданных, сетевого взаимодействия и утилит для разработки.
NilKit 4.1.0 нацелен на байткод Java 8 и не требует жёсткой привязки к конкретному Minecraft JAR во время выполнения для своих основных API. Функциональность, специфичная для Minecraft, по-прежнему зависит от маппингов и структуры целевой версии игры.
Возможности
События и жизненный цикл
- Лёгкая шина событий
- Отменяемые события
- Приоритеты слушателей
- Помощники жизненного цикла
premain/hijack - Типизированные слушатели и слушатели на основе аннотаций
Рефлексия и инструменты для старого Minecraft
- Помощники рефлексии для зависящего от версии кода Minecraft
- Утилиты маппингов SRG/CSRG
- Просмотр, реверс, объединение в цепочки и поиск по маппингам
- Интеграция с внешним репозиторием маппингов
MinecraftRemappingво время разработки
KDL
NilKit включает универсальный парсер и писатель KDL и может использовать KDL для более богатых метаданных проекта/мода.
Поддержка KDL необязательна. NilKit не требует, чтобы моды на NilLoader использовали KDL, и стандартные метаданные NilLoader полностью поддерживаются.
Пример:
nilmod {
name "My Mod"
description "Example mod"
authors "Author"
version "1.0.0"
}
entrypoints {
premain "com.example.MyPremain"
hijack "com.example.MyHijack"
}
nilkit {
requires "nilloader" "nilkit"
load_after "nilkit"
icon "assets/mymod/icon.png"
modurl "https://modrinth.com/mod/my-mod"
sourceurl "https://github.com/example/my-mod"
license "MIT"
credits "Author"
}Сетевое взаимодействие
- Утилиты клиента/сервера на Java NIO
- Реестр пакетов и кодеки
- Необязательные сетевые помощники для работы с Minecraft
Инструменты разработчика
Необязательный -all.jar также включает несколько библиотек для разработчиков без перемещения их публичных пакетов:
- Byte Buddy
- GEB
- ClassGraph
- SnakeYAML
Обычный артефакт NilKit не требует этих библиотек во время выполнения.
Gradle
repositories {
maven {
url = uri("https://repo.tamkungz.me")
}
}
dependencies {
implementation "me.tamkungz.nilkit:nilkit:4.1.0"
}Документация
Полная документация и информация о разработке доступны в репозитории на GitHub:
https://github.com/NilKitAPI/NilKit-API/tree/main/docs
NilLoader
NilKit создан, чтобы дополнять NilLoader, а не заменять его.
Сам NilLoader, его жизненный цикл загрузки и его разработка остаются отдельными от NilKit.
Лицензия
NilKit распространяется под лицензией LGPL-3.0-or-later.
Частые вопросы
Как установить NilKit API?
Установите NilLoader под свою версию Minecraft, скачайте NilKit API под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть NilKit API?
У NilKit API есть сборки для Minecraft 1.2.1–26.1.2.
Нужен ли NilKit API на сервере?
Нужен и в игре, и на сервере