Annotation Type Interface


  • @Target({})
    @Retention(CLASS)
    public @interface Interface
    This annotation is used to define information for a soft-implemented interface. See Implements for details.
    • Required Element Summary

      Required Elements 
      Modifier and Type Required Element Description
      java.lang.Class<?> iface
      Interface that the parent Implements indicates the mixin implements.
      java.lang.String prefix
      [Required] prefix for implementing interface methods.
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      Interface.Remap remap
      By default, the annotation processor will attempt to locate an obfuscation mapping for all methods soft-implemented by the interface declared in this Interface annotation, since it is possible that the declared interface may be obfuscated and therefore contain obfuscated member methods.
      boolean unique
      If set to true, all methods implementing this interface are treated as if they were individually decorated with Unique
    • Element Detail

      • iface

        java.lang.Class<?> iface
        Interface that the parent Implements indicates the mixin implements. The interface will be hot-patched onto the target class as part of the mixin application.
        Returns:
        interface to implement
      • prefix

        java.lang.String prefix
        [Required] prefix for implementing interface methods. Works similarly to Shadow prefixes, but must end with a dollar sign ($)
        Returns:
        prefix to use
      • unique

        boolean unique
        If set to true, all methods implementing this interface are treated as if they were individually decorated with Unique
        Returns:
        true to mark all implementing methods as unique
        Default:
        false
      • remap

        Interface.Remap remap
        By default, the annotation processor will attempt to locate an obfuscation mapping for all methods soft-implemented by the interface declared in this Interface annotation, since it is possible that the declared interface may be obfuscated and therefore contain obfuscated member methods. However since it may be desirable to skip this pass (for example if an interface method intrinsically shadows a soft-implemented method) this setting is provided to restrict or inhibit processing of member methods matching this soft-implements decoration.
        Returns:
        Remapping strategy to use, see Interface.Remap for details.
        Default:
        org.spongepowered.asm.mixin.Interface.Remap.ALL