diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelManagerMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelManagerMixin.java index ce620eeda..62179e160 100644 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelManagerMixin.java +++ b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelManagerMixin.java @@ -16,6 +16,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; +import java.io.BufferedReader; import java.io.IOException; import java.util.List; import java.util.Map; @@ -43,8 +44,8 @@ private ImmutableList skipCollection(StateDefinition { - try { - return BlockModel.fromStream(resource.openAsReader()); + try (BufferedReader reader = resource.openAsReader()) { + return BlockModel.fromStream(reader); } catch(IOException e) { ModernFix.LOGGER.error("Couldn't load model", e); return null; @@ -54,8 +55,8 @@ private BlockModel loadSingleBlockModel(ResourceManager manager, ResourceLocatio private List loadSingleBlockState(ResourceManager manager, ResourceLocation location) { return manager.getResourceStack(location).stream().map(resource -> { - try { - return new ModelBakery.LoadedJson(resource.sourcePackId(), GsonHelper.parse(resource.openAsReader())); + try (BufferedReader reader = resource.openAsReader()) { + return new ModelBakery.LoadedJson(resource.sourcePackId(), GsonHelper.parse(reader)); } catch(IOException e) { ModernFix.LOGGER.error("Couldn't load blockstate", e); return null; diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelManagerMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelManagerMixin.java index 4e7cbfd37..98066097b 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelManagerMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelManagerMixin.java @@ -16,8 +16,11 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; +import java.io.BufferedReader; import java.io.IOException; -import java.util.*; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; import java.util.stream.Collectors; @@ -41,8 +44,8 @@ private ImmutableList skipCollection(StateDefinition { - try { - return BlockModel.fromStream(resource.openAsReader()); + try (BufferedReader reader = resource.openAsReader()) { + return BlockModel.fromStream(reader); } catch(IOException e) { ModernFix.LOGGER.error("Couldn't load model", e); return null; @@ -52,8 +55,8 @@ private BlockModel loadSingleBlockModel(ResourceManager manager, ResourceLocatio private List loadSingleBlockState(ResourceManager manager, ResourceLocation location) { return manager.getResourceStack(location).stream().map(resource -> { - try { - return new ModelBakery.LoadedJson(resource.sourcePackId(), GsonHelper.parse(resource.openAsReader())); + try (BufferedReader reader = resource.openAsReader()) { + return new ModelBakery.LoadedJson(resource.sourcePackId(), GsonHelper.parse(reader)); } catch(IOException e) { ModernFix.LOGGER.error("Couldn't load blockstate", e); return null;