|
41 | 41 | import org.jackhuang.hmcl.java.JavaRuntime; |
42 | 42 | import org.jackhuang.hmcl.util.platform.OperatingSystem; |
43 | 43 | import org.jackhuang.hmcl.util.platform.SystemInfo; |
| 44 | +import org.jackhuang.hmcl.util.versioning.GameVersionNumber; |
44 | 45 | import org.jackhuang.hmcl.util.versioning.VersionNumber; |
45 | 46 | import org.jetbrains.annotations.Nullable; |
46 | 47 |
|
@@ -318,23 +319,32 @@ public Image getVersionIconImage(String id) { |
318 | 319 | LibraryAnalyzer libraryAnalyzer = LibraryAnalyzer.analyze(version, null); |
319 | 320 | if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FABRIC)) |
320 | 321 | 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(); |
321 | 326 | else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.FORGE)) |
322 | 327 | return VersionIconType.FORGE.getIcon(); |
323 | 328 | else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.CLEANROOM)) |
324 | 329 | 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(); |
331 | 330 | else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.LITELOADER)) |
332 | 331 | return VersionIconType.CHICKEN.getIcon(); |
333 | | - else |
334 | | - return VersionIconType.FURNACE.getIcon(); |
| 332 | + else if (libraryAnalyzer.has(LibraryAnalyzer.LibraryType.OPTIFINE)) |
| 333 | + return VersionIconType.OPTIFINE.getIcon(); |
335 | 334 | } |
336 | 335 |
|
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(); |
338 | 348 | } else { |
339 | 349 | return iconType.getIcon(); |
340 | 350 | } |
|
0 commit comments