Skip to content

Commit 6ddc09b

Browse files
committed
Fix some issues and clean up
1 parent a4ac854 commit 6ddc09b

13 files changed

Lines changed: 142 additions & 159 deletions

File tree

src/main/java/org/mcphackers/mcp/MCP.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ default void performTask(TaskMode mode, Side side, boolean enableProgressBars, b
4242
for (Task task : tasks) {
4343
if (side == Side.ANY) {
4444
// TODO also check if client/server exists locally
45-
if (task.side == Side.SERVER && hasServer || task.side != Side.SERVER) {
45+
if (task.side != Side.SERVER || hasServer) {
4646
performedTasks.add(task);
4747
}
4848
} else if (task.side == side || task.side == Side.ANY) {

src/main/java/org/mcphackers/mcp/Options.java

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,19 @@ public Options() {
99
resetDefaults();
1010
}
1111

12-
private Map<TaskParameter, Object> options = new HashMap<>();
12+
private final Map<TaskParameter, Object> options = new HashMap<>();
1313

1414
public void setDefault(TaskParameter param) {
1515
Object value = null;
1616
switch (param) {
1717
case DEBUG:
18-
value = false;
19-
break;
2018
case SRC_CLEANUP:
19+
case FULL_BUILD:
20+
case RUN_BUILD:
2121
value = false;
2222
break;
2323
case PATCHES:
24+
case OBFUSCATION:
2425
value = true;
2526
break;
2627
case IGNORED_PACKAGES:
@@ -29,30 +30,13 @@ public void setDefault(TaskParameter param) {
2930
case INDENTION_STRING:
3031
value = "\t";
3132
break;
32-
case OBFUSCATION:
33-
value = true;
34-
break;
35-
case FULL_BUILD:
36-
value = false;
37-
break;
38-
case RUN_BUILD:
39-
value = false;
40-
break;
4133
case RUN_ARGS:
4234
value = new String[] {"-Xms1024M", "-Xmx1024M", "-Djava.util.Arrays.useLegacyMergeSort=true"};
4335
break;
44-
case SETUP_VERSION:
45-
value = null;
46-
break;
4736
case SOURCE_VERSION:
48-
value = -1;
49-
break;
5037
case TARGET_VERSION:
5138
value = -1;
5239
break;
53-
case BOOT_CLASS_PATH:
54-
value = null;
55-
break;
5640
default:
5741
break;
5842
}
@@ -71,8 +55,7 @@ public void setParameter(TaskParameter param, Object value) throws IllegalArgume
7155
public Object getParameter(TaskParameter param) {
7256
Object value = options.get(param);
7357
if(value instanceof String[]) {
74-
String valueStr = String.join(", ", (String[])value);
75-
return valueStr;
58+
return String.join(", ", (String[])value);
7659
}
7760
return value;
7861
}

src/main/java/org/mcphackers/mcp/TaskParameter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ public enum TaskParameter {
1919

2020
public final String desc;
2121
public final String name;
22-
public final Class type;
22+
public final Class<?> type;
2323

24-
TaskParameter(String name, Class c) {
24+
TaskParameter(String name, Class<?> c) {
2525
this(name, "No description provided", c);
2626
}
2727

28-
TaskParameter(String name, String desc, Class c) {
28+
TaskParameter(String name, String desc, Class<?> c) {
2929
MCP.nameToParamMap.put(name, this);
3030
this.name = name;
3131
this.desc = desc;

src/main/java/org/mcphackers/mcp/gui/MenuBar.java

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -40,54 +40,40 @@ public MenuBar(MainGUI mainGUI) {
4040
initOptions();
4141
reloadSide();
4242
JMenuItem update = new JMenuItem("Check for updates");
43-
update.addActionListener(a -> {
44-
owner.operateOnThread(() -> {
45-
owner.performTask(TaskMode.UPDATE_MCP, Side.ANY, false, false);
46-
});
47-
});
43+
update.addActionListener(a -> owner.operateOnThread(() -> owner.performTask(TaskMode.UPDATE_MCP, Side.ANY, false, false)));
4844
JMenuItem[] start = new JMenuItem[2];
4945
String[] sides = {"client", "server"};
5046
for(int i = 0; i < 2; i++) {
5147
final int i2 = i;
5248
start[i] = new JMenuItem(TaskMode.START.getFullName() + " " + sides[i]);
53-
start[i].addActionListener(a -> {
54-
owner.operateOnThread(() -> {
55-
owner.performTask(TaskMode.START, Task.sides.get(i2), false, false);
56-
reloadSide();
57-
});
58-
});
49+
start[i].addActionListener(a -> owner.operateOnThread(() -> {
50+
owner.performTask(TaskMode.START, Task.sides.get(i2), false, false);
51+
reloadSide();
52+
}));
5953
}
6054
JMenuItem changeDir = new JMenuItem("Change working directory");
61-
changeDir.addActionListener(a -> {
62-
owner.operateOnThread(() -> {
63-
String value = (String)JOptionPane.showInputDialog(owner, "Enter a path to a directory", "Change working directory", JOptionPane.PLAIN_MESSAGE, null, null, owner.getWorkingDir().toAbsolutePath().toString());
64-
if(value != null) {
65-
Path p = Paths.get(value);
66-
if(Files.exists(p)) {
67-
owner.workingDir = p;
68-
owner.reloadVersionList();
69-
owner.updateButtonState();
70-
}
55+
changeDir.addActionListener(a -> owner.operateOnThread(() -> {
56+
String value = (String)JOptionPane.showInputDialog(owner, "Enter a path to a directory", "Change working directory", JOptionPane.PLAIN_MESSAGE, null, null, owner.getWorkingDir().toAbsolutePath().toString());
57+
if(value != null) {
58+
Path p = Paths.get(value);
59+
if(Files.exists(p)) {
60+
owner.workingDir = p;
61+
owner.reloadVersionList();
62+
owner.updateButtonState();
7163
}
72-
});
73-
});
64+
}
65+
}));
7466
final boolean taskMenu = true;
7567
if(taskMenu) {
76-
List<TaskMode> usedTasks = Arrays.asList(new TaskMode[] {
77-
TaskMode.DECOMPILE, TaskMode.RECOMPILE, TaskMode.REOBFUSCATE, TaskMode.CREATE_PATCH, TaskMode.BUILD,
78-
TaskMode.UPDATE_MCP, TaskMode.START, TaskMode.UPDATE_MD5, TaskMode.EXIT, TaskMode.HELP, TaskMode.SETUP
79-
});
68+
List<TaskMode> usedTasks = Arrays.asList(TaskMode.DECOMPILE, TaskMode.RECOMPILE, TaskMode.REOBFUSCATE, TaskMode.CREATE_PATCH, TaskMode.BUILD,
69+
TaskMode.UPDATE_MCP, TaskMode.START, TaskMode.UPDATE_MD5, TaskMode.EXIT, TaskMode.HELP, TaskMode.SETUP);
8070
JMenu runTask = new JMenu("More tasks...");
8171
for(TaskMode task : TaskMode.registeredTasks) {
8272
if(usedTasks.contains(task)) {
8373
continue;
8474
}
8575
JMenuItem taskItem = new JMenuItem(task.getFullName());
86-
taskItem.addActionListener(a -> {
87-
owner.operateOnThread(() -> {
88-
owner.performTask(task, side);
89-
});
90-
});
76+
taskItem.addActionListener(a -> owner.operateOnThread(() -> owner.performTask(task, side)));
9177
runTask.add(taskItem);
9278
}
9379
mcpMenu.add(runTask);
@@ -157,9 +143,7 @@ private void initOptions() {
157143
if(param.type == Boolean.class) {
158144
b = new JRadioButtonMenuItem(param.desc);
159145
resetOptions.put(param, b);
160-
b.addActionListener(e -> {
161-
options.setParameter(param, b.isSelected());
162-
});
146+
b.addActionListener(e -> options.setParameter(param, b.isSelected()));
163147
}
164148
else {
165149
b = new JMenuItem(param.desc);
@@ -176,7 +160,7 @@ private void initOptions() {
176160
options.setParameter(param, valueInt);
177161
return;
178162
}
179-
catch (NumberFormatException e) {}
163+
catch (NumberFormatException ignored) {}
180164
catch (IllegalArgumentException e) {
181165
owner.showMessage(param.desc, "Invalid value!", Task.ERROR);
182166
return;
@@ -229,9 +213,7 @@ private void initOptions() {
229213
}
230214
resetDefaults(resetOptions);
231215
JMenuItem reset = new JMenuItem("Reset to defaults");
232-
reset.addActionListener(e -> {
233-
resetDefaults(resetOptions);
234-
});
216+
reset.addActionListener(e -> resetDefaults(resetOptions));
235217
menuOptions.add(reset);
236218
}
237219

src/main/java/org/mcphackers/mcp/main/MainCLI.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ public class MainCLI implements MCP {
3939
private TaskMode mode;
4040
private Side side = Side.ANY;
4141
private TaskMode helpCommand;
42-
private Console console = System.console();
43-
private Options options = new Options();
42+
private final Console console = System.console();
43+
private final Options options = new Options();
4444
private String currentVersion;
4545

4646
private int[] progresses;
@@ -68,9 +68,10 @@ public MainCLI(String[] args) {
6868
boolean startedWithNoParams = false;
6969
boolean exit = false;
7070
String version = null;
71-
if(Files.exists(Paths.get(MCPPaths.VERSION))) {
71+
Path versionPath = Paths.get(MCPPaths.VERSION);
72+
if(Files.exists(versionPath)) {
7273
try {
73-
currentVersion = VersionsParser.setCurrentVersion(this, new String(Files.readAllBytes(Paths.get(MCPPaths.VERSION))));
74+
currentVersion = VersionsParser.setCurrentVersion(this, new String(Files.readAllBytes(versionPath)));
7475
version = new Ansi().a("Current version: ").fgBrightCyan().a(currentVersion).fgDefault().toString();
7576
} catch (Exception e) {
7677
version = new Ansi().fgBrightRed().a("Unable to get current version!").fgDefault().toString();
@@ -157,7 +158,7 @@ private void setParams(Map<String, Object> parsedArgs, TaskMode mode) {
157158
}
158159
if(mode == TaskMode.HELP) {
159160
for(TaskMode taskMode : TaskMode.registeredTasks) {
160-
if(taskMode.getName() == name) {
161+
if(taskMode.getName().equals(name)) {
161162
helpCommand = taskMode;
162163
break;
163164
}
@@ -175,7 +176,7 @@ private void setParams(Map<String, Object> parsedArgs, TaskMode mode) {
175176

176177
private boolean setMode(String name) {
177178
for(TaskMode taskMode : TaskMode.registeredTasks) {
178-
if(taskMode.getName() == name) {
179+
if(taskMode.getName().equals(name)) {
179180
mode = taskMode;
180181
return mode.taskClass != null;
181182
}
@@ -231,7 +232,7 @@ public Options getOptions() {
231232
@Override
232233
public boolean yesNoInput(String title, String msg) {
233234
log(msg);
234-
return console.readLine().toLowerCase().equals("yes");
235+
return console.readLine().equalsIgnoreCase("yes");
235236
}
236237

237238
@Override

src/main/java/org/mcphackers/mcp/main/MainGUI.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ private boolean isButtonActive(JButton button) {
254254
}
255255

256256
private void addListeners() {
257-
decompileButton.addActionListener(event -> { operateOnThread(() -> {
257+
decompileButton.addActionListener(event -> operateOnThread(() -> {
258258
int response = -1;
259259
if(Files.exists(MCPPaths.get(this, MCPPaths.SRC))) {
260260
response = JOptionPane.showConfirmDialog(this, "Are you sure you want to delete sources and decompile again?", "Confirm Action", JOptionPane.YES_NO_OPTION);
@@ -266,8 +266,7 @@ private void addListeners() {
266266
}
267267
performTask(TaskMode.DECOMPILE, getSide());
268268
}
269-
});
270-
});
269+
}));
271270
recompileButton.addActionListener(event -> operateOnThread(() -> performTask(TaskMode.RECOMPILE, getSide())));
272271
reobfButton.addActionListener(event -> operateOnThread(() -> performTask(TaskMode.REOBFUSCATE, getSide())));
273272
buildButton.addActionListener(event -> operateOnThread(() -> performTask(TaskMode.BUILD, getSide())));
@@ -287,7 +286,7 @@ public void reloadVersionList() {
287286
currentVersion = null;
288287
}
289288
MainGUI mcp = this;
290-
this.verList = new JComboBox<String>(VersionsParser.getVersionList().toArray(new String[0]));
289+
this.verList = new JComboBox<>(VersionsParser.getVersionList().toArray(new String[0]));
291290
this.verList.addPopupMenuListener(new PopupMenuListener() {
292291

293292
@Override

src/main/java/org/mcphackers/mcp/tasks/TaskDecompile.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.io.ByteArrayOutputStream;
44
import java.io.IOException;
5+
import java.nio.file.FileSystem;
56
import java.nio.file.FileSystems;
67
import java.nio.file.Files;
78
import java.nio.file.Path;
@@ -76,14 +77,16 @@ public void doTask() throws Exception {
7677
case REMAP:
7778
if (Files.exists(mappings)) {
7879
MappingUtil.readMappings(mappings, mappingTree);
79-
MappingUtil.modifyClasses(mappingTree, FileSystems.newFileSystem(originalJar, null).getPath("/"), className -> {
80-
if (mappingTree.getClass(className) == null) {
81-
if(className.lastIndexOf("/") < 0) {
82-
return "net/minecraft/src/" + className;
80+
try (FileSystem fs = FileSystems.newFileSystem(originalJar, null)) {
81+
MappingUtil.modifyClasses(mappingTree, fs.getPath("/"), className -> {
82+
if (mappingTree.getClass(className) == null) {
83+
if(className.lastIndexOf("/") < 0) {
84+
return "net/minecraft/src/" + className;
85+
}
8386
}
84-
}
85-
return null;
86-
});
87+
return null;
88+
});
89+
}
8790
MappingUtil.writeMappings(deobfMappings, mappingTree);
8891
MappingUtil.remap(deobfMappings, originalJar, tinyOut, getLibraryPaths(mcp, side), "official", "named");
8992
}
@@ -114,7 +117,7 @@ public void doTask() throws Exception {
114117
case CONSTS:
115118
List<Constants> constants = new ArrayList<>();
116119
if(hasLWJGL)
117-
constants.add(new GLConstants());
120+
constants.add(new GLConstants());
118121
constants.add(new MathConstants());
119122
Constants.replace(ffOut, constants);
120123
break;

src/main/java/org/mcphackers/mcp/tasks/TaskRecompile.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,27 @@ public void doTask() throws Exception {
5454

5555
// Compile side
5656
if (Files.exists(srcPath)) {
57-
List<File> src = Files.walk(srcPath).filter(path -> !Files.isDirectory(path) && path.getFileName().toString().endsWith(".java")).map(Path::toFile).collect(Collectors.toList());
58-
List<File> start = Files.walk(MCPPaths.get(mcp, MCPPaths.CONF + "start")).filter(path -> !Files.isDirectory(path) && path.getFileName().toString().endsWith(".java")).map(Path::toFile).collect(Collectors.toList());
57+
List<File> src;
58+
try(Stream<Path> pathStream = Files.walk(srcPath)) {
59+
src = pathStream.filter(path -> !Files.isDirectory(path) && path.getFileName().toString().endsWith(".java")).map(Path::toFile).collect(Collectors.toList());
60+
}
61+
List<File> start;
62+
try(Stream<Path> pathStream = Files.walk(MCPPaths.get(mcp, MCPPaths.CONF + "start"))) {
63+
start = pathStream.filter(path -> !Files.isDirectory(path) && path.getFileName().toString().endsWith(".java")).map(Path::toFile).collect(Collectors.toList());
64+
}
5965
if(side == Side.CLIENT) {
6066
src.addAll(start);
6167
}
6268

6369
List<String> libraries = new ArrayList<>();
64-
List<String> options = new ArrayList<>();
6570

6671
if(side == Side.SERVER) {
6772
libraries.add(MCPPaths.SERVER);
6873
}
6974
try(Stream<Path> stream = Files.list(libPath).filter(library -> !library.endsWith(".jar")).filter(library -> !Files.isDirectory(library))) {
7075
libraries.addAll(stream.map(Path::toAbsolutePath).map(Path::toString).collect(Collectors.toList()));
7176
}
72-
options.addAll(Arrays.asList("-d", binPath.toString()));
77+
List<String> options = new ArrayList<>(Arrays.asList("-d", binPath.toString()));
7378

7479
int sourceVersion = mcp.getOptions().getIntParameter(TaskParameter.SOURCE_VERSION);
7580
if (sourceVersion >= 0) {

src/main/java/org/mcphackers/mcp/tasks/TaskRun.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ else if (side == Side.CLIENT) {
7171
side == Side.SERVER ? (VersionsParser.getServerVersion(currentVersion).startsWith("c") ? "com.mojang.minecraft.server.MinecraftServer" : "net.minecraft.server.MinecraftServer")
7272
: runBuild ? "net.minecraft.client.Minecraft" : "Start"));
7373
String[] runArgs = mcp.getOptions().getStringArrayParameter(TaskParameter.RUN_ARGS);
74-
for(int i = 0; i < runArgs.length; i++) {
75-
String arg = runArgs[i];
74+
for (String arg : runArgs) {
7675
args.add(1, arg);
7776
}
7877
int exit = Util.runCommand(args.toArray(new String[0]), MCPPaths.get(mcp, MCPPaths.JARS), true);

src/main/java/org/mcphackers/mcp/tasks/TaskUpdateMD5.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.nio.file.attribute.BasicFileAttributes;
1111
import java.security.NoSuchAlgorithmException;
1212

13+
import java.util.stream.Stream;
1314
import org.mcphackers.mcp.MCP;
1415
import org.mcphackers.mcp.MCPPaths;
1516
import org.mcphackers.mcp.ProgressListener;
@@ -48,10 +49,12 @@ public void updateMD5(boolean reobf) throws Exception {
4849
if (Files.exists(binPath)) {
4950
BufferedWriter writer = new BufferedWriter(new FileWriter(md5.toFile()));
5051
progress = 0;
51-
int total = (int)Files.walk(binPath)
52-
.parallel()
53-
.filter(p -> !p.toFile().isDirectory())
54-
.count();
52+
int total;
53+
try(Stream<Path> pathStream = Files.walk(binPath)) {
54+
total = (int) pathStream.parallel()
55+
.filter(p -> !p.toFile().isDirectory())
56+
.count();
57+
}
5558
Files.walkFileTree(binPath, new SimpleFileVisitor<Path>() {
5659
@Override
5760
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

0 commit comments

Comments
 (0)