diff --git a/CHANGELOG.md b/CHANGELOG.md index cfaffcc..7b39a8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,3 @@ -### 6.0.1 +### 6.0.2 -- Re add Mekanism Support \ No newline at end of file +- Don't hard crash on invalid codecs and print more erros \ No newline at end of file diff --git a/common/src/main/java/com/unrealdinnerbone/jamd/WorldType.java b/common/src/main/java/com/unrealdinnerbone/jamd/WorldType.java index badd65a..1930e51 100644 --- a/common/src/main/java/com/unrealdinnerbone/jamd/WorldType.java +++ b/common/src/main/java/com/unrealdinnerbone/jamd/WorldType.java @@ -145,14 +145,25 @@ public void export(MinecraftServer server) throws IllegalStateException, IOExcep }); } - DataResult result = ConfigCodec.CODEC.encodeStart(JsonOps.INSTANCE, new ConfigCodec(1, false, oresCodecs)); + List workedOres = new ArrayList<>(); + + for (OresCodec oresCodec : oresCodecs) { + DataResult jsonElementDataResult = OresCodec.CODEC.encodeStart(JsonOps.INSTANCE, oresCodec); + if(jsonElementDataResult.result().isPresent()) { + workedOres.add(oresCodec); + }else { + LOGGER.error("Failed to encode: {}", jsonElementDataResult.error().get()); + } + } + + DataResult result = ConfigCodec.CODEC.encodeStart(JsonOps.INSTANCE, new ConfigCodec(1, false, workedOres)); if (result.result().isPresent()) { if (!Files.exists(JAMD.CONFIG_FOLDER)) { Files.createDirectories(JAMD.CONFIG_FOLDER); } Files.writeString(configPath, GSON.toJson(result.result().get())); } else { - throw new IllegalStateException(result.error().get().message()); + LOGGER.error("Failed to load config: {}", result.error().get()); } } } diff --git a/gradle.properties b/gradle.properties index d77d6ff..d8dae16 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ # Project -mod_version=5.0.1 +mod_version=5.0.2 maven_group=com.unrealdinnerbone curse_id=422981 mod_name=JAMD