From 4f35a6cda38430b1e3d35f47589d3dca5bddbbe1 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sat, 8 Apr 2023 17:08:35 -0400 Subject: [PATCH] Make material gatherer resilient to JSON errors --- .../mixin/perf/dynamic_resources/ModelBakeryMixin.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 015408f9..3244f626 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -7,7 +7,9 @@ import com.google.common.cache.RemovalNotification; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import com.google.gson.JsonElement; +import com.google.gson.JsonParseException; import com.google.gson.JsonParser; +import com.google.gson.JsonSyntaxException; import com.mojang.datafixers.util.Pair; import com.mojang.math.Transformation; import net.minecraft.Util; @@ -172,8 +174,8 @@ public abstract class ModelBakeryMixin { // strip models/ and .json from the name ResourceLocation model = new ResourceLocation(fileLocation.getNamespace(), fileLocation.getPath().substring(7, fileLocation.getPath().length()-5)); return Pair.of(model, parser.parse(new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8))); - } catch(IOException e) { - ModernFix.LOGGER.error("Error reading model " + fileLocation, e); + } catch(IOException | JsonParseException e) { + ModernFix.LOGGER.error("Error reading model {}: {}", fileLocation, e); return Pair.of(fileLocation, null); } }, Util.backgroundExecutor())); @@ -198,7 +200,7 @@ public abstract class ModelBakeryMixin { basicModels.put(pair.getFirst(), model); } } catch(Exception e) { - ModernFix.LOGGER.warn("Unable to load " + pair.getFirst(), e); + ModernFix.LOGGER.warn("Unable to load {}: {}", pair.getFirst(), e); } } modelBytes.clear();