Package org.spongepowered.asm.mixin
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.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMixinEnvironment.CompatibilityLevelOperational compatibility level for the mixin subsystemstatic classMixinEnvironment.OptionMixin optionsstatic classMixinEnvironment.PhaseEnvironment phase, deliberately not implemented as an enumstatic classMixinEnvironment.SideRepresents a "side", client or dedicated server -
Method Summary
Modifier and Type Method Description MixinEnvironmentaddConfiguration(java.lang.String config)Deprecated.use Mixins::addConfiguration insteadvoidaddTransformerExclusion(java.lang.String name)Deprecated.Do not use this methodvoidaudit()Invoke a mixin environment audit processjava.lang.ObjectgetActiveTransformer()Get the active mixin transformer instance (if any)static MixinEnvironment.CompatibilityLevelgetCompatibilityLevel()Get the current compatibility levelstatic MixinEnvironmentgetCurrentEnvironment()Gets the current environmentstatic MixinEnvironmentgetDefaultEnvironment()Gets the default environmentstatic MixinEnvironmentgetEnvironment(MixinEnvironment.Phase phase)Get the mixin environment for the specified phasejava.util.Set<java.lang.String>getErrorHandlerClasses()Deprecated.use Mixins::getErrorHandlerClassesjava.util.List<java.lang.String>getMixinConfigs()Deprecated.no replacementjava.lang.StringgetObfuscationContext()Get the current obfuscation contextbooleangetOption(MixinEnvironment.Option option)Get the specified option from the current environment<E extends java.lang.Enum<E>>
EgetOption(MixinEnvironment.Option option, E defaultValue)Get the specified option from the current environmentjava.lang.StringgetOptionValue(MixinEnvironment.Option option)Get the specified option from the current environmentMixinEnvironment.PhasegetPhase()Get the phase for this environmentstatic ProfilergetProfiler()Get the performance profilerjava.lang.StringgetRefmapObfuscationContext()Get the current obfuscation contextRemapperChaingetRemappers()Get the remapper chain for this environmentMixinEnvironment.SidegetSide()Get (and detect if necessary) the current sidejava.lang.IntegergetToken(java.lang.String token)Get a token value from this environmentjava.util.List<ITransformer>getTransformers()Deprecated.Do not use this methodjava.lang.StringgetVersion()Get the current mixin subsystem versionstatic voidinit(MixinEnvironment.Phase phase)Initialise the mixin environment in the specified phaseMixinEnvironmentregisterTokenProvider(IEnvironmentTokenProvider provider)Add a new token provider to this environmentMixinEnvironmentregisterTokenProviderClass(java.lang.String providerName)Add a new token provider class to this environmentvoidsetActiveTransformer(IMixinTransformer transformer)Set the mixin transformer instancestatic voidsetCompatibilityLevel(MixinEnvironment.CompatibilityLevel level)Deprecated.set compatibility level in configurationvoidsetObfuscationContext(java.lang.String context)Set the obfuscation contextvoidsetOption(MixinEnvironment.Option option, boolean value)Set the specified option for this environmentMixinEnvironmentsetSide(MixinEnvironment.Side side)Allows a third party to set the side if the side is currently UNKNOWNjava.lang.StringtoString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Method Details
-
getPhase
Get the phase for this environment- Returns:
- the phase
-
getMixinConfigs
@Deprecated public java.util.List<java.lang.String> getMixinConfigs()Deprecated.no replacementGet mixin configurations from the blackboard- Returns:
- list of registered mixin configs
-
addConfiguration
Deprecated.use Mixins::addConfiguration insteadAdd a mixin configuration to the blackboard- Parameters:
config- Name of configuration resource to add- Returns:
- fluent interface
-
registerTokenProviderClass
Add a new token provider class to this environment- Parameters:
providerName- Class name of the token provider to add- Returns:
- fluent interface
-
registerTokenProvider
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:
getTokenin interfaceITokenProvider- 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::getErrorHandlerClassesGet 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
Set the mixin transformer instance- Parameters:
transformer- Mixin Transformer
-
setSide
Allows a third party to set the side if the side is currently UNKNOWN- Parameters:
side- Side to set to- Returns:
- fluent interface
-
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
Get the specified option from the current environment- Parameters:
option- Option to get- Returns:
- Option value
-
setOption
Set the specified option for this environment- Parameters:
option- Option to setvalue- New option value
-
getOptionValue
Get the specified option from the current environment- Parameters:
option- Option to get- Returns:
- Option value
-
getOption
Get the specified option from the current environment- Type Parameters:
E- enum type- Parameters:
option- Option to getdefaultValue- 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
Get the remapper chain for this environment -
audit
public void audit()Invoke a mixin environment audit process -
getTransformers
Deprecated.Do not use this methodReturns (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 methodAdds a transformer to the transformer exclusions list- Parameters:
name- Class transformer exclusion to add
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-
init
Initialise the mixin environment in the specified phase- Parameters:
phase- initial phase
-
getEnvironment
Get the mixin environment for the specified phase- Parameters:
phase- phase to fetch environment for- Returns:
- the environment
-
getDefaultEnvironment
Gets the default environment- Returns:
- the
DEFAULTenvironment
-
getCurrentEnvironment
Gets the current environment- Returns:
- the currently active environment
-
getCompatibilityLevel
Get the current compatibility level -
setCompatibilityLevel
@Deprecated public static void setCompatibilityLevel(MixinEnvironment.CompatibilityLevel level) throws java.lang.IllegalArgumentExceptionDeprecated.set compatibility level in configurationSet 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
Get the performance profiler- Returns:
- profiler
-