Skip to content

Legacy v1.0.3

Choose a tag to compare

@TamKungZ TamKungZ released this 26 Mar 08:55
· 66 commits to main since this release

[1.0.3] - 2026-03-26

Changed

  • Bumped SDK version to 1.0.3 in 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:
    • SdkModMetadata
    • SdkMetadataKdl
    • SdkMetadataIO
  • Runtime metadata bridge in SDK:
    • MetadataBridge
    • MetadataPatchInstaller
    • Patches Metadata.from during premain to merge CSS + KDL automatically.
  • New SDK metadata resource source-of-truth: src/main/resources/[sdk].sdkmod.kdl.
  • LoaderHelper SDK metadata APIs:
    • getSdkMetadata(String) / getSdkMetadata(Metadata)
    • getMissingRequiredMods(String)
    • areRequiredModsLoaded(String)
    • getLoadBefore(String)
    • getLoadAfter(String)
    • getIconPath(String)
    • getLoadedModIcons()
    • getRequiredMods(String)
    • isSafeLoad(String)

Notes

  • SDK-only metadata is separated from the loader's base metadata for compatibility.
  • SDK metadata default file is now .sdkmod.kdl (legacy .kdl names 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
  • If SDK is not installed, the base loader still reads only original *.mod.css and continues to work normally.