HMCL-dev/HMCL · error · JsonParseException

McbbsModpackManifest.files cannot be null

Error message

McbbsModpackManifest.files cannot be null

What it means

Thrown during deserialization of a MCBBS modpack manifest.json when the required top-level `files` array is absent. validate() is a mandatory-field check invoked after Jackson binds the JSON; a manifest that omits `files` (the list of modpack entries to install) is structurally invalid for MCBBS modpack format, so parsing is aborted rather than proceeding with an undefined file list.

Solutions

  1. Re-download the modpack archive; it may be corrupted or incomplete
  2. Check that mcbbs.packmeta includes a non-null files array
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackManifest.java:163 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of HMCL-dev/HMCL@24702dc5a0 (2026-09-10). Data as JSON: /api/errors/bbdc6c7b34a7217e. Report an issue: GitHub.

Appendix: source

Thrown at HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackManifest.java:163

@Override
public void validate() throws JsonParseException, TolerableValidationException {
    if (!MANIFEST_TYPE.equals(manifestType))
        throw new JsonParseException("McbbsModpackManifest.manifestType must be 'minecraftModpack'");
    if (files == null)
        throw new JsonParseException("McbbsModpackManifest.files cannot be null");
    if (addons == null)
        throw new JsonParseException("McbbsModpackManifest.addons cannot be null");
}

View on GitHub (pinned to 24702dc5a0)