Describe the problem
Description
install-modrinth-modpack crashes when the modpack's modrinth.index.json contains "unknown" as an env.client or env.server value. The EnvType enum only accepts [optional, unsupported, required], which no longer covers all values returned by the Modrinth API after their Aug 2025 environments update.
Version
mc-image-helper 1.57.2
Image buildtime: 2026-05-04T14:07:07.131Z (java25)
Modpack
Create+ 6.0.0 Early Alpha (D)
https://modrinth.com/modpack/create_plus/version/6.0.0_Early_Alpha_D
Container definition
services:
minecraft:
image: itzg/minecraft-server:latest
container_name: minecraft
tty: true
stdin_open: true
ports:
- 25565:25565
environment:
EULA: "TRUE"
MODPACK_PLATFORM: MODRINTH
MEMORY: 4G
MODRINTH_MODPACK: https://modrinth.com/modpack/create_plus/version/6.0.0_Early_Alpha_D
volumes:
- ./data:/data
Container logs
WARN[0000] Found orphan containers ([server2-mc-1]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] up 1/1
✔ Container minecraft Recreated 0.0s
Attaching to minecraft
minecraft | [init] Running as uid=1000 gid=1000 with /data as 'drwxr-xr-x 7 1000 1000 224 May 9 04:06 /data'
minecraft | [init] Image info: buildtime=2026-05-04T14:07:07.131Z,version=java25,revision=3393e65d6f55e1961baf949f297d99f2623d91ec
minecraft | [mc-image-helper] 04:12:21.559 INFO : Downloading modpack for Create+ Create+ 6.0.0 Early Alpha (D)
minecraft | [mc-image-helper] 04:12:22.293 ERROR : 'install-modrinth-modpack' command failed. Version is 1.57.2
minecraft | me.itzg.helpers.errors.GenericException: Failed to read modpack index: Cannot deserialize value of type `me.itzg.helpers.modrinth.model.EnvType` from String "unknown": not one of the values accepted for Enum class: [optional, unsupported, required]
minecraft | at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1853, column: 27] (through reference chain: me.itzg.helpers.modrinth.model.ModpackIndex["files"]->java.util.ArrayList[122]->me.itzg.helpers.modrinth.model.ModpackIndex$ModpackFile["env"]->java.util.LinkedHashMap["client"])
minecraft | at me.itzg.helpers.modrinth.ModrinthPackInstaller.processModpack(ModrinthPackInstaller.java:99)
minecraft | at me.itzg.helpers.modrinth.InstallModrinthModpackCommand.lambda$call$4(InstallModrinthModpackCommand.java:179)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)
minecraft | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:306)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:306)
minecraft | at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:130)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:306)
minecraft | at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:109)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondComplete(MonoFlatMap.java:245)
minecraft | at reactor.core.publisher.MonoFlatMap$FlatMapInner.onNext(MonoFlatMap.java:306)
minecraft | at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:252)
minecraft | at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:72)
minecraft | at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
minecraft | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
minecraft | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
minecraft | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
minecraft | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
minecraft | at java.base/java.lang.Thread.run(Unknown Source)
minecraft | Suppressed: java.lang.Exception: #block terminated with an error
minecraft | at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:104)
minecraft | at reactor.core.publisher.Mono.block(Mono.java:1773)
minecraft | at me.itzg.helpers.modrinth.InstallModrinthModpackCommand.call(InstallModrinthModpackCommand.java:196)
minecraft | at me.itzg.helpers.modrinth.InstallModrinthModpackCommand.call(InstallModrinthModpackCommand.java:34)
minecraft | at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
minecraft | at picocli.CommandLine.access$1500(CommandLine.java:148)
minecraft | at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
minecraft | at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
minecraft | at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
minecraft | at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
minecraft | at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
minecraft | at picocli.CommandLine.execute(CommandLine.java:2174)
minecraft | at me.itzg.helpers.McImageHelper.main(McImageHelper.java:178)
minecraft | Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `me.itzg.helpers.modrinth.model.EnvType` from String "unknown": not one of the values accepted for Enum class: [optional, unsupported, required]
minecraft | at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1853, column: 27] (through reference chain: me.itzg.helpers.modrinth.model.ModpackIndex["files"]->java.util.ArrayList[122]->me.itzg.helpers.modrinth.model.ModpackIndex$ModpackFile["env"]->java.util.LinkedHashMap["client"])
minecraft | at com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:67)
minecraft | at com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:2006)
minecraft | at com.fasterxml.jackson.databind.DeserializationContext.handleWeirdStringValue(DeserializationContext.java:1292)
minecraft | at com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeAltString(EnumDeserializer.java:459)
minecraft | at com.fasterxml.jackson.databind.deser.std.EnumDeserializer._fromString(EnumDeserializer.java:315)
minecraft | at com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize(EnumDeserializer.java:280)
minecraft | at com.fasterxml.jackson.databind.deser.std.MapDeserializer._deserializeNoNullChecks(MapDeserializer.java:891)
minecraft | at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBind(MapDeserializer.java:552)
minecraft | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:452)
minecraft | at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:31)
minecraft | at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
minecraft | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:302)
minecraft | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:169)
minecraft | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeNoNullChecks(CollectionDeserializer.java:545)
minecraft | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer._deserializeFromArray(CollectionDeserializer.java:358)
minecraft | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
minecraft | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:29)
minecraft | at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
minecraft | at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:302)
minecraft | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:169)
minecraft | at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
minecraft | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:5052)
minecraft | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3991)
minecraft | at me.itzg.helpers.modrinth.ModrinthPackInstaller.lambda$processModpack$0(ModrinthPackInstaller.java:96)
minecraft | at me.itzg.helpers.files.IoStreams.readFileFromZip(IoStreams.java:29)
minecraft | at me.itzg.helpers.modrinth.ModrinthPackInstaller.processModpack(ModrinthPackInstaller.java:94)
minecraft | ... 21 common frames omitted
minecraft | [init] [ERROR] Failed to installModrinth modpack
minecraft exited with code 1```
Describe the problem
Description
install-modrinth-modpackcrashes when the modpack'smodrinth.index.jsoncontains"unknown"as anenv.clientorenv.servervalue. TheEnvTypeenum only accepts[optional, unsupported, required], which no longer covers all values returned by the Modrinth API after their Aug 2025 environments update.Version
mc-image-helper 1.57.2
Image buildtime: 2026-05-04T14:07:07.131Z (java25)
Modpack
Create+ 6.0.0 Early Alpha (D)
https://modrinth.com/modpack/create_plus/version/6.0.0_Early_Alpha_D
Container definition
Container logs