Reset block predicate when model is loaded

Should help invalidate Embeddium's cache
This commit is contained in:
embeddedt 2023-12-18 22:03:18 -05:00
parent aa53a7610b
commit 9c00f7297d
No known key found for this signature in database
GPG Key ID: A69433EC199B5613

View File

@ -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<Block> delegate, RenderType type) {
Predicate<RenderType> override = renderCheckOverrides.get(delegate);
if(override == null)
@ -97,6 +101,7 @@ public abstract class CTMPackReloadListenerMixin implements ModernFixClientInteg
Predicate<RenderType> newPredicate = this.getLayerCheck(state, originalModel);
if(newPredicate != null) {
renderCheckOverrides.put(block.delegate, newPredicate);
updateBlockPredicate(block);
return originalModel;
}
}