mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-16 15:26:27 -04:00
Fixed java.lang.IllegalStateException: stream has already been operated upon or closed
This commit is contained in:
parent
475e6e5511
commit
e9070a77c3
@ -37,9 +37,11 @@ import org.jackhuang.hmcl.util.Logging;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public final class ModController {
|
public final class ModController {
|
||||||
@ -68,21 +70,22 @@ public final class ModController {
|
|||||||
});
|
});
|
||||||
|
|
||||||
rootPane.setOnDragDropped(event -> {
|
rootPane.setOnDragDropped(event -> {
|
||||||
List<File> mods = event.getDragboard().getFiles();
|
List<File> files = event.getDragboard().getFiles();
|
||||||
Stream<File> stream = null;
|
if (files != null) {
|
||||||
if (mods != null)
|
Collection<File> mods = files.stream()
|
||||||
stream = mods.stream()
|
.filter(it -> Arrays.asList("jar", "zip", "litemod").contains(FileUtils.getExtension(it)))
|
||||||
.filter(it -> Arrays.asList("jar", "zip", "litemod").contains(FileUtils.getExtension(it)));
|
.collect(Collectors.toList());
|
||||||
if (stream != null && stream.findAny().isPresent()) {
|
if (!mods.isEmpty()) {
|
||||||
stream.forEach(it -> {
|
mods.forEach(it -> {
|
||||||
try {
|
try {
|
||||||
modManager.addMod(versionId, it);
|
modManager.addMod(versionId, it);
|
||||||
} catch (IOException | IllegalArgumentException e) {
|
} catch (IOException | IllegalArgumentException e) {
|
||||||
Logging.LOG.log(Level.WARNING, "Unable to parse mod file " + it, e);
|
Logging.LOG.log(Level.WARNING, "Unable to parse mod file " + it, e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
loadMods(modManager, versionId);
|
loadMods(modManager, versionId);
|
||||||
event.setDropCompleted(true);
|
event.setDropCompleted(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
event.consume();
|
event.consume();
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user