
NilLoaderSDK API
Utilities and helper SDK for NilLoader mod development. The purpose is to make developing older versions of Minecraft easier.
21
0
NilLoaderSDK API 1.0.3
release6 апреля 2026 г.CHANGE
All notable changes to this project will be documented in this file.
[1.0.3] - 2026-03-26
Changed
- Bumped SDK version to
1.0.3in build and metadata resources. - KDL metadata parser remains custom/in-project (Java 8 compatible), without external KDL dependency.
Added
- SDK-only metadata model and IO:
SdkModMetadataSdkMetadataKdlSdkMetadataIO
- Runtime metadata bridge in SDK:
NilMetadataBridgeNilMetadataPatchInstaller- Patches
NilMetadata.fromduring premain to merge CSS + KDL automatically.
- New SDK metadata resource source-of-truth:
src/main/resources/nilloadersdk.nilsdkmod.kdl. NilLoaderHelperSDK metadata APIs:getSdkMetadata(String)/getSdkMetadata(NilMetadata)getMissingRequiredMods(String)areRequiredModsLoaded(String)getLoadBefore(String)getLoadAfter(String)getIconPath(String)getLoadedModIcons()getRequiredMods(String)isSafeLoad(String)
Notes
- SDK-only metadata is separated from NilLoader base metadata for compatibility.
- SDK metadata default file is now
.nilsdkmod.kdl(legacy.kdlnames are still readable). - Merge policy: CSS is primary; KDL only fills missing metadata fields.
- No per-mod custom Gradle metadata-generation step required.
- Dependency enforcement:
- Missing required mods +
safeload=true-> warn log - Missing required mods +
safeload=false-> error and stop startup
- Missing required mods +
- If SDK is not installed, NilLoader still reads only original
*.nilmod.cssand continues to work normally.
NilLoaderSDK API 1.0.2
release23 марта 2026 г.CHANGE
All notable changes to this project will be documented in this file.
[1.0.2] - 2026-03-24
Added
- New helper:
NilLoaderHelperinme.tamkungz.nilloadersdk.helper. - Convenience APIs for NilLoader metadata and loaded-mod checks:
isModLoaded,isAnyModLoadedgetModMetadata,getModMetadataOrNull,getAllLoadedModsgetLoadedModIds,getLoadedModNames,getLoadedModsByIdgetSourceFile,getEntrypointNames,getEntrypointClass,describeMod
- New helper:
TransformerHelperinme.tamkungz.nilloadersdk.helper. - Java-agent style class patch registration via NilLoader transformer pipeline (no Mixin required):
registerBytecodePatchfor raw byte[] transformsregisterAsmPatchfor ASMClassNodetransforms- class-name normalization utilities for internal slash format
Changed
SimpleRemap.forVersion("1.4.7")preserves manual mappings frombuild147()as higher priority.- External SRG (
.remapping/1.4.7/mcp2obf.srg) is used only to fill missing entries, not overwrite existingbuild147()mappings. SimpleRemap.forVersion(version)can load remap for versions that provide local.remapping/<version>/mcp2obf.srg.
Packaging
- SRG files are not bundled into the built JAR.
- Build now auto-generates
GeneratedSrgMappingsfrom local.remapping/*/mcp2obf.srgand embeds only the extracted mappings used by SDK remap calls. - Runtime loads generated mappings first via
SimpleRemap, then keeps fallback behavior for local development.
Notes
.remappingis not bundled in the repository contents.- If you want to build and use remapping locally, prepare/provide your own
.remappingdirectory.
Docs
- README helper section now includes
NilLoaderHelperand summarizes key API groups. - README now documents class patching usage through
TransformerHelperand phase timing notes (premain/hijack).
NilLoaderSDK API 1.0.1
release21 марта 2026 г.CHANGE
All notable changes to this project will be documented in this file.
[1.0.1] - 2026-03-22
Added
- Configurable logging root namespace in
Loggers. - New APIs:
setRoot(String),getRoot(), andresetRoot(). - Per-mod/per-class explicit APIs:
sdk(String),forMod(String),forClass(String, Class<?>), andforModClass(String, Class<?>).
Changed
sdk()andforClass(Class<?>)continue to work with global fallback root.- Multi-mod usage is now supported via explicit-root APIs so roots like
A/...andB/...can coexist. - Logging root defaults to
DEFAULT_ROOTand safely falls back when blank/null is provided.
NilLoaderSDK API 1.0.0
release21 марта 2026 г.Нет описания изменений
Совместимость
Minecraft: Java Edition
1.6.x1.5.x1.4.x1.3.x
Платформы
Поддерживаемые окружения
Клиент и сервер
Ссылки
Создатели
Детали
Лицензия:LGPL-3.0-only
Опубликован:2 недели назад
Обновлён:1 день назад
