@@ -213,6 +213,7 @@ private void onOpenWiki() {
213213 @ Override
214214 public void updateItem (RemoteVersion remoteVersion , boolean empty ) {
215215 RemoteVersion oldRemoteVersion = getItem ();
216+
216217 super .updateItem (remoteVersion , empty );
217218
218219 if (empty ) {
@@ -221,74 +222,74 @@ public void updateItem(RemoteVersion remoteVersion, boolean empty) {
221222 }
222223 setGraphic (pane );
223224
225+ if (oldRemoteVersion == remoteVersion ) return ;
226+
224227 twoLineListItem .setTitle (I18n .getDisplayVersion (remoteVersion ));
225228 if (remoteVersion .getReleaseDate () != null ) {
226229 twoLineListItem .setSubtitle (I18n .formatDateTime (remoteVersion .getReleaseDate ()));
227230 } else {
228231 twoLineListItem .setSubtitle (null );
229232 }
230233
231- if (oldRemoteVersion != remoteVersion ) {
232- twoLineListItem .getTags ().clear ();
234+ twoLineListItem .getTags ().clear ();
233235
234- if (remoteVersion instanceof GameRemoteVersion ) {
235- RemoteVersion .Type versionType = remoteVersion .getVersionType ();
236- GameVersionNumber gameVersion = GameVersionNumber .asGameVersion (remoteVersion .getGameVersion ());
236+ if (remoteVersion instanceof GameRemoteVersion ) {
237+ RemoteVersion .Type versionType = remoteVersion .getVersionType ();
238+ GameVersionNumber gameVersion = GameVersionNumber .asGameVersion (remoteVersion .getGameVersion ());
237239
238- switch (versionType ) {
239- case RELEASE -> {
240- twoLineListItem .addTag (i18n ("version.game.release" ));
241- imageView .setImage (VersionIconType .GRASS .getIcon ());
242- }
243- case SNAPSHOT , PENDING , UNOBFUSCATED -> {
244- if (versionType == RemoteVersion .Type .SNAPSHOT
245- && GameVersionNumber .asGameVersion (remoteVersion .getGameVersion ()).isAprilFools ()) {
246- twoLineListItem .addTag (i18n ("version.game.april_fools" ));
247- imageView .setImage (VersionIconType .APRIL_FOOLS .getIcon ());
248- } else {
249- twoLineListItem .addTag (i18n ("version.game.snapshot" ));
250- imageView .setImage (VersionIconType .COMMAND .getIcon ());
251- }
252- }
253- default -> {
254- twoLineListItem .addTag (i18n ("version.game.old" ));
255- imageView .setImage (VersionIconType .CRAFT_TABLE .getIcon ());
240+ switch (versionType ) {
241+ case RELEASE -> {
242+ twoLineListItem .addTag (i18n ("version.game.release" ));
243+ imageView .setImage (VersionIconType .GRASS .getIcon ());
244+ }
245+ case SNAPSHOT , PENDING , UNOBFUSCATED -> {
246+ if (versionType == RemoteVersion .Type .SNAPSHOT
247+ && GameVersionNumber .asGameVersion (remoteVersion .getGameVersion ()).isAprilFools ()) {
248+ twoLineListItem .addTag (i18n ("version.game.april_fools" ));
249+ imageView .setImage (VersionIconType .APRIL_FOOLS .getIcon ());
250+ } else {
251+ twoLineListItem .addTag (i18n ("version.game.snapshot" ));
252+ imageView .setImage (VersionIconType .COMMAND .getIcon ());
256253 }
257254 }
258-
259- switch (NativePatcher .checkSupportedStatus (gameVersion , Platform .SYSTEM_PLATFORM , OperatingSystem .SYSTEM_VERSION )) {
260- case UNTESTED -> twoLineListItem .addTagWarning (i18n ("version.game.support_status.untested" ));
261- case UNSUPPORTED -> twoLineListItem .addTagWarning (i18n ("version.game.support_status.unsupported" ));
255+ default -> {
256+ twoLineListItem .addTag (i18n ("version.game.old" ));
257+ imageView .setImage (VersionIconType .CRAFT_TABLE .getIcon ());
262258 }
263- } else {
264- VersionIconType iconType ;
265- if (remoteVersion instanceof LiteLoaderRemoteVersion )
266- iconType = VersionIconType .CHICKEN ;
267- else if (remoteVersion instanceof OptiFineRemoteVersion )
268- iconType = VersionIconType .OPTIFINE ;
269- else if (remoteVersion instanceof ForgeRemoteVersion )
270- iconType = VersionIconType .FORGE ;
271- else if (remoteVersion instanceof CleanroomRemoteVersion )
272- iconType = VersionIconType .CLEANROOM ;
273- else if (remoteVersion instanceof NeoForgeRemoteVersion )
274- iconType = VersionIconType .NEO_FORGE ;
275- else if (remoteVersion instanceof LegacyFabricRemoteVersion || remoteVersion instanceof LegacyFabricAPIRemoteVersion )
276- iconType = VersionIconType .LEGACY_FABRIC ;
277- else if (remoteVersion instanceof FabricRemoteVersion || remoteVersion instanceof FabricAPIRemoteVersion )
278- iconType = VersionIconType .FABRIC ;
279- else if (remoteVersion instanceof QuiltRemoteVersion || remoteVersion instanceof QuiltAPIRemoteVersion )
280- iconType = VersionIconType .QUILT ;
281- else
282- iconType = VersionIconType .COMMAND ;
283-
284- imageView .setImage (iconType .getIcon ());
285- String displayGameVersion = I18n .getDisplayVersion (GameVersionNumber .asGameVersion (remoteVersion .getGameVersion ()));
286-
287- if (twoLineListItem .getSubtitle () == null )
288- twoLineListItem .setSubtitle (displayGameVersion );
289- else
290- twoLineListItem .addTag (displayGameVersion );
291259 }
260+
261+ switch (NativePatcher .checkSupportedStatus (gameVersion , Platform .SYSTEM_PLATFORM , OperatingSystem .SYSTEM_VERSION )) {
262+ case UNTESTED -> twoLineListItem .addTagWarning (i18n ("version.game.support_status.untested" ));
263+ case UNSUPPORTED -> twoLineListItem .addTagWarning (i18n ("version.game.support_status.unsupported" ));
264+ }
265+ } else {
266+ VersionIconType iconType ;
267+ if (remoteVersion instanceof LiteLoaderRemoteVersion )
268+ iconType = VersionIconType .CHICKEN ;
269+ else if (remoteVersion instanceof OptiFineRemoteVersion )
270+ iconType = VersionIconType .OPTIFINE ;
271+ else if (remoteVersion instanceof ForgeRemoteVersion )
272+ iconType = VersionIconType .FORGE ;
273+ else if (remoteVersion instanceof CleanroomRemoteVersion )
274+ iconType = VersionIconType .CLEANROOM ;
275+ else if (remoteVersion instanceof NeoForgeRemoteVersion )
276+ iconType = VersionIconType .NEO_FORGE ;
277+ else if (remoteVersion instanceof LegacyFabricRemoteVersion || remoteVersion instanceof LegacyFabricAPIRemoteVersion )
278+ iconType = VersionIconType .LEGACY_FABRIC ;
279+ else if (remoteVersion instanceof FabricRemoteVersion || remoteVersion instanceof FabricAPIRemoteVersion )
280+ iconType = VersionIconType .FABRIC ;
281+ else if (remoteVersion instanceof QuiltRemoteVersion || remoteVersion instanceof QuiltAPIRemoteVersion )
282+ iconType = VersionIconType .QUILT ;
283+ else
284+ iconType = VersionIconType .COMMAND ;
285+
286+ imageView .setImage (iconType .getIcon ());
287+ String displayGameVersion = I18n .getDisplayVersion (GameVersionNumber .asGameVersion (remoteVersion .getGameVersion ()));
288+
289+ if (twoLineListItem .getSubtitle () == null )
290+ twoLineListItem .setSubtitle (displayGameVersion );
291+ else
292+ twoLineListItem .addTag (displayGameVersion );
292293 }
293294 }
294295 }
0 commit comments