diff options
| author | CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> | 2023-11-18 09:44:42 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-17 23:44:42 +0100 |
| commit | 65a2c5625f5f07e7c7e354e4a1397282032c9ae0 (patch) | |
| tree | d710597e8278d15780b67e4afca7aae286970b28 /src/main/java/at/hannibal2/skyhanni/data | |
| parent | ab4aadf4a6c8564b3bddde6b9b9ecfcabe4254a7 (diff) | |
| download | skyhanni-65a2c5625f5f07e7c7e354e4a1397282032c9ae0.tar.gz skyhanni-65a2c5625f5f07e7c7e354e4a1397282032c9ae0.tar.bz2 skyhanni-65a2c5625f5f07e7c7e354e4a1397282032c9ae0.zip | |
Split storage into more files plus code cleanup (#695)
Extracted sacks, friends, known features and jacob contests in to their separate files. #695
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt | 50 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt | 3 |
2 files changed, 20 insertions, 33 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt index bca06d18c..224522c06 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/FriendAPI.kt @@ -1,6 +1,7 @@ package at.hannibal2.skyhanni.data -import at.hannibal2.skyhanni.config.ConfigManager +import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.ConfigFileType import at.hannibal2.skyhanni.events.HypixelJoinEvent import at.hannibal2.skyhanni.events.LorenzChatEvent import at.hannibal2.skyhanni.test.command.ErrorManager @@ -11,13 +12,9 @@ import at.hannibal2.skyhanni.utils.jsonobjects.FriendsJson import at.hannibal2.skyhanni.utils.jsonobjects.FriendsJson.PlayerFriends.Friend import net.minecraft.util.ChatStyle import net.minecraftforge.fml.common.eventhandler.SubscribeEvent -import java.io.File -import java.io.FileReader import java.util.UUID -class FriendAPI { - private val file = File("config/skyhanni/friends.json") - +object FriendAPI { // TODO USE SH-REPO private val removedFriendPattern = ".*\n§r§eYou removed §r(?<name>.*)§e from your friends list!§r§9§m\n.*".toPattern() @@ -25,42 +22,31 @@ class FriendAPI { private val noBestFriendPattern = ".*\n§r(?<name>.*)§e is no longer a best friend!§r§9§m\n.*".toPattern() private val bestFriendPattern = ".*\n(?<name>.*)§a is now a best friend!§r§9§m\n.*".toPattern() - companion object { - - private var friendsJson: FriendsJson? = null - - private fun getFriends(): MutableMap<UUID, Friend> { - val friendsJson = friendsJson ?: error("savedFriends not loaded yet!") - return friendsJson.players.getOrPut(LorenzUtils.getRawPlayerUuid()) { - FriendsJson.PlayerFriends().also { it.friends = mutableMapOf() } - }.friends - } - - private val tempFriends = mutableListOf<Friend>() + private val tempFriends = mutableListOf<Friend>() - fun getAllFriends(): List<Friend> { - val list = mutableListOf<Friend>() - list.addAll(getFriends().values) - list.addAll(tempFriends) - return list - } + private fun getFriends(): MutableMap<UUID, Friend> { + return SkyHanniMod.friendsData.players.getOrPut(LorenzUtils.getRawPlayerUuid()) { + FriendsJson.PlayerFriends().also { it.friends = mutableMapOf() } + }.friends } @SubscribeEvent fun onHypixelJoin(event: HypixelJoinEvent) { - if (file.isFile) { - friendsJson = ConfigManager.gson.fromJson(FileReader(file), FriendsJson::class.java) - } - if (friendsJson == null) { - file.parentFile.mkdirs() - file.createNewFile() - friendsJson = FriendsJson().also { it.players = mutableMapOf() } + if (SkyHanniMod.friendsData.players == null) { + SkyHanniMod.friendsData.players = mutableMapOf() saveConfig() } } + fun getAllFriends(): List<Friend> { + val list = mutableListOf<Friend>() + list.addAll(getFriends().values) + list.addAll(tempFriends) + return list + } + fun saveConfig() { - file.writeText(ConfigManager.gson.toJson(friendsJson)) + SkyHanniMod.configManager.saveConfig(ConfigFileType.FRIENDS, "Save file") } @SubscribeEvent diff --git a/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt b/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt index 8417bc786..7079ae6fd 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/SackAPI.kt @@ -1,6 +1,7 @@ package at.hannibal2.skyhanni.data import at.hannibal2.skyhanni.SkyHanniMod +import at.hannibal2.skyhanni.config.ConfigFileType import at.hannibal2.skyhanni.events.InventoryCloseEvent import at.hannibal2.skyhanni.events.InventoryFullyOpenedEvent import at.hannibal2.skyhanni.events.LorenzChatEvent @@ -303,7 +304,7 @@ object SackAPI { private fun saveSackData() { ProfileStorageData.sackProfiles?.sackContents = sackData - SkyHanniMod.configManager.saveSackData("saving-data") + SkyHanniMod.configManager.saveConfig(ConfigFileType.SACKS, "saving-data") } data class SackGemstone( |
