diff --git a/src/main/java/io/github/impactdevelopment/simpletweaker/transform/ITransformer.java b/src/main/java/io/github/impactdevelopment/simpletweaker/transform/ITransformer.java index ae5f0c4..3633e6b 100644 --- a/src/main/java/io/github/impactdevelopment/simpletweaker/transform/ITransformer.java +++ b/src/main/java/io/github/impactdevelopment/simpletweaker/transform/ITransformer.java @@ -34,13 +34,12 @@ public interface ITransformer { void transform(ClassNode cn); /** - * Returns the target class names. If none are returned, - * then it is assumed that the transformer is targetting - * all classes. + * Returns whether or not a class is targeted by this transformer. + * The given class may or may not be given in an obfuscated form. * - * @return Target class names + * @return True if this transformer targets the given class */ - default String[] getTargets() { - return new String[0]; + default boolean isTarget(String className) { + return true; } } diff --git a/src/main/java/io/github/impactdevelopment/simpletweaker/transform/SimpleTransformer.java b/src/main/java/io/github/impactdevelopment/simpletweaker/transform/SimpleTransformer.java index fb77d57..78d4b5d 100644 --- a/src/main/java/io/github/impactdevelopment/simpletweaker/transform/SimpleTransformer.java +++ b/src/main/java/io/github/impactdevelopment/simpletweaker/transform/SimpleTransformer.java @@ -46,6 +46,7 @@ public class SimpleTransformer implements IClassTransformer { */ private final List transformers = new ArrayList<>(); + // This should only be used by the launchwrapper public SimpleTransformer() { // Set the instance instance = this; @@ -56,7 +57,7 @@ public final byte[] transform(String name, String transformedName, byte[] basicC if (basicClass == null) return null; - List transformers = getTransformers(transformedName); + final List transformers = getTransformers(transformedName); if (!transformers.isEmpty()) { try { @@ -109,12 +110,12 @@ public final void registerAll(ITransformer... transformers) { */ private List getTransformers(String name) { return transformers.stream() - .filter(transformer -> transformer.getTargets().length == 0 || Arrays.asList(transformer.getTargets()).contains(name)) + .filter(transformer -> transformer.isTarget(name)) .collect(Collectors.toList()); } /** - * Instantiates a new transformer using reflections. Transformer must + * Instantiates a new transformer using reflection. Transformer must * have a constructor that takes no parameters. * * @param clazz The transformer class name