aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/features
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-09-28 19:48:11 +0200
committerLinnea Gräf <nea@nea.moe>2025-10-13 18:26:42 +0200
commit9b6c8f21f86385c993c0e34ba4b31348cae200cd (patch)
treed310ffaf3e98af40c64d9895771026dd7ee4c56d /src/main/kotlin/features
parente8a42a056cb0209f8bbeb35dd74f42e5c2d8bd62 (diff)
downloadFirmament-9b6c8f21f86385c993c0e34ba4b31348cae200cd.tar.gz
Firmament-9b6c8f21f86385c993c0e34ba4b31348cae200cd.tar.bz2
Firmament-9b6c8f21f86385c993c0e34ba4b31348cae200cd.zip
fix: improve config backups
Diffstat (limited to 'src/main/kotlin/features')
-rw-r--r--src/main/kotlin/features/inventory/SlotLocking.kt4
-rw-r--r--src/main/kotlin/features/world/FirmWaypointManager.kt14
2 files changed, 9 insertions, 9 deletions
diff --git a/src/main/kotlin/features/inventory/SlotLocking.kt b/src/main/kotlin/features/inventory/SlotLocking.kt
index bae6a5e..903b184 100644
--- a/src/main/kotlin/features/inventory/SlotLocking.kt
+++ b/src/main/kotlin/features/inventory/SlotLocking.kt
@@ -79,9 +79,9 @@ object SlotLocking {
val currentWorldData
get() = if (SBData.skyblockLocation == SkyBlockIsland.RIFT)
- DConfig.data?.rift
+ DConfig.data.rift
else
- DConfig.data?.overworld
+ DConfig.data.overworld
@Serializable
data class BoundSlot(
diff --git a/src/main/kotlin/features/world/FirmWaypointManager.kt b/src/main/kotlin/features/world/FirmWaypointManager.kt
index d18483c..41c3007 100644
--- a/src/main/kotlin/features/world/FirmWaypointManager.kt
+++ b/src/main/kotlin/features/world/FirmWaypointManager.kt
@@ -16,11 +16,11 @@ import moe.nea.firmament.util.ClipboardUtils
import moe.nea.firmament.util.FirmFormatters
import moe.nea.firmament.util.MC
import moe.nea.firmament.util.TemplateUtil
-import moe.nea.firmament.util.data.MultiFileDataHolder
+import moe.nea.firmament.util.data.DataHolder
import moe.nea.firmament.util.tr
object FirmWaypointManager {
- object DataHolder : MultiFileDataHolder<FirmWaypoints>(serializer(), "waypoints")
+ object DConfig : DataHolder<MutableMap<String, FirmWaypoints>>(serializer(), "waypoints", ::mutableMapOf)
val SHARE_PREFIX = "FIRM_WAYPOINTS/"
val ENCODED_SHARE_PREFIX = TemplateUtil.getPrefixComparisonSafeBase64Encoding(SHARE_PREFIX)
@@ -100,7 +100,7 @@ object FirmWaypointManager {
}
thenLiteral("save") {
thenArgument("name", StringArgumentType.string()) { name ->
- suggestsList { DataHolder.list().keys }
+ suggestsList { DConfig.data.keys }
thenExecute {
val waypoints = Waypoints.useNonEmptyWaypoints()
if (waypoints == null) {
@@ -109,8 +109,8 @@ object FirmWaypointManager {
}
waypoints.id = get(name)
val exportableWaypoints = createExportableCopy(waypoints)
- DataHolder.insert(get(name), exportableWaypoints)
- DataHolder.save()
+ DConfig.data[get(name)] = exportableWaypoints
+ DConfig.markDirty()
source.sendFeedback(tr("firmament.command.waypoint.saved",
"Saved waypoints locally as ${get(name)}. Use /firm waypoints load to load them again."))
}
@@ -118,10 +118,10 @@ object FirmWaypointManager {
}
thenLiteral("load") {
thenArgument("name", StringArgumentType.string()) { name ->
- suggestsList { DataHolder.list().keys }
+ suggestsList { DConfig.data.keys }
thenExecute {
val name = get(name)
- val waypoints = DataHolder.list()[name]
+ val waypoints = DConfig.data[name]
if (waypoints == null) {
source.sendError(
tr("firmament.command.waypoint.nosaved",