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 cc41f5d0..1603f0f3 100644 --- a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java +++ b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/DynamicBakedModelProvider.java @@ -75,7 +75,8 @@ public class DynamicBakedModelProvider implements Map()); - currentInstance = this; + if(currentInstance == null) + currentInstance = this; } public void setMissingModel(BakedModel model) { diff --git a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ItemOverrideBakedModel.java b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ItemOverrideBakedModel.java index 5085c197..4f9235bd 100644 --- a/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ItemOverrideBakedModel.java +++ b/common/src/main/java/org/embeddedt/modernfix/dynamicresources/ItemOverrideBakedModel.java @@ -1,6 +1,5 @@ package org.embeddedt.modernfix.dynamicresources; -import com.google.common.collect.ImmutableList; import net.minecraft.client.renderer.block.model.BakedQuad; import net.minecraft.client.renderer.block.model.ItemOverrides; import net.minecraft.client.renderer.block.model.ItemTransforms; @@ -37,41 +36,41 @@ public class ItemOverrideBakedModel implements BakedModel { @Override public List getQuads(@Nullable BlockState state, @Nullable Direction direction, RandomSource random) { - return ImmutableList.of(); + return getRealModel().getQuads(state, direction, random); } @Override public boolean useAmbientOcclusion() { - return false; + return getRealModel().useAmbientOcclusion(); } @Override public boolean isGui3d() { - return false; + return getRealModel().isGui3d(); } @Override public boolean usesBlockLight() { - return false; + return getRealModel().usesBlockLight(); } @Override public boolean isCustomRenderer() { - return false; + return getRealModel().isCustomRenderer(); } @Override public TextureAtlasSprite getParticleIcon() { - return null; + return getRealModel().getParticleIcon(); } @Override public ItemTransforms getTransforms() { - return ItemTransforms.NO_TRANSFORMS; + return getRealModel().getTransforms(); } @Override public ItemOverrides getOverrides() { - return null; + return getRealModel().getOverrides(); } } diff --git a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 1f025863..a17a9fa1 100644 --- a/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/fabric/src/main/java/org/embeddedt/modernfix/fabric/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -173,6 +173,7 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { private void captureGetter(BiFunction getter, CallbackInfo ci) { this.ignoreModelLoad = false; textureGetter = getter; + DynamicBakedModelProvider.currentInstance = (DynamicBakedModelProvider)this.bakedTopLevelModels; } @Redirect(method = "bakeModels", at = @At(value = "INVOKE", target = "Ljava/util/Map;keySet()Ljava/util/Set;")) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 3f18cf32..5b0cfe70 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -150,6 +150,7 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { @Inject(method = "bakeModels", at = @At("HEAD")) private void storeTextureGetter(BiFunction getter, CallbackInfo ci) { textureGetter = getter; + DynamicBakedModelProvider.currentInstance = (DynamicBakedModelProvider)this.bakedTopLevelModels; } @Redirect(method = "bakeModels", at = @At(value = "INVOKE", target = "Ljava/util/Map;keySet()Ljava/util/Set;"))