diff options
| author | 2019-06-19 18:51:31 +0100 | |
|---|---|---|
| committer | 2019-06-19 18:51:31 +0100 | |
| commit | 546c617598b10c341fe6549678803f6ac0c95619 (patch) | |
| tree | d818bcebf7634ed5b716ee29619725fdc29a04e8 /src/main/java/cuchaz/enigma/command/Command.java | |
| parent | fix unwanted declaration navigation during Quick Find (diff) | |
| parent | Parse profile json from cli args (diff) | |
| download | enigma-fork-546c617598b10c341fe6549678803f6ac0c95619.tar.gz enigma-fork-546c617598b10c341fe6549678803f6ac0c95619.tar.xz enigma-fork-546c617598b10c341fe6549678803f6ac0c95619.zip | |
Merge pull request #135 from gegy1000/proposal-tweak
Plugin rework
Diffstat (limited to 'src/main/java/cuchaz/enigma/command/Command.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/command/Command.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/cuchaz/enigma/command/Command.java b/src/main/java/cuchaz/enigma/command/Command.java index b107fb6..41d7bfa 100644 --- a/src/main/java/cuchaz/enigma/command/Command.java +++ b/src/main/java/cuchaz/enigma/command/Command.java | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | package cuchaz.enigma.command; | 1 | package cuchaz.enigma.command; |
| 2 | 2 | ||
| 3 | import cuchaz.enigma.Deobfuscator; | 3 | import cuchaz.enigma.Enigma; |
| 4 | import cuchaz.enigma.EnigmaProject; | ||
| 4 | import cuchaz.enigma.ProgressListener; | 5 | import cuchaz.enigma.ProgressListener; |
| 5 | import cuchaz.enigma.translation.mapping.EntryMapping; | 6 | import cuchaz.enigma.translation.mapping.EntryMapping; |
| 6 | import cuchaz.enigma.translation.mapping.serde.MappingFormat; | 7 | import cuchaz.enigma.translation.mapping.serde.MappingFormat; |
| @@ -10,7 +11,6 @@ import java.io.File; | |||
| 10 | import java.nio.file.Files; | 11 | import java.nio.file.Files; |
| 11 | import java.nio.file.Path; | 12 | import java.nio.file.Path; |
| 12 | import java.nio.file.Paths; | 13 | import java.nio.file.Paths; |
| 13 | import java.util.jar.JarFile; | ||
| 14 | 14 | ||
| 15 | public abstract class Command { | 15 | public abstract class Command { |
| 16 | public final String name; | 16 | public final String name; |
| @@ -25,15 +25,21 @@ public abstract class Command { | |||
| 25 | 25 | ||
| 26 | public abstract void run(String... args) throws Exception; | 26 | public abstract void run(String... args) throws Exception; |
| 27 | 27 | ||
| 28 | protected static Deobfuscator getDeobfuscator(Path fileMappings, JarFile jar) throws Exception { | 28 | protected static EnigmaProject openProject(Path fileJarIn, Path fileMappings) throws Exception { |
| 29 | ProgressListener progress = new ConsoleProgressListener(); | ||
| 30 | |||
| 31 | Enigma enigma = Enigma.create(); | ||
| 32 | |||
| 29 | System.out.println("Reading jar..."); | 33 | System.out.println("Reading jar..."); |
| 30 | Deobfuscator deobfuscator = new Deobfuscator(jar); | 34 | EnigmaProject project = enigma.openJar(fileJarIn, progress); |
| 35 | |||
| 31 | if (fileMappings != null) { | 36 | if (fileMappings != null) { |
| 32 | System.out.println("Reading mappings..."); | 37 | System.out.println("Reading mappings..."); |
| 33 | EntryTree<EntryMapping> mappings = chooseEnigmaFormat(fileMappings).read(fileMappings, new ConsoleProgressListener()); | 38 | EntryTree<EntryMapping> mappings = chooseEnigmaFormat(fileMappings).read(fileMappings, progress); |
| 34 | deobfuscator.setMappings(mappings); | 39 | project.setMappings(mappings); |
| 35 | } | 40 | } |
| 36 | return deobfuscator; | 41 | |
| 42 | return project; | ||
| 37 | } | 43 | } |
| 38 | 44 | ||
| 39 | protected static MappingFormat chooseEnigmaFormat(Path path) { | 45 | protected static MappingFormat chooseEnigmaFormat(Path path) { |