mirror of
https://github.com/FabricMC/fabric.git
synced 2025-04-21 03:10:54 -04:00
Defer Indigo item rendering (#2336)
- Move ItemRenderer injection point from head to before isBuiltin check to allow model replacement to run
This commit is contained in:
parent
c85f2e3889
commit
0ca3bd2b78
2 changed files with 3 additions and 7 deletions
fabric-renderer-indigo/src/main/java/net/fabricmc/fabric
impl/client/indigo/renderer/render
mixin/client/indigo/renderer
|
@ -106,16 +106,11 @@ public class ItemRenderContext extends AbstractRenderContext {
|
|||
this.vanillaHandler = vanillaHandler;
|
||||
computeOutputInfo();
|
||||
|
||||
matrixStack.push();
|
||||
model.getTransformation().getTransformation(transformMode).apply(invert, matrixStack);
|
||||
matrixStack.translate(-0.5D, -0.5D, -0.5D);
|
||||
matrix = matrixStack.peek().getPositionMatrix();
|
||||
normalMatrix = matrixStack.peek().getNormalMatrix();
|
||||
|
||||
((FabricBakedModel) model).emitItemQuads(itemStack, randomSupplier, this);
|
||||
|
||||
matrixStack.pop();
|
||||
|
||||
this.itemStack = null;
|
||||
this.matrixStack = null;
|
||||
this.vanillaHandler = null;
|
||||
|
|
|
@ -52,10 +52,11 @@ public abstract class MixinItemRenderer implements AccessItemRenderer {
|
|||
@Shadow
|
||||
protected abstract void renderBakedItemModel(BakedModel model, ItemStack stack, int light, int overlay, MatrixStack matrixStack, VertexConsumer buffer);
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformation$Mode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V", cancellable = true)
|
||||
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/model/BakedModel;isBuiltin()Z"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformation$Mode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V", cancellable = true)
|
||||
public void hook_renderItem(ItemStack stack, ModelTransformation.Mode transformMode, boolean invert, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, int overlay, BakedModel model, CallbackInfo ci) {
|
||||
if (!stack.isEmpty() && !((FabricBakedModel) model).isVanillaAdapter()) {
|
||||
if (!((FabricBakedModel) model).isVanillaAdapter()) {
|
||||
fabric_contexts.get().renderModel(stack, transformMode, invert, matrixStack, vertexConsumerProvider, light, overlay, model, fabric_vanillaHandler);
|
||||
matrixStack.pop();
|
||||
ci.cancel();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue