Fix Diagonal Fences breaking after resource reload

This commit is contained in:
embeddedt 2023-07-20 10:57:29 -04:00
parent 0767b6e9cf
commit e8aa88b317
No known key found for this signature in database
GPG Key ID: A69433EC199B5613

View File

@ -30,8 +30,9 @@ public abstract class MultipartAppenderMixin {
private static boolean handlerInjected = false; private static boolean handlerInjected = false;
@Inject(method = "onPrepareModelBaking", at = @At("RETURN")) @Inject(method = "onPrepareModelBaking", at = @At("HEAD"), cancellable = true)
private static void setupHelper(CallbackInfo ci) { private static void setupHelper(CallbackInfo ci) {
ci.cancel();
if(handlerInjected) if(handlerInjected)
return; return;
handlerInjected = true; handlerInjected = true;
@ -40,8 +41,12 @@ public abstract class MultipartAppenderMixin {
public UnbakedModel onUnbakedModelLoad(ResourceLocation location, UnbakedModel originalModel, ModelBakery bakery) { public UnbakedModel onUnbakedModelLoad(ResourceLocation location, UnbakedModel originalModel, ModelBakery bakery) {
if(originalModel instanceof MultiPart multipart) { if(originalModel instanceof MultiPart multipart) {
Block block = multipart.definition.getOwner(); Block block = multipart.definition.getOwner();
if(block instanceof FenceBlock && block instanceof DiagonalBlock diagonalBlock && diagonalBlock.hasProperties()) { if((block instanceof FenceBlock || block instanceof IronBarsBlock) && block instanceof DiagonalBlock diagonalBlock && diagonalBlock.hasProperties()) {
appendDiagonalSelectors(((ModelBakeryAccessor)bakery)::diagonalfences$callCacheAndQueueDependencies, multipart, block instanceof IronBarsBlock); try {
appendDiagonalSelectors(((ModelBakeryAccessor)bakery)::diagonalfences$callCacheAndQueueDependencies, multipart, block instanceof IronBarsBlock);
} catch(RuntimeException e) {
e.printStackTrace();
}
} }
} }
return originalModel; return originalModel;