diff options
| author | 2019-06-16 23:49:25 +0200 | |
|---|---|---|
| committer | 2019-06-16 23:49:25 +0200 | |
| commit | e27d5967029f4f3da8889dd673ba516dcd9f3ac8 (patch) | |
| tree | 71c98afad01cafdb2884da288e494e8761c2a8ff /src/main/java/cuchaz/enigma/command/Command.java | |
| parent | Merge remote-tracking branch 'origin/master' into proposal-tweak (diff) | |
| download | enigma-fork-e27d5967029f4f3da8889dd673ba516dcd9f3ac8.tar.gz enigma-fork-e27d5967029f4f3da8889dd673ba516dcd9f3ac8.tar.xz enigma-fork-e27d5967029f4f3da8889dd673ba516dcd9f3ac8.zip | |
Plugin rework along with API rework: Enigma split from EnigmaProject; plugins now provide services configurable via a profile
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) { |