Reset block predicate when model is loaded
Should help invalidate Embeddium's cache
This commit is contained in:
parent
aa53a7610b
commit
9c00f7297d
|
|
@ -63,11 +63,15 @@ public abstract class CTMPackReloadListenerMixin implements ModernFixClientInteg
|
||||||
if(original == null)
|
if(original == null)
|
||||||
original = DEFAULT_PREDICATE;
|
original = DEFAULT_PREDICATE;
|
||||||
blockRenderChecks.put(block.delegate, original);
|
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) {
|
private boolean useOverrideIfPresent(IRegistryDelegate<Block> delegate, RenderType type) {
|
||||||
Predicate<RenderType> override = renderCheckOverrides.get(delegate);
|
Predicate<RenderType> override = renderCheckOverrides.get(delegate);
|
||||||
if(override == null)
|
if(override == null)
|
||||||
|
|
@ -97,6 +101,7 @@ public abstract class CTMPackReloadListenerMixin implements ModernFixClientInteg
|
||||||
Predicate<RenderType> newPredicate = this.getLayerCheck(state, originalModel);
|
Predicate<RenderType> newPredicate = this.getLayerCheck(state, originalModel);
|
||||||
if(newPredicate != null) {
|
if(newPredicate != null) {
|
||||||
renderCheckOverrides.put(block.delegate, newPredicate);
|
renderCheckOverrides.put(block.delegate, newPredicate);
|
||||||
|
updateBlockPredicate(block);
|
||||||
return originalModel;
|
return originalModel;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user