summaryrefslogtreecommitdiff
path: root/engine
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-01-17 16:13:34 +0900
committerGitHub <noreply@github.com>2026-01-17 16:13:34 +0900
commitf43e3825d9d4eb0168f637d9a96078787860bd4a (patch)
treed5911a0fab08dbe99e518081f3b271cab3742028 /engine
parentd264ed43434f4bc294e38b7aced813cafd48b152 (diff)
parent866eb45abd2ed2175ab9c65faa3a064e5eaf8405 (diff)
downloadLunaticChat-0.4.0.tar.gz
LunaticChat-0.4.0.tar.bz2
LunaticChat-0.4.0.zip
Merge pull request #46 from m1sk9/feat/direct-message-noticev0.4.0
feat: Added direct message notification settings
Diffstat (limited to 'engine')
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt2
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerChatSettings.kt2
-rw-r--r--engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerSettingsData.kt9
3 files changed, 13 insertions, 0 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt
index 052e2ee..eab7d45 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt
@@ -9,6 +9,8 @@ sealed class LunaticChatPermissionNode(
object JapaneseToggle : LunaticChatPermissionNode("lunaticchat.command.jp")
+ object NoticeToggle : LunaticChatPermissionNode("lunaticchat.command.notice")
+
object Spy : LunaticChatPermissionNode("lunaticchat.spy")
object NoticeUpdate : LunaticChatPermissionNode("lunaticchat.noticeUpdate")
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerChatSettings.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerChatSettings.kt
index 12eda6a..e970ae9 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerChatSettings.kt
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerChatSettings.kt
@@ -8,10 +8,12 @@ import java.util.UUID
*
* @property uuid The unique identifier of the player
* @property japaneseConversionEnabled Whether romaji-to-Japanese conversion is enabled for this player
+ * @property directMessageNotificationEnabled Whether direct message notifications are enabled for this player
*/
@Serializable
data class PlayerChatSettings(
@Serializable(with = UUIDSerializer::class)
val uuid: UUID,
val japaneseConversionEnabled: Boolean = true,
+ val directMessageNotificationEnabled: Boolean = true,
)
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerSettingsData.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerSettingsData.kt
index 1fc3699..3916bbf 100644
--- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerSettingsData.kt
+++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/settings/PlayerSettingsData.kt
@@ -13,10 +13,14 @@ import java.util.UUID
* japaneseConversion:
* ceaea267-39dd-3bac-931c-761ada671ebe: true
* another-uuid-here: false
+ * directMessageNotification:
+ * ceaea267-39dd-3bac-931c-761ada671ebe: true
+ * another-uuid-here: false
* ```
*
* @property version The schema version for future compatibility
* @property japaneseConversion Map of player UUIDs to their Japanese conversion enabled status
+ * @property directMessageNotification Map of player UUIDs to their direct message notification enabled status
*/
@Serializable
data class PlayerSettingsData(
@@ -26,4 +30,9 @@ data class PlayerSettingsData(
UUID,
Boolean,
> = emptyMap(),
+ val directMessageNotification: Map<
+ @Serializable(with = UUIDASStringSerializer::class)
+ UUID,
+ Boolean,
+ > = emptyMap(),
)