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 ITransformationService
private 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 theTransformerVoteResult
for this transformer.String[]
labels()
owner()
targets()
Return a set ofITransformer.Target
identifying 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:ITransformer
Transform the input to the ITransformer's desire. The context from the last vote is provided as well.- Specified by:
transform
in 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:ITransformer
Return theTransformerVoteResult
for 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:
castVote
in 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:ITransformer
Return a set ofITransformer.Target
identifying 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:
targets
in interfaceITransformer<T>
- Returns:
- The set of targets this transformer wishes to apply to
-
getTargetType
- Specified by:
getTargetType
in interfaceITransformer<T>
-
labels
- Specified by:
labels
in interfaceITransformer<T>
- Returns:
- A string array for uniquely identifying this transformer instance within the service.
-
owner
-