mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-09-14 14:26:43 -04:00
parent
933b7cab2f
commit
06b7b1e574
@ -200,7 +200,7 @@ public final class VersionsPage extends Control implements WizardPage, Refreshab
|
||||
case PENDING:
|
||||
case SNAPSHOT:
|
||||
if (versionType == RemoteVersion.Type.SNAPSHOT
|
||||
&& GameVersionNumber.asGameVersion(remoteVersion.getGameVersion()).isSpecial()) {
|
||||
&& GameVersionNumber.asGameVersion(remoteVersion.getGameVersion()).isAprilFools()) {
|
||||
content.getTags().setAll(i18n("version.game.april_fools"));
|
||||
content.setImage(VersionIconType.APRIL_FOOLS.getIcon());
|
||||
} else {
|
||||
@ -492,7 +492,7 @@ public final class VersionsPage extends Control implements WizardPage, Refreshab
|
||||
|| versionType == RemoteVersion.Type.PENDING;
|
||||
case APRIL_FOOLS:
|
||||
return versionType == RemoteVersion.Type.SNAPSHOT
|
||||
&& GameVersionNumber.asGameVersion(it.getGameVersion()).isSpecial();
|
||||
&& GameVersionNumber.asGameVersion(it.getGameVersion()).isAprilFools();
|
||||
case OLD:
|
||||
return versionType == RemoteVersion.Type.OLD;
|
||||
case ALL:
|
||||
|
@ -98,8 +98,16 @@ public abstract class GameVersionNumber implements Comparable<GameVersionNumber>
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public boolean isSpecial() {
|
||||
return this instanceof Special;
|
||||
public boolean isAprilFools() {
|
||||
if (this instanceof Special)
|
||||
return true;
|
||||
|
||||
if (this instanceof Snapshot) {
|
||||
Snapshot snapshot = (Snapshot) this;
|
||||
return snapshot.intValue == Snapshot.toInt(15, 14, 'a');
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
enum Type {
|
||||
|
@ -99,6 +99,29 @@ public final class GameVersionNumberTest {
|
||||
assertEquals(VersionNumber.asVersion(versionNumber), old.versionNumber);
|
||||
}
|
||||
|
||||
private static boolean isAprilFools(String version) {
|
||||
return GameVersionNumber.asGameVersion(version).isAprilFools();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsAprilFools() {
|
||||
assertTrue(isAprilFools("15w14a"));
|
||||
assertTrue(isAprilFools("1.RV-Pre1"));
|
||||
assertTrue(isAprilFools("3D Shareware v1.34"));
|
||||
assertTrue(isAprilFools("2.0"));
|
||||
assertTrue(isAprilFools("20w14infinite"));
|
||||
assertTrue(isAprilFools("22w13oneBlockAtATime"));
|
||||
assertTrue(isAprilFools("23w13a_or_b"));
|
||||
assertTrue(isAprilFools("24w14potato"));
|
||||
assertTrue(isAprilFools("25w14craftmine"));
|
||||
|
||||
assertFalse(isAprilFools("1.21.8"));
|
||||
assertFalse(isAprilFools("1.21.8-rc1"));
|
||||
assertFalse(isAprilFools("25w21a"));
|
||||
assertFalse(isAprilFools("13w12~"));
|
||||
assertFalse(isAprilFools("15w14b"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testParseOld() {
|
||||
assertOldVersion("rd-132211", GameVersionNumber.Type.PRE_CLASSIC, "132211");
|
||||
|
Loading…
x
Reference in New Issue
Block a user