From 489cb88c059ebc9f37c3b1410f2fe073a4b159a8 Mon Sep 17 00:00:00 2001 From: Sho Sakuma Date: Sat, 17 Jan 2026 16:06:35 +0900 Subject: feat: Add `directMessageNotice` settings --- .../lunaticChat/engine/permission/LunaticChatPermissionNode.kt | 2 ++ .../dev/m1sk9/lunaticChat/engine/settings/PlayerChatSettings.kt | 2 ++ .../dev/m1sk9/lunaticChat/engine/settings/PlayerSettingsData.kt | 9 +++++++++ 3 files changed, 13 insertions(+) (limited to 'engine') 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(), ) -- cgit v1.2.1