Class MixinEnvironment

java.lang.Object
org.spongepowered.asm.mixin.MixinEnvironment
All Implemented Interfaces:
ITokenProvider

public final class MixinEnvironment
extends java.lang.Object
implements ITokenProvider
The mixin environment manages global state information for the mixin subsystem.
  • Method Details

    • getPhase

      public MixinEnvironment.Phase getPhase()
      Get the phase for this environment
      Returns:
      the phase
    • getMixinConfigs

      @Deprecated public java.util.List<java.lang.String> getMixinConfigs()
      Deprecated.
      no replacement
      Get mixin configurations from the blackboard
      Returns:
      list of registered mixin configs
    • addConfiguration

      @Deprecated public MixinEnvironment addConfiguration​(java.lang.String config)
      Deprecated.
      use Mixins::addConfiguration instead
      Add a mixin configuration to the blackboard
      Parameters:
      config - Name of configuration resource to add
      Returns:
      fluent interface
    • registerTokenProviderClass

      public MixinEnvironment registerTokenProviderClass​(java.lang.String providerName)
      Add a new token provider class to this environment
      Parameters:
      providerName - Class name of the token provider to add
      Returns:
      fluent interface
    • registerTokenProvider

      public MixinEnvironment registerTokenProvider​(IEnvironmentTokenProvider provider)
      Add a new token provider to this environment
      Parameters:
      provider - Token provider to add
      Returns:
      fluent interface
    • getToken

      public java.lang.Integer getToken​(java.lang.String token)
      Get a token value from this environment
      Specified by:
      getToken in interface ITokenProvider
      Parameters:
      token - Token to fetch
      Returns:
      token value or null if the token is not present in the environment
    • getErrorHandlerClasses

      @Deprecated public java.util.Set<java.lang.String> getErrorHandlerClasses()
      Deprecated.
      use Mixins::getErrorHandlerClasses
      Get all registered error handlers for this environment
      Returns:
      set of error handler class names
    • getActiveTransformer

      public java.lang.Object getActiveTransformer()
      Get the active mixin transformer instance (if any)
      Returns:
      active mixin transformer instance
    • setActiveTransformer

      public void setActiveTransformer​(IMixinTransformer transformer)
      Set the mixin transformer instance
      Parameters:
      transformer - Mixin Transformer
    • setSide

      public MixinEnvironment setSide​(MixinEnvironment.Side side)
      Allows a third party to set the side if the side is currently UNKNOWN
      Parameters:
      side - Side to set to
      Returns:
      fluent interface
    • getSide

      public MixinEnvironment.Side getSide()
      Get (and detect if necessary) the current side
      Returns:
      current side (or UNKNOWN if could not be determined)
    • getVersion

      public java.lang.String getVersion()
      Get the current mixin subsystem version
      Returns:
      current version
    • getOption

      public boolean getOption​(MixinEnvironment.Option option)
      Get the specified option from the current environment
      Parameters:
      option - Option to get
      Returns:
      Option value
    • setOption

      public void setOption​(MixinEnvironment.Option option, boolean value)
      Set the specified option for this environment
      Parameters:
      option - Option to set
      value - New option value
    • getOptionValue

      public java.lang.String getOptionValue​(MixinEnvironment.Option option)
      Get the specified option from the current environment
      Parameters:
      option - Option to get
      Returns:
      Option value
    • getOption

      public <E extends java.lang.Enum<E>> E getOption​(MixinEnvironment.Option option, E defaultValue)
      Get the specified option from the current environment
      Type Parameters:
      E - enum type
      Parameters:
      option - Option to get
      defaultValue - value to use if the user-defined value is invalid
      Returns:
      Option value
    • setObfuscationContext

      public void setObfuscationContext​(java.lang.String context)
      Set the obfuscation context
      Parameters:
      context - new context
    • getObfuscationContext

      public java.lang.String getObfuscationContext()
      Get the current obfuscation context
    • getRefmapObfuscationContext

      public java.lang.String getRefmapObfuscationContext()
      Get the current obfuscation context
    • getRemappers

      public RemapperChain getRemappers()
      Get the remapper chain for this environment
    • audit

      public void audit()
      Invoke a mixin environment audit process
    • getTransformers

      @Deprecated public java.util.List<ITransformer> getTransformers()
      Deprecated.
      Do not use this method
      Returns (and generates if necessary) the transformer delegation list for this environment.
      Returns:
      current transformer delegation list (read-only)
    • addTransformerExclusion

      @Deprecated public void addTransformerExclusion​(java.lang.String name)
      Deprecated.
      Do not use this method
      Adds a transformer to the transformer exclusions list
      Parameters:
      name - Class transformer exclusion to add
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • init

      public static void init​(MixinEnvironment.Phase phase)
      Initialise the mixin environment in the specified phase
      Parameters:
      phase - initial phase
    • getEnvironment

      public static MixinEnvironment getEnvironment​(MixinEnvironment.Phase phase)
      Get the mixin environment for the specified phase
      Parameters:
      phase - phase to fetch environment for
      Returns:
      the environment
    • getDefaultEnvironment

      public static MixinEnvironment getDefaultEnvironment()
      Gets the default environment
      Returns:
      the DEFAULT environment
    • getCurrentEnvironment

      public static MixinEnvironment getCurrentEnvironment()
      Gets the current environment
      Returns:
      the currently active environment
    • getCompatibilityLevel

      public static MixinEnvironment.CompatibilityLevel getCompatibilityLevel()
      Get the current compatibility level
    • setCompatibilityLevel

      @Deprecated public static void setCompatibilityLevel​(MixinEnvironment.CompatibilityLevel level) throws java.lang.IllegalArgumentException
      Deprecated.
      set compatibility level in configuration
      Set desired compatibility level for the entire environment
      Parameters:
      level - Level to set, ignored if less than the current level
      Throws:
      java.lang.IllegalArgumentException - if the specified level is not supported
    • getProfiler

      public static Profiler getProfiler()
      Get the performance profiler
      Returns:
      profiler