minecraft-src/com/mojang/realmsclient/gui/RealmsNewsManager.java
2025-07-04 01:41:11 +03:00

48 lines
1.7 KiB
Java

package com.mojang.realmsclient.gui;
import com.mojang.realmsclient.dto.RealmsNews;
import com.mojang.realmsclient.util.RealmsPersistence;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public class RealmsNewsManager {
private final RealmsPersistence newsLocalStorage;
private boolean hasUnreadNews;
private String newsLink;
public RealmsNewsManager(RealmsPersistence newsLocalStorage) {
this.newsLocalStorage = newsLocalStorage;
RealmsPersistence.RealmsPersistenceData realmsPersistenceData = newsLocalStorage.read();
this.hasUnreadNews = realmsPersistenceData.hasUnreadNews;
this.newsLink = realmsPersistenceData.newsLink;
}
public boolean hasUnreadNews() {
return this.hasUnreadNews;
}
public String newsLink() {
return this.newsLink;
}
public void updateUnreadNews(RealmsNews realmsNews) {
RealmsPersistence.RealmsPersistenceData realmsPersistenceData = this.updateNewsStorage(realmsNews);
this.hasUnreadNews = realmsPersistenceData.hasUnreadNews;
this.newsLink = realmsPersistenceData.newsLink;
}
private RealmsPersistence.RealmsPersistenceData updateNewsStorage(RealmsNews realmsNews) {
RealmsPersistence.RealmsPersistenceData realmsPersistenceData = new RealmsPersistence.RealmsPersistenceData();
realmsPersistenceData.newsLink = realmsNews.newsLink;
RealmsPersistence.RealmsPersistenceData realmsPersistenceData2 = this.newsLocalStorage.read();
boolean bl = realmsPersistenceData.newsLink == null || realmsPersistenceData.newsLink.equals(realmsPersistenceData2.newsLink);
if (bl) {
return realmsPersistenceData2;
} else {
realmsPersistenceData.hasUnreadNews = true;
this.newsLocalStorage.save(realmsPersistenceData);
return realmsPersistenceData;
}
}
}