From 1f1bf4a4428094d9003350c74089a260f27dcd5b Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sun, 19 Feb 2023 20:12:49 -0500 Subject: [PATCH] Guard against mods that don't support concurrency on resource packs Should fix #22 --- .../perf/parallelize_model_loading/ModelBakeryMixin.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/parallelize_model_loading/ModelBakeryMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/parallelize_model_loading/ModelBakeryMixin.java index 9e3c73a6..e696f92f 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/parallelize_model_loading/ModelBakeryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/parallelize_model_loading/ModelBakeryMixin.java @@ -54,7 +54,10 @@ public abstract class ModelBakeryMixin { ResourceLocation blockStateJSON = new ResourceLocation(blockLocation.getNamespace(), "blockstates/" + blockLocation.getPath() + ".json"); List blockStates; try { - blockStates = this.resourceManager.getResources(blockStateJSON); + /* Some mods' custom resource pack implementations don't seem to like concurrency here */ + synchronized(this.resourceManager) { + blockStates = this.resourceManager.getResources(blockStateJSON); + } } catch(IOException e) { ModernFix.LOGGER.warn("Exception loading blockstate definition: {}: {}", blockLocation, e); return;