From 9c00f7297d5542f73c3712d1f766c275286905da Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Mon, 18 Dec 2023 22:03:18 -0500 Subject: [PATCH] Reset block predicate when model is loaded Should help invalidate Embeddium's cache --- .../dynamic_resources/ctm/CTMPackReloadListenerMixin.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java index 095c122b..cc55b264 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ctm/CTMPackReloadListenerMixin.java @@ -63,11 +63,15 @@ public abstract class CTMPackReloadListenerMixin implements ModernFixClientInteg if(original == null) original = DEFAULT_PREDICATE; blockRenderChecks.put(block.delegate, original); - ItemBlockRenderTypes.setRenderLayer(block, type -> this.useOverrideIfPresent(block.delegate, type)); + updateBlockPredicate(block); } } } + private void updateBlockPredicate(Block block) { + ItemBlockRenderTypes.setRenderLayer(block, type -> this.useOverrideIfPresent(block.delegate, type)); + } + private boolean useOverrideIfPresent(IRegistryDelegate delegate, RenderType type) { Predicate override = renderCheckOverrides.get(delegate); if(override == null) @@ -97,6 +101,7 @@ public abstract class CTMPackReloadListenerMixin implements ModernFixClientInteg Predicate newPredicate = this.getLayerCheck(state, originalModel); if(newPredicate != null) { renderCheckOverrides.put(block.delegate, newPredicate); + updateBlockPredicate(block); return originalModel; } }