Skip to content

Commit 9b0b975

Browse files
authored
[Enhancement] 导出整合包时隐藏系统资源文件 (#4897)
Resolves #4785
1 parent 449acbc commit 9b0b975

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/ui/export/ModpackFileSelectionPage.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import java.util.ArrayList;
4444
import java.util.List;
4545
import java.util.Map;
46-
import java.util.Objects;
4746

4847
import static org.jackhuang.hmcl.util.Lang.mapOf;
4948
import static org.jackhuang.hmcl.util.Pair.pair;
@@ -93,9 +92,22 @@ private CheckBoxTreeItem<String> getTreeItem(Path file, String basePath) {
9392
ModAdviser.ModSuggestion state = ModAdviser.ModSuggestion.SUGGESTED;
9493
if (basePath.length() > "minecraft/".length()) {
9594
state = adviser.advise(StringUtils.substringAfter(basePath, "minecraft/") + (isDirectory ? "/" : ""), isDirectory);
96-
if (!isDirectory && Objects.equals(FileUtils.getNameWithoutExtension(file), version))
97-
state = ModAdviser.ModSuggestion.HIDDEN;
98-
if (isDirectory && Objects.equals(FileUtils.getName(file), version + "-natives")) // Ignore <version>-natives
95+
96+
String fileName = FileUtils.getName(file);
97+
98+
if (!isDirectory) {
99+
switch (fileName) {
100+
case ".DS_Store", // macOS system file
101+
"desktop.ini", "Thumbs.db" // Windows system files
102+
-> state = ModAdviser.ModSuggestion.HIDDEN;
103+
}
104+
if (fileName.startsWith("._")) // macOS system file
105+
state = ModAdviser.ModSuggestion.HIDDEN;
106+
if (FileUtils.getNameWithoutExtension(file).equals(version))
107+
state = ModAdviser.ModSuggestion.HIDDEN;
108+
}
109+
110+
if (isDirectory && fileName.equals(version + "-natives")) // Ignore <version>-natives
99111
state = ModAdviser.ModSuggestion.HIDDEN;
100112
if (state == ModAdviser.ModSuggestion.HIDDEN)
101113
return null;

0 commit comments

Comments
 (0)