VulkanMod icon indicating copy to clipboard operation
VulkanMod copied to clipboard

Weird mixin error, maybe you need to support renderer API

Open axelkar opened this issue 1 year ago • 4 comments

Describe the bug

A mixin error happens in Meteor client only when using VulkanMod. Expected Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;, but found (Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo; in net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext.renderQuad. Are you adding a bool to renderQuad?

Mixin: https://github.com/MeteorDevelopment/meteor-client/blob/master/src/main/java/meteordevelopment/meteorclient/mixin/indigo/AbstractBlockRenderContextMixin.java

@Mixin(AbstractBlockRenderContext.class)
public abstract class AbstractBlockRenderContextMixin {
    @Final @Shadow(remap = false) protected BlockRenderInfo blockInfo;

    @Inject(method = "renderQuad", at = @At(value = "INVOKE", target = "Lnet/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractBlockRenderContext;bufferQuad(Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;Lnet/minecraft/client/render/VertexConsumer;)V"), cancellable = true)
    private void onBufferQuad(MutableQuadViewImpl quad, boolean isVanilla, CallbackInfo ci) {

Steps to reproduce

  1. Install VulkanMod and Meteor client
  2. Launch the game

Log files

[17:41:42] [Render thread/WARN]: Mixin apply for mod meteor-client failed meteor-client-indigo.mixins.json:AbstractBlockRenderContextMixin from mod meteor-client ->
net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext:
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException
Invalid descriptor on meteor-client-indigo.mixins.json:AbstractBlockRenderContextMixin
from mod meteor-client->@Inject::onBufferQuad(Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V!
Expected (Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V
but found (Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V
[ -> Inject -> meteor-client-indigo.mixins.json:AbstractBlockRenderContextMixin from mod meteor-client->@Inject::onBufferQuad(Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Invalid descriptor on meteor-client-indigo.mixins.json:AbstractBlockRenderContextMixin from mod meteor-client->@Inject::onBufferQuad(Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V! Expected (Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V but found (Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V [ -> Inject -> meteor-client-indigo.mixins.json:AbstractBlockRenderContextMixin from mod meteor-client->@Inject::onBufferQuad(Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;ZLorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V]

axelkar avatar Aug 05 '24 14:08 axelkar

Meteor Client is incompatible.

ghost avatar Aug 05 '24 16:08 ghost

Meteor Client is incompatible.

I don't think it uses OpenGL? Could VulkanMod support a rendering API?

The signature should be (Lnet/fabricmc/fabric/impl/client/indigo/renderer/mesh/MutableQuadViewImpl;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V, but it isn't with VulkanMod: https://github.com/FabricMC/fabric/blob/7363c44ea9c96c8c57087a07d86fe936fb86104e/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractBlockRenderContext.java#L96

axelkar avatar Aug 05 '24 18:08 axelkar

FabricAPI implementation is slowly progressing, but I suspect that Meteorclient tries to change way too much for VulkanMod to work. Besides, we don't support third party clients, especially hack clients. This can be closed.

NXTler avatar Aug 25 '24 08:08 NXTler

This can be closed as well.

NXTler avatar Oct 27 '24 10:10 NXTler