VulkanMod

VulkanMod

357k Downloads

Weird mixin error, maybe you need to support renderer API

axelkar opened this issue ยท 4 comments

commented

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]
commented

Meteor Client is incompatible.

commented

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

commented

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.

commented

This can be closed as well.