Skip to content

[Feature Request] MixinSquared target resolution support #2333

@ByThePowerOfScience

Description

@ByThePowerOfScience

Minecraft Development for IntelliJ plugin version

2024.1-1.8.0

Description of the feature request

When someone puts bad logic in a Mixin, MixinSquared is an incredibly-helpful library for patching it. Unfortunately, since it uses another annotation (@TargetHandler) for its target bootstrapping, MCDev doesn't natively understand it and can't offer the awesome Mixin-targeting support you guys put in it.

It should be a simple addition; all that would need to be done is recognize the following format for target resolution:

@TargetHandler(
  mixin="path.to.TargetMixin",
  name="nameOfTargetMethod(LOptionalArgumentsIfAmbiguous)",
  prefix="optionalPrefix$" // optional; for full-method injections of soft-implemented interface methods, aka the `ident$getUUID()` thing in the Mixin wiki that people don't usually have to use
)
@Inject( // or @Redirect, etc
  method="@MixinSquared:Handler",
  // the rest is the same as normal
)

and resolve it to "Targeted method: path.to.TargetMixin#nameOfTargetMethod(arguments)".

Thank you for your time, and for considering this suggestion!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions