MinecraftDev icon indicating copy to clipboard operation
MinecraftDev copied to clipboard

Mixin wildcard * is not properly accounted for

Open ekulxam opened this issue 4 months ago • 0 comments

Minecraft Development for IntelliJ plugin version

2025.1-1.8.6

IntelliJ version

2025.1.5.1

Operating System

macOS

Target platform

Mixins

Description of the bug

When targeting multiple methods using one handler with method = "*", MCDev suddenly produces unnecessary red error lines (the code works fine and the game runs correctly). To reproduce:

  1. Take any mixin handler (This method of reproduction works with most handlers I've tested; however, some handlers work properly and do not produce the red lines. I find that WrapOperation and ModifyExpressionValue are the most consistent when reproducing.)
  2. Replace the full method qualifier with "*" instead
  3. Your mixin should now look something similar to
@ModifyExpressionValue(method = "*", at = @At(value = "CONSTANT", args = "intValue=2048"))
    private int useHeightInstead(int original, @Local(argsOnly = true)BlockEntity blockEntity, @Local BeamEmitter.BeamSegment beamSegment) {
        return blockEntity instanceof LaserBlockEntity ? beamSegment.getHeight() : original;
    }

Original method: https://github.com/ekulxam/laseredstone/blob/28a1abf532e7ce0c5e47d5e75c9375ad63297e4d/src/main/java/survivalblock/laseredstone/mixin/BeaconBlockEntityRendererMixin.java#L15

Image

These red error lines can be ignored as they actually do not signify actual errors (the game runs with no crashes).

ekulxam avatar Sep 18 '25 08:09 ekulxam