HMCL-dev/HMCL · error · IOException

`mcbbs.packmeta` or `manifest.json` cannot be found

Error message

`mcbbs.packmeta` or `manifest.json` cannot be found

What it means

readManifest guard: the modpack archive contains neither 'mcbbs.packmeta' nor 'manifest.json', so it is not a recognizable MCBBS modpack and its manifest cannot be read. Generic sentinel error for a missing required archive entry.

Solutions

  1. Verify the archive is a valid MCBBS modpack containing mcbbs.packmeta (or manifest.json)
  2. Re-download the modpack; it may be corrupted or packed incorrectly
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackProvider.java:82 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/7beb50fe7166224c. Report an issue: GitHub.

Appendix: source

Thrown at HMCLCore/src/main/java/org/jackhuang/hmcl/modpack/mcbbs/McbbsModpackProvider.java:82

@Override
public Modpack readManifest(ZipArchiveReader zip, Path file, Charset encoding) throws IOException, JsonParseException {
    ZipArchiveEntry mcbbsPackMeta = zip.getEntry("mcbbs.packmeta");
    if (mcbbsPackMeta != null) {
        return fromManifestFile(zip.getInputStream(mcbbsPackMeta), encoding);
    }
    ZipArchiveEntry manifestJson = zip.getEntry("manifest.json");
    if (manifestJson != null) {
        return fromManifestFile(zip.getInputStream(manifestJson), encoding);
    }
    throw new IOException("`mcbbs.packmeta` or `manifest.json` cannot be found");
}

View on GitHub (pinned to 24702dc5a0)