Skip to content

Commit a7c2424

Browse files
committed
Handle missing models in item overrides
1 parent bc2e84b commit a7c2424

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

common/src/main/java/org/embeddedt/modernfix/common/mixin/perf/dynamic_resources/ItemOverridesMixin.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package org.embeddedt.modernfix.common.mixin.perf.dynamic_resources;
22

3+
import net.minecraft.client.multiplayer.ClientLevel;
34
import net.minecraft.client.renderer.block.model.ItemOverride;
45
import net.minecraft.client.renderer.block.model.ItemOverrides;
56
import net.minecraft.client.resources.model.BakedModel;
7+
import net.minecraft.world.entity.LivingEntity;
8+
import net.minecraft.world.item.ItemStack;
69
import org.embeddedt.modernfix.dynamicresources.ItemOverrideBakedModel;
710
import org.spongepowered.asm.mixin.Mixin;
811
import org.spongepowered.asm.mixin.injection.At;
@@ -20,11 +23,12 @@ private Function<ItemOverride, BakedModel> itemToBaked(Function<ItemOverride, Ba
2023
}
2124

2225
@Inject(method = "resolve", at = @At("RETURN"), cancellable = true)
23-
private void getRealModel(CallbackInfoReturnable<BakedModel> cir) {
26+
private void getRealModel(BakedModel bakedModel, ItemStack itemStack, ClientLevel clientLevel, LivingEntity livingEntity, CallbackInfoReturnable<BakedModel> cir) {
2427
BakedModel original = cir.getReturnValue();
2528
if(original instanceof ItemOverrideBakedModel) {
2629
ItemOverrideBakedModel override = (ItemOverrideBakedModel)original;
27-
cir.setReturnValue(override.getRealModel());
30+
BakedModel overrideModel = override.getRealModel();
31+
cir.setReturnValue(overrideModel != null ? overrideModel : bakedModel);
2832
}
2933
}
3034
}

0 commit comments

Comments
 (0)