/
All notable changes to this project will be documented in this file.
.nilsdkmod.kdl but no root *.nilmod.css).KdlOnlyModBootstrapper to discover/inject such mods from mods/ and nilmods/ during SDK premain.ID | Name | Version | Authors | License2.0.1 in build and metadata resources.DefaultSdkEntrypointModule now runs KDL-only bootstrap before dependency enforcement.KdlParseException during valid .nilsdkmod.kdl parsing.name, version, and entrypoints instead of fallback ? values.All notable changes to this project will be documented in this file.
2.0.0.
2.0.0, mods relied on NilLoader CSS metadata only (*.nilmod.css).2.0.0 adds SDK KDL metadata (*.nilsdkmod.kdl) and runtime bridge integration.KdlParser, KdlWriterKdlDocument, KdlNode, KdlValue, KdlParseExceptionNilLoaderHelper convenience APIs for easier multi-mod integration and diagnostics:
isAllModsLoaded(String...)getFirstLoadedMod(String...)getEntrypoints(String)hasEntrypoint(String, String)getModsWithEntrypoint(String)hasMissingRequiredMods(String)getMissingRequiredModsForLoadedMods()getModsRequiring(String)NilLoaderSDKEvent, CancellableEvent, EventPriority, SubscribeEventEventBus with:
@SubscribeEvent)listen style)PreEntrypointDispatchEvent (cancellable)PhaseEventPostEntrypointDispatchEventNilModBase now includes convenience methods to register/post/listen events.modurlsourceurllicensecredits (multi-value)2.0.0 in build and metadata resources.NilMetadataBridge now parses .nilsdkmod.kdl via shared KDL parser (KdlParser) instead of manual string parsing for better compatibility.nilmod {}, entrypoints {}) and top-level fallback keys (name, description, authors, version, entrypoints.<phase>).1.0.4 under 2.0.0.All notable changes to this project will be documented in this file.
1.0.3 in build and metadata resources.SdkModMetadataSdkMetadataKdlSdkMetadataIONilMetadataBridgeNilMetadataPatchInstallerNilMetadata.from during premain to merge CSS + KDL automatically.src/main/resources/nilloadersdk.nilsdkmod.kdl.NilLoaderHelper SDK metadata APIs:
getSdkMetadata(String) / getSdkMetadata(NilMetadata)getMissingRequiredMods(String)areRequiredModsLoaded(String)getLoadBefore(String)getLoadAfter(String)getIconPath(String)getLoadedModIcons()getRequiredMods(String)isSafeLoad(String).nilsdkmod.kdl (legacy .kdl names are still readable).safeload=true -> warn logsafeload=false -> error and stop startup*.nilmod.css and continues to work normally.All notable changes to this project will be documented in this file.
NilLoaderHelper in me.tamkungz.nilloadersdk.helper.isModLoaded, isAnyModLoadedgetModMetadata, getModMetadataOrNull, getAllLoadedModsgetLoadedModIds, getLoadedModNames, getLoadedModsByIdgetSourceFile, getEntrypointNames, getEntrypointClass, describeModTransformerHelper in me.tamkungz.nilloadersdk.helper.registerBytecodePatch for raw byte[] transformsregisterAsmPatch for ASM ClassNode transformsSimpleRemap.forVersion("1.4.7") preserves manual mappings from build147() as higher priority..remapping/1.4.7/mcp2obf.srg) is used only to fill missing entries, not overwrite existing build147() mappings.SimpleRemap.forVersion(version) can load remap for versions that provide local .remapping/<version>/mcp2obf.srg.GeneratedSrgMappings from local .remapping/*/mcp2obf.srg and embeds only the extracted mappings used by SDK remap calls.SimpleRemap, then keeps fallback behavior for local development..remapping is not bundled in the repository contents..remapping directory.NilLoaderHelper and summarizes key API groups.TransformerHelper and phase timing notes (premain / hijack).All notable changes to this project will be documented in this file.
Loggers.setRoot(String), getRoot(), and resetRoot().sdk(String), forMod(String), forClass(String, Class<?>), and forModClass(String, Class<?>).sdk() and forClass(Class<?>) continue to work with global fallback root.A/... and B/... can coexist.DEFAULT_ROOT and safely falls back when blank/null is provided.
Utilities and helper SDK for NilLoader mod development. The purpose is to make developing older versions of Minecraft easier.