[7.0] Improve Parchment 404 error messages
The Parchment website suggests the following format on their getting started page for FG5+: 2025.10.05-1.21.9. Their site needs updating eventually for FG7 (the v prefix in the version badges is an added source of confusion), but a nice QoL feature would be to detect a legacy version format and show a more helpful error.
For example, when setting the mapping version to 2025.10.05-1.21.9, it currently dumps this stacktrace:
download[2025.10.05-1.21.9][parchment]
1 actionable task: 1 executed
Exception in thread "main" java.lang.RuntimeException: Failed to execute task `download[2025.10.05-1.21.9][parchment]` which is required by task `srg2names[parchment-2025.10.05-1.21.9]`
at net.minecraftforge.mcmaven.impl.util.Task$Simple.execute(Task.java:102)
at net.minecraftforge.mcmaven.impl.repo.Repo$PendingArtifact.get(Repo.java:206)
at net.minecraftforge.mcmaven.impl.MinecraftMaven.finalize(MinecraftMaven.java:138)
at net.minecraftforge.mcmaven.impl.MinecraftMaven.run(MinecraftMaven.java:80)
at net.minecraftforge.mcmaven.cli.MavenTask.run(MavenTask.java:146)
at net.minecraftforge.mcmaven.cli.Main.run(Main.java:57)
at net.minecraftforge.mcmaven.cli.Main.main(Main.java:21)
Caused by: java.lang.RuntimeException: Failed to execute task `download[2025.10.05-1.21.9][parchment]`
at net.minecraftforge.mcmaven.impl.util.Task$Simple.execute(Task.java:116)
at net.minecraftforge.mcmaven.impl.util.Task$Simple.execute(Task.java:100)
... 6 more
Caused by: net.minecraftforge.util.download.DownloadUtils$DownloadFailedException: Failed to download https://maven.parchmentmc.org/org/parchmentmc/data/parchment-2025.10.05/1.21.9/parchment-2025.10.05-1.21.9-checked.zip
at net.minecraftforge.util.download.DownloadUtils.downloadFile(DownloadUtils.java:161)
at net.minecraftforge.util.download.DownloadUtils.downloadFile(DownloadUtils.java:142)
at net.minecraftforge.mcmaven.impl.cache.MavenCache.downloadFile(MavenCache.java:206)
at net.minecraftforge.mcmaven.impl.cache.MavenCache.download(MavenCache.java:189)
at net.minecraftforge.mcmaven.impl.cache.MavenCache.download(MavenCache.java:72)
at net.minecraftforge.mcmaven.impl.mappings.ParchmentMappings.download(ParchmentMappings.java:97)
at net.minecraftforge.mcmaven.impl.mappings.ParchmentMappings.lambda$downloadTask$1(ParchmentMappings.java:83)
at net.minecraftforge.mcmaven.impl.util.Task$Simple.execute(Task.java:110)
... 7 more
Caused by: java.io.FileNotFoundException: Returned 404: https://maven.parchmentmc.org/org/parchmentmc/data/parchment-2025.10.05/1.21.9/parchment-2025.10.05-1.21.9-checked.zip
at net.minecraftforge.util.download.DownloadUtils.connect(DownloadUtils.java:91)
at net.minecraftforge.util.download.DownloadUtils.downloadFile(DownloadUtils.java:156)
... 14 more
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':syncMinecraftMaven'.
Having a problems report that suggests changing it to just "2025.10.05" without the "-1.21.9" suffix as a solution would be useful for those upgrading existing their existing FG6 setups.
Yeah, I'd prefer throwing a problem rather than detecting legacy formats, so we can conform to whatever spec is needed. If we add support for legacy options, it may open the floodgates to needing to support more legacy things, and I don't want to do that.
- Similar to #987.
Thanks for the report.
To be clear, I'm not asking for support for legacy formats, but instead showing more helpful errors when it fails to match the spec and the provided format is a known unsupported one.
Bumped requirement to 7.0.0 instead of 7.0.0-rc.0 since there were other more pressing matters. Thank you.