public final class NilLoaderHelper
extends java.lang.Object
This helper centralizes common mod-list and metadata operations that are
frequently used by SDK-based mods, so each mod does not need to re-implement
boilerplate logic around NilModList / NilMetadata.
| Modifier and Type | Method and Description |
|---|---|
static boolean |
areRequiredModsLoaded(java.lang.String id)
True when all required SDK metadata dependencies are currently loaded.
|
static java.lang.String |
describeMod(java.lang.String id)
Returns a compact single-line description suitable for logs.
|
static java.util.List<nilloader.api.NilMetadata> |
getAllLoadedMods()
Returns all loaded mod metadata entries.
|
static java.util.List<java.lang.String> |
getCredits(java.lang.String id)
Returns credits/contributors from SDK metadata.
|
static java.lang.String |
getEntrypointClass(java.lang.String id,
java.lang.String phase)
Returns a specific entrypoint target class for a given phase.
|
static java.util.Set<java.lang.String> |
getEntrypointNames(java.lang.String id)
Returns declared entrypoint names for the given mod id.
|
static java.util.Map<java.lang.String,java.lang.String> |
getEntrypoints(java.lang.String id)
Returns all entrypoint phase->class mappings for the given mod id.
|
static java.util.Optional<nilloader.api.NilMetadata> |
getFirstLoadedMod(java.lang.String... candidateIds)
Returns the first loaded mod from the provided candidate ids.
|
static java.lang.String |
getIconPath(java.lang.String id)
Returns icon path from SDK metadata, or null if not declared.
|
static java.lang.String |
getLicense(java.lang.String id)
Returns license string from SDK metadata, or null if not declared.
|
static java.util.List<java.lang.String> |
getLoadAfter(java.lang.String id)
Returns ids this mod prefers to load after (advisory metadata).
|
static java.util.List<java.lang.String> |
getLoadBefore(java.lang.String id)
Returns ids this mod prefers to load before (advisory metadata).
|
static java.util.Map<java.lang.String,java.lang.String> |
getLoadedModIcons()
Easy icon map for UI integrations (e.g., mod menu).
|
static java.util.List<java.lang.String> |
getLoadedModIds()
Returns all loaded mod ids.
|
static java.util.List<java.lang.String> |
getLoadedModNames()
Returns all loaded mod names.
|
static java.util.Map<java.lang.String,nilloader.api.NilMetadata> |
getLoadedModsById()
Returns a map of loaded mods by id, preserving load iteration order.
|
static java.util.List<java.lang.String> |
getMissingRequiredMods(java.lang.String id)
Returns list of missing required mod ids declared in SDK metadata.
|
static java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getMissingRequiredModsForLoadedMods()
Returns dependency report of loaded mods currently missing required dependencies.
|
static java.util.Optional<nilloader.api.NilMetadata> |
getModMetadata(java.lang.String id)
Returns metadata for a mod id.
|
static nilloader.api.NilMetadata |
getModMetadataOrNull(java.lang.String id)
Safe metadata lookup that returns null when unavailable.
|
static java.util.List<java.lang.String> |
getModsRequiring(java.lang.String requiredModId)
Returns loaded mod ids that declare the given mod id as a required dependency.
|
static java.util.List<java.lang.String> |
getModsWithEntrypoint(java.lang.String phase)
Returns loaded mod ids that have declared an entrypoint for the given phase.
|
static java.lang.String |
getModUrl(java.lang.String id)
Returns mod page URL from SDK metadata, or null if not declared.
|
static java.util.List<java.lang.String> |
getRequiredMods(java.lang.String id)
Returns required mod ids declared in SDK metadata.
|
static java.util.Optional<SdkModMetadata> |
getSdkMetadata(nilloader.api.NilMetadata mod)
Reads SDK-only metadata from a
NilMetadata.source location. |
static java.util.Optional<SdkModMetadata> |
getSdkMetadata(java.lang.String id)
Reads SDK-only metadata for a loaded mod by id from `.nilsdkmod.kdl`
(fallback: legacy `.kdl` names).
|
static java.io.File |
getSourceFile(java.lang.String id)
Returns the source file (JAR/path) of the given mod id.
|
static java.lang.String |
getSourceUrl(java.lang.String id)
Returns source repository URL from SDK metadata, or null if not declared.
|
static boolean |
hasEntrypoint(java.lang.String id,
java.lang.String phase)
Returns true if a mod declares an entrypoint for a given phase.
|
static boolean |
hasMissingRequiredMods(java.lang.String id)
Returns true if this mod is currently missing any required dependencies.
|
static boolean |
isAllModsLoaded(java.lang.String... ids)
Returns true if all provided mod ids are loaded.
|
static boolean |
isAnyModLoaded(java.lang.String... ids)
Returns true if at least one provided mod id is loaded.
|
static boolean |
isModLoaded(java.lang.String id)
Returns true if a mod with the given id is loaded.
|
static boolean |
isSafeLoad(java.lang.String id)
Whether this mod should soft-fail on missing dependencies (default true).
|
public static boolean isModLoaded(java.lang.String id)
public static boolean isAnyModLoaded(java.lang.String... ids)
public static boolean isAllModsLoaded(java.lang.String... ids)
public static java.util.Optional<nilloader.api.NilMetadata> getModMetadata(java.lang.String id)
public static nilloader.api.NilMetadata getModMetadataOrNull(java.lang.String id)
public static java.util.Optional<nilloader.api.NilMetadata> getFirstLoadedMod(java.lang.String... candidateIds)
public static java.util.List<nilloader.api.NilMetadata> getAllLoadedMods()
public static java.util.List<java.lang.String> getLoadedModIds()
public static java.util.List<java.lang.String> getLoadedModNames()
public static java.util.Map<java.lang.String,nilloader.api.NilMetadata> getLoadedModsById()
public static java.io.File getSourceFile(java.lang.String id)
public static java.util.Set<java.lang.String> getEntrypointNames(java.lang.String id)
public static java.lang.String getEntrypointClass(java.lang.String id,
java.lang.String phase)
public static java.util.Map<java.lang.String,java.lang.String> getEntrypoints(java.lang.String id)
public static boolean hasEntrypoint(java.lang.String id,
java.lang.String phase)
public static java.lang.String describeMod(java.lang.String id)
public static java.util.Optional<SdkModMetadata> getSdkMetadata(java.lang.String id)
This is optional metadata and does not affect base NilLoader metadata parsing.
public static java.util.Optional<SdkModMetadata> getSdkMetadata(nilloader.api.NilMetadata mod)
NilMetadata.source location.public static java.util.List<java.lang.String> getMissingRequiredMods(java.lang.String id)
public static boolean hasMissingRequiredMods(java.lang.String id)
public static boolean areRequiredModsLoaded(java.lang.String id)
public static java.util.List<java.lang.String> getLoadBefore(java.lang.String id)
public static java.util.List<java.lang.String> getLoadAfter(java.lang.String id)
public static java.lang.String getIconPath(java.lang.String id)
public static java.lang.String getModUrl(java.lang.String id)
public static java.lang.String getSourceUrl(java.lang.String id)
public static java.lang.String getLicense(java.lang.String id)
public static java.util.List<java.lang.String> getCredits(java.lang.String id)
public static java.util.List<java.lang.String> getRequiredMods(java.lang.String id)
public static boolean isSafeLoad(java.lang.String id)
public static java.util.Map<java.lang.String,java.lang.String> getLoadedModIcons()
public static java.util.List<java.lang.String> getModsWithEntrypoint(java.lang.String phase)
public static java.util.Map<java.lang.String,java.util.List<java.lang.String>> getMissingRequiredModsForLoadedMods()
Map key is loaded mod id, map value is list of missing required ids.
public static java.util.List<java.lang.String> getModsRequiring(java.lang.String requiredModId)