Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weird mixin error, maybe you need to support renderer API #480

Open
axelkar opened this issue Aug 5, 2024 · 3 comments
Open

Weird mixin error, maybe you need to support renderer API #480

axelkar opened this issue Aug 5, 2024 · 3 comments

Comments

@axelkar
Copy link

axelkar commented Aug 5, 2024

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]
@seji1
Copy link
Contributor

seji1 commented Aug 5, 2024

Meteor Client is incompatible.

@axelkar
Copy link
Author

axelkar commented Aug 5, 2024

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

@NXTler
Copy link
Contributor

NXTler commented Aug 25, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants