Package net.neoforged.fml.loading.mixin
Class FMLMixinClassProcessor
java.lang.Object
net.neoforged.fml.loading.mixin.FMLMixinClassProcessor
- All Implemented Interfaces:
ClassProcessor
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.neoforged.neoforgespi.transformation.ClassProcessor
ClassProcessor.AfterProcessingContext, ClassProcessor.ComputeFlags, ClassProcessor.LinkContext, ClassProcessor.OrderingHint, ClassProcessor.SelectionContext, ClassProcessor.TransformationContext -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final FMLAuditTrailprivate final FMLClassTrackerprivate final ISyntheticClassRegistryprivate final FMLMixinServiceprivate final IMixinTransformerFields inherited from interface net.neoforged.neoforgespi.transformation.ClassProcessor
GENERATED_PACKAGE_MODULE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidWhere a class may be processed multiple times by the same processor (for example, if in addition to being loaded a later processor requests the state of the given class using aBytecodeProvider), an after-processing callback is guaranteed to run at most once per class, just before class load.(package private) booleangenerateClass(Type classType, ClassNode classNode) (package private) booleangeneratesClass(Type classType) Returns packages that this processor generates classes for, that do not already exist on the game layer.booleanReturns whether the processor wants to recieve the class.voidlink(ClassProcessor.LinkContext context) Called once after a set of class processors has been linked together with a bytecode source.name()Returns a unique identifier for this processor.Each class that the processor has opted to recieve is passed to this method for processing.private booleanprocessesClass(Type classType) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.neoforged.neoforgespi.transformation.ClassProcessor
orderingHint, runsAfter, runsBefore
-
Field Details
-
auditTrail
-
classTracker
-
transformer
-
registry
-
service
-
-
Constructor Details
-
FMLMixinClassProcessor
-
-
Method Details
-
link
Description copied from interface:ClassProcessorCalled once after a set of class processors has been linked together with a bytecode source. FML will not call transformation methods on this class processor, until it has been linked.FML only links providers once during startup.
- Specified by:
linkin interfaceClassProcessor
-
name
Description copied from interface:ClassProcessorReturns a unique identifier for this processor.- Specified by:
namein interfaceClassProcessor- Returns:
- a unique identifier for this processor
-
generatesPackages
Description copied from interface:ClassProcessorReturns packages that this processor generates classes for, that do not already exist on the game layer. Generated packages in the game layer will be in the module "net.neoforged.fml.generated".- Specified by:
generatesPackagesin interfaceClassProcessor- Returns:
- packages that this processor generates classes for, that do not already exist on the game layer
-
handlesClass
Description copied from interface:ClassProcessorReturns whether the processor wants to recieve the class.- Specified by:
handlesClassin interfaceClassProcessor- Parameters:
context- the context of the class to consider- Returns:
- whether the processor wants to recieve the class
-
processesClass
-
generatesClass
-
generateClass
-
processClass
Description copied from interface:ClassProcessorEach class that the processor has opted to recieve is passed to this method for processing.- Specified by:
processClassin interfaceClassProcessor- Parameters:
context- the context of the class to process- Returns:
- the
ClassProcessor.ComputeFlagsindicating how the class should be rewritten.
-
afterProcessing
Description copied from interface:ClassProcessorWhere a class may be processed multiple times by the same processor (for example, if in addition to being loaded a later processor requests the state of the given class using aBytecodeProvider), an after-processing callback is guaranteed to run at most once per class, just before class load. A transformer will only see this context for classes it has processed.- Specified by:
afterProcessingin interfaceClassProcessor- Parameters:
context- the context of the class that was processed
-