minecraft-src/com/mojang/realmsclient/gui/RealmsNewsManager.java
2025-09-18 12:27:44 +00:00

47 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 = this.newsLocalStorage.read();
if (realmsNews.newsLink != null && !realmsNews.newsLink.equals(realmsPersistenceData.newsLink)) {
RealmsPersistence.RealmsPersistenceData realmsPersistenceData2 = new RealmsPersistence.RealmsPersistenceData();
realmsPersistenceData2.newsLink = realmsNews.newsLink;
realmsPersistenceData2.hasUnreadNews = true;
this.newsLocalStorage.save(realmsPersistenceData2);
return realmsPersistenceData2;
} else {
return realmsPersistenceData;
}
}
}