From 371e5119f10cf6742745fa4601fed506a164e0b9 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Sat, 5 Aug 2023 12:07:21 -0400 Subject: [PATCH] Never return a non-null model if it was top level in vanilla --- .../DynamicBakedModelProvider.java | 32 ++++++++++++++++--- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java index 9ecb0f2f..40de0d2d 100644 --- a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java +++ b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java @@ -9,8 +9,11 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.client.resources.model.BlockModelRotation; import net.minecraft.client.resources.model.ModelBakery; +import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.Direction; +import net.minecraft.core.Registry; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import org.apache.commons.lang3.tuple.Triple; import org.embeddedt.modernfix.ModernFix; @@ -103,6 +106,25 @@ public class DynamicBakedModelProvider implements Map blockOpt = Registry.BLOCK.getOptional(registryKey); + if(blockOpt.isPresent()) { + return ModelBakeryHelpers.getBlockStatesForMRL(blockOpt.get().getStateDefinition(), mrl).size() > 0; + } + } catch(RuntimeException ignored) { + // can occur if the MRL is not valid for that blockstate, ignore + } + } + return false; + } @Override public BakedModel get(Object o) { @@ -117,11 +139,11 @@ public class DynamicBakedModelProvider implements Map