Class 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 Detail

      • 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
      • getMinCompatibilityLevel

        public static MixinEnvironment.CompatibilityLevel getMinCompatibilityLevel()
        Get the minimum (default) compatibility level supported by the current service
      • 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

        @Deprecated
        public static Profiler getProfiler()
        Deprecated.
        use Profiler.getProfiler("mixin")
        Get the performance profiler
        Returns:
        profiler