Package cpw.mods.modlauncher
Class TransformerHolder<T>
java.lang.Object
cpw.mods.modlauncher.TransformerHolder<T>
- All Implemented Interfaces:
ITransformer<T>
-
Nested Class Summary
Nested classes/interfaces inherited from interface cpw.mods.modlauncher.api.ITransformer
ITransformer.Target<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ITransformationServiceprivate final ITransformer<T> Fields inherited from interface cpw.mods.modlauncher.api.ITransformer
DEFAULT_LABEL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncastVote(ITransformerVotingContext context) Return theTransformerVoteResultfor this transformer.String[]labels()owner()targets()Return a set ofITransformer.Targetidentifying which elements this transformer wishes to try and apply to.transform(T input, ITransformerVotingContext context) Transform the input to the ITransformer's desire.
-
Field Details
-
wrapped
-
owner
-
-
Constructor Details
-
TransformerHolder
-
-
Method Details
-
transform
Description copied from interface:ITransformerTransform the input to the ITransformer's desire. The context from the last vote is provided as well.- Specified by:
transformin interfaceITransformer<T>- Parameters:
input- The ASM input node, which can be mutated directlycontext- The voting context- Returns:
- An ASM node of the same type as that supplied. It will be used for subsequent rounds of voting.
-
castVote
Description copied from interface:ITransformerReturn theTransformerVoteResultfor this transformer. The transformer should evaluate whether or not is is a candidate to apply during the round of voting in progress, represented by the context parameter. How the vote works:- If the transformer wishes to be a candidate, it should return
TransformerVoteResult.YES. - If the transformer wishes to exit the voting (the transformer has already
has its intended change applied, for example), it should return
TransformerVoteResult.NO - If the transformer wishes to wait for future rounds of voting it should return
TransformerVoteResult.DEFER. Note that if there is no YES candidate, but DEFER candidates remain, this is a DEFERRAL stalemate and the game will crash. - If the transformer wishes to crash the game, it should return
TransformerVoteResult.REJECT. This is extremely frowned upon, and should not be used except in extreme circumstances. If an incompatibility is present, it should detect and handle it in theITransformationService.onLoad(cpw.mods.modlauncher.api.IEnvironment, java.util.Set<java.lang.String>)
ITransformer.transform(Object, ITransformerVotingContext)method called. It is then removed from the set of transformers and another round is performed.- Specified by:
castVotein interfaceITransformer<T>- Parameters:
context- The context of the vote- Returns:
- A TransformerVoteResult indicating the desire of this transformer
- If the transformer wishes to be a candidate, it should return
-
targets
Description copied from interface:ITransformerReturn a set ofITransformer.Targetidentifying which elements this transformer wishes to try and apply to. TheITransformer.getTargetType()must match the T variable for the transformer as documented inTargetType, other combinations will be rejected.- Specified by:
targetsin interfaceITransformer<T>- Returns:
- The set of targets this transformer wishes to apply to
-
getTargetType
- Specified by:
getTargetTypein interfaceITransformer<T>
-
labels
- Specified by:
labelsin interfaceITransformer<T>- Returns:
- A string array for uniquely identifying this transformer instance within the service.
-
owner
-