Compare commits

..
2 Commits
Author SHA1 Message Date
huanghongxun e940845c60 Fix not correct mod installation 2019-02-20 16:40:26 +08:00
huanghongxun d8aa989cc4 Fix #532 2019-02-19 23:15:45 +08:00
2 changed files with 13 additions and 8 deletions

No files matched your search

@@ -21,6 +21,7 @@ import com.google.gson.JsonParseException;
import java.util.Map;
import com.google.gson.annotations.JsonAdapter;
import org.jackhuang.hmcl.util.Immutable;
import org.jackhuang.hmcl.util.StringUtils;
import org.jackhuang.hmcl.util.gson.Validation;
@@ -36,13 +37,14 @@ public final class User implements Validation {
private final String id;
@Nullable
@JsonAdapter(PropertyMapSerializer.class)
private final Map<String, String> properties;
public User(String id) {
this(id, null);
}
public User(String id, Map<String, String> properties) {
public User(String id, @Nullable Map<String, String> properties) {
this.id = id;
this.properties = properties;
}
@@ -51,6 +53,7 @@ public final class User implements Validation {
return id;
}
@Nullable
public Map<String, String> getProperties() {
return properties;
}
@@ -85,13 +85,15 @@ public final class ModManager {
public void refreshMods() throws IOException {
modInfos.clear();
for (Path subitem : Files.newDirectoryStream(getModsDirectory())) {
if (Files.isDirectory(subitem) && VersionNumber.isIntVersionNumber(FileUtils.getName(subitem))) {
// If the folder name is game version, forge will search mod in this subdirectory
for (Path subsubitem : Files.newDirectoryStream(subitem))
addModInfo(subsubitem.toFile());
} else {
addModInfo(subitem.toFile());
if (Files.isDirectory(getModsDirectory())) {
for (Path subitem : Files.newDirectoryStream(getModsDirectory())) {
if (Files.isDirectory(subitem) && VersionNumber.isIntVersionNumber(FileUtils.getName(subitem))) {
// If the folder name is game version, forge will search mod in this subdirectory
for (Path subsubitem : Files.newDirectoryStream(subitem))
addModInfo(subsubitem.toFile());
} else {
addModInfo(subitem.toFile());
}
}
}
loaded = true;