Java 类net.minecraftforge.fml.common.asm.transformers.AccessTransformer 实例源码

项目:Alchemy    文件:AlchemySetup.java   
public static void injectAccessTransformer(File file, String atName, LaunchClassLoader loader) throws IOException {
if (!AlchemyEngine.isRuntimeDeobfuscationEnabled() || file == null)
    return;
String at = null;
try (JarFile jar = new JarFile(file)) {
    ZipEntry entry = jar.getEntry("META-INF/" + atName);
       if (entry != null)
        at = Tool.read(jar.getInputStream(entry));
}
if (at != null) {
    List<IClassTransformer> transformers = $(loader, "transformers");
    for (IClassTransformer t : transformers)
        if (t instanceof AccessTransformer) {
            AccessTransformer transformer = (AccessTransformer) t;
            $(transformer, "processATFile", CharSource.wrap(at));
            break;
        }
}
  }