Package org.spongepowered.asm.mixin
package org.spongepowered.asm.mixin
Primary interaction points (
@Mixin and
@MixinEnvironment)
and annotations (eg.
@Mixin,
@Shadow) for mixin consumers.-
ClassDescriptionAnotation used to decorate items you might wish to examine after mixin application.Decorator annotation for mixin elements whose targets are not available in the original class and are either fabricated or transformed at runtime.This annotation has two uses: On an
Shadowfield, it can be used to raise an error-level log message if any write occurrences appear in the mixin bytecode.Pseudo-implements decorator for Mixins with conflicting methods in a superclass to soft-implement an interface.This annotation is used to define information for a soft-implemented interface.Describes the remapping strategy applied to methods matching this interface.This annotation allows fine-tuning of the overwrite policy for a soft-implemented interface member method.The main decorator for mixin classes, this annotation denotes a class as a mixin and specifies two key attributes: The target classes Every mixin requires at least one target class in order to be valid.The mixin environment manages global state information for the mixin subsystem.Operational compatibility level for the mixin subsystemMixin features which can be specified in mixin configs as required for the config to be valid.Mixin optionsEnvironment phase, deliberately not implemented as an enumRepresents a "side", client or dedicated serverEntry point for registering global mixin resources.Annotation used to indicate a mixin class member which must overwrite a method in the target class.A Mixin marked as @Pseudo is allowed to target classes which are not available at compile time and may not be available at runtime.Used to indicate a Mixin class member which is acting as a placeholder for a method or field in the target classDecorator for methods which override a method in a supermixin which the containing mixin does not directly extendThis annotation, when applied to a member method or field in a mixin, indicates that the member should never overwrite a matching member in the target class.