30 lines
1.1 KiB
Java
30 lines
1.1 KiB
Java
|
|
|
|
package moe.nea.firmament.mixins;
|
|
|
|
import moe.nea.firmament.events.CustomItemModelEvent;
|
|
import net.minecraft.client.render.item.ItemModels;
|
|
import net.minecraft.client.render.model.BakedModel;
|
|
import net.minecraft.client.render.model.BakedModelManager;
|
|
import net.minecraft.item.ItemStack;
|
|
import org.spongepowered.asm.mixin.Final;
|
|
import org.spongepowered.asm.mixin.Mixin;
|
|
import org.spongepowered.asm.mixin.Shadow;
|
|
import org.spongepowered.asm.mixin.injection.At;
|
|
import org.spongepowered.asm.mixin.injection.Inject;
|
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
|
|
|
@Mixin(ItemModels.class)
|
|
public class CustomModelEventPatch {
|
|
@Shadow
|
|
@Final
|
|
private BakedModelManager modelManager;
|
|
|
|
@Inject(method = "getModel(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/client/render/model/BakedModel;", at = @At("HEAD"), cancellable = true)
|
|
public void onGetModel(ItemStack stack, CallbackInfoReturnable<BakedModel> cir) {
|
|
var model = CustomItemModelEvent.getModel(stack, modelManager);
|
|
if (model != null)
|
|
cir.setReturnValue(model);
|
|
}
|
|
}
|