Skip to content

Commit 47ccda0

Browse files
authored
优化游戏实例默认图标 (#4776)
1 parent ae144aa commit 47ccda0

1 file changed

Lines changed: 19 additions & 9 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/game/HMCLGameRepository.java

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.jackhuang.hmcl.java.JavaRuntime;
4242
import org.jackhuang.hmcl.util.platform.OperatingSystem;
4343
import org.jackhuang.hmcl.util.platform.SystemInfo;
44+
import org.jackhuang.hmcl.util.versioning.GameVersionNumber;
4445
import org.jackhuang.hmcl.util.versioning.VersionNumber;
4546
import org.jetbrains.annotations.Nullable;
4647

@@ -318,23 +319,32 @@ public Image getVersionIconImage(String id) {
318319
LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, null);
319320
if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FABRIC))
320321
return VersionIconType.FABRIC.getIcon();
322+
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.QUILT))
323+
return VersionIconType.QUILT.getIcon();
324+
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.NEO_FORGE))
325+
return VersionIconType.NEO_FORGE.getIcon();
321326
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FORGE))
322327
return VersionIconType.FORGE.getIcon();
323328
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.CLEANROOM))
324329
return VersionIconType.CLEANROOM.getIcon();
325-
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.NEO_FORGE))
326-
return VersionIconType.NEO_FORGE.getIcon();
327-
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.QUILT))
328-
return VersionIconType.QUILT.getIcon();
329-
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.OPTIFINE))
330-
return VersionIconType.OPTIFINE.getIcon();
331330
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.LITELOADER))
332331
return VersionIconType.CHICKEN.getIcon();
333-
else
334-
return VersionIconType.FURNACE.getIcon();
332+
else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.OPTIFINE))
333+
return VersionIconType.OPTIFINE.getIcon();
335334
}
336335

337-
return VersionIconType.DEFAULT.getIcon();
336+
String gameVersion = getGameVersion(version).orElse(null);
337+
if (gameVersion != null) {
338+
GameVersionNumber versionNumber = GameVersionNumber.asGameVersion(gameVersion);
339+
if (versionNumber.isAprilFools()) {
340+
return VersionIconType.APRIL_FOOLS.getIcon();
341+
} else if (versionNumber instanceof GameVersionNumber.Snapshot) {
342+
return VersionIconType.COMMAND.getIcon();
343+
} else if (versionNumber instanceof GameVersionNumber.Old) {
344+
return VersionIconType.CRAFT_TABLE.getIcon();
345+
}
346+
}
347+
return VersionIconType.GRASS.getIcon();
338348
} else {
339349
return iconType.getIcon();
340350
}

0 commit comments

Comments
 (0)