Annotation Interface ModifyExpressionValue


@Target(METHOD) @Retention(RUNTIME) public @interface ModifyExpressionValue
Allows you to tweak the resultant value of a method call, field get, constant or object instantiation.

Your handler method receives the expression's resultant value (optionally followed by the enclosing method's parameters), and should return the adjusted value:

 private (static) ExpressionType handler(ExpressionType original)
 
This chains when used by multiple people, unlike @Redirect and @ModifyConstant.

If you never use the original then you risk other people's changes being silently ignored.

See the wiki article for more info.

  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    org.spongepowered.asm.mixin.injection.At[]
     
     
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int
     
    int
     
    boolean
     
    int
     
    org.spongepowered.asm.mixin.injection.Slice[]
     
  • Element Details

    • method

      String[] method
    • at

      org.spongepowered.asm.mixin.injection.At[] at
    • slice

      org.spongepowered.asm.mixin.injection.Slice[] slice
      Default:
      {}
    • remap

      boolean remap
      Default:
      true
    • require

      int require
      Default:
      -1
    • expect

      int expect
      Default:
      1
    • allow

      int allow
      Default:
      -1