package cuchaz.enigma.command; import java.nio.file.Path; import java.util.List; import cuchaz.enigma.EnigmaProject; import cuchaz.enigma.ProgressListener; public class DeobfuscateCommand extends Command { public DeobfuscateCommand() { super("deobfuscate"); } @Override public String getUsage() { return " []"; } @Override public boolean isValidArgument(int length) { return length == 2 || length == 3; } @Override public void run(String... args) throws Exception { Path fileJarIn = getReadablePath(getArg(args, 0, "in jar", true)); Path fileJarOut = getWritableFile(getArg(args, 1, "out jar", true)).toPath(); Path fileMappings = getReadablePath(getArg(args, 2, "mappings file", false)); List libraries = getReadablePaths(args, 3); EnigmaProject project = openProject(fileJarIn, fileMappings, libraries); ProgressListener progress = new ConsoleProgressListener(); EnigmaProject.JarExport jar = project.exportRemappedJar(progress); jar.write(fileJarOut, progress); } }