diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-03-17 20:34:18 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-03-17 20:34:18 +0900 |
| commit | 634dd975038bb5b845c28ca6c96aa285ef94e965 (patch) | |
| tree | 4eac57ae6533af6b5dc4c43cd5f4726aeb4f6a7a /engine | |
| parent | 8b806705aa3de33964a0924f9b528189b7004087 (diff) | |
| download | LunaticChat-634dd975038bb5b845c28ca6c96aa285ef94e965.tar.gz LunaticChat-634dd975038bb5b845c28ca6c96aa285ef94e965.tar.bz2 LunaticChat-634dd975038bb5b845c28ca6c96aa285ef94e965.zip | |
feat!: Remove ChatMode feature, followback channel chat mode
Diffstat (limited to 'engine')
8 files changed, 2 insertions, 159 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatMode.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatMode.kt deleted file mode 100644 index 98bb79d..0000000 --- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatMode.kt +++ /dev/null @@ -1,43 +0,0 @@ -package dev.m1sk9.lunaticChat.engine.chat - -/** - * Represents the chat mode for a player. - * - * Chat mode determines where messages are sent by default: - * - GLOBAL: All messages go to global chat (visible to everyone) - * - CHANNEL: All messages go to the active channel (visible to channel members only) - * - * Players can temporarily override their mode by prefixing messages with '!'. - * Chat mode is persisted and maintains its state across server restarts. - * Default mode is GLOBAL. - */ -enum class ChatMode { - /** - * Global chat mode - messages visible to all players. - */ - GLOBAL, - - /** - * Channel chat mode - messages visible only to channel members. - * Requires player to be in an active channel. - */ - CHANNEL, - ; - - /** - * Returns the opposite chat mode. - * Used when player prefixes message with '!'. - */ - fun toggle(): ChatMode = - when (this) { - GLOBAL -> CHANNEL - CHANNEL -> GLOBAL - } - - companion object { - /** - * Default chat mode for all players. - */ - val DEFAULT = GLOBAL - } -} diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatModeData.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatModeData.kt deleted file mode 100644 index b462ede..0000000 --- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatModeData.kt +++ /dev/null @@ -1,14 +0,0 @@ -package dev.m1sk9.lunaticChat.engine.chat - -import dev.m1sk9.lunaticChat.engine.settings.UUIDSerializer -import kotlinx.serialization.Serializable -import java.util.UUID - -@Serializable -data class ChatModeData( - val modes: Map< - @Serializable(with = UUIDSerializer::class) - UUID, - ChatMode, - > = emptyMap(), -) diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChatModeStorageException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChatModeStorageException.kt deleted file mode 100644 index 85c1e69..0000000 --- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChatModeStorageException.kt +++ /dev/null @@ -1,6 +0,0 @@ -package dev.m1sk9.lunaticChat.engine.exception - -class ChatModeStorageException( - message: String, - cause: Throwable? = null, -) : Exception(message, cause) 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 72b7246..6291553 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 @@ -43,10 +43,6 @@ sealed class LunaticChatPermissionNode( object ChannelOwnership : LunaticChatPermissionNode("lunaticchat.command.lc.channel.ownership") - object ChatMode : LunaticChatPermissionNode("lunaticchat.command.lc.chatmode") - - object ChatModeToggle : LunaticChatPermissionNode("lunaticchat.command.lc.chatmode.toggle") - object VelocityStatus : LunaticChatPermissionNode("lunaticchat.command.lcv.status") object Spy : LunaticChatPermissionNode("lunaticchat.spy") diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatModeTest.kt b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatModeTest.kt deleted file mode 100644 index 5656a14..0000000 --- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/chat/ChatModeTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -package dev.m1sk9.lunaticChat.engine.chat - -import kotlin.test.Test -import kotlin.test.assertEquals - -class ChatModeTest { - @Test - fun `toggle should switch GLOBAL to CHANNEL`() { - assertEquals(ChatMode.CHANNEL, ChatMode.GLOBAL.toggle()) - } - - @Test - fun `toggle should switch CHANNEL to GLOBAL`() { - assertEquals(ChatMode.GLOBAL, ChatMode.CHANNEL.toggle()) - } - - @Test - fun `DEFAULT should be GLOBAL`() { - assertEquals(ChatMode.GLOBAL, ChatMode.DEFAULT) - } - - @Test - fun `double toggle should return original mode`() { - assertEquals(ChatMode.GLOBAL, ChatMode.GLOBAL.toggle().toggle()) - assertEquals(ChatMode.CHANNEL, ChatMode.CHANNEL.toggle().toggle()) - } - - @Test - fun `enum should have exactly two values`() { - assertEquals(2, ChatMode.entries.size) - assertEquals(setOf(ChatMode.GLOBAL, ChatMode.CHANNEL), ChatMode.entries.toSet()) - } -} diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelExceptionTest.kt b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelExceptionTest.kt index 955c96b..21cd5d1 100644 --- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelExceptionTest.kt +++ b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelExceptionTest.kt @@ -216,23 +216,6 @@ class ChannelExceptionTest { assertEquals(cause, ex.cause) } - // --- ChatModeStorageException --- - - @Test - fun `ChatModeStorageException should preserve message`() { - val ex = ChatModeStorageException("chatmode error") - assertEquals("chatmode error", ex.message) - assertNull(ex.cause) - } - - @Test - fun `ChatModeStorageException should preserve cause`() { - val cause = RuntimeException("io error") - val ex = ChatModeStorageException("chatmode error", cause) - assertEquals("chatmode error", ex.message) - assertEquals(cause, ex.cause) - } - // --- RequirePermissionException --- @Test @@ -273,7 +256,6 @@ class ChannelExceptionTest { assertIs<Exception>(ChannelRuntimeException("test")) assertIs<Exception>(ChannelStorageLoadException("test")) assertIs<Exception>(ChannelStorageSaveException("test")) - assertIs<Exception>(ChatModeStorageException("test")) assertIs<Exception>(RequirePermissionException(listOf(LunaticChatPermissionNode.Lc))) } } diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNodeTest.kt b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNodeTest.kt index c9838f2..d6d74f7 100644 --- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNodeTest.kt +++ b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNodeTest.kt @@ -27,8 +27,6 @@ class LunaticChatPermissionNodeTest { LunaticChatPermissionNode.ChannelUnban, LunaticChatPermissionNode.ChannelMod, LunaticChatPermissionNode.ChannelOwnership, - LunaticChatPermissionNode.ChatMode, - LunaticChatPermissionNode.ChatModeToggle, LunaticChatPermissionNode.VelocityStatus, LunaticChatPermissionNode.Spy, LunaticChatPermissionNode.NoticeUpdate, @@ -46,8 +44,8 @@ class LunaticChatPermissionNodeTest { } @Test - fun `should have 26 permission nodes`() { - assertEquals(26, allNodes.size) + fun `should have 24 permission nodes`() { + assertEquals(24, allNodes.size) } @Test @@ -57,7 +55,6 @@ class LunaticChatPermissionNodeTest { assertEquals("lunaticchat.command.reply", LunaticChatPermissionNode.Reply.permissionNode) assertEquals("lunaticchat.command.lc.settings", LunaticChatPermissionNode.Settings.permissionNode) assertEquals("lunaticchat.command.lc.channel.create", LunaticChatPermissionNode.ChannelCreate.permissionNode) - assertEquals("lunaticchat.command.lc.chatmode.toggle", LunaticChatPermissionNode.ChatModeToggle.permissionNode) assertEquals("lunaticchat.command.lcv.status", LunaticChatPermissionNode.VelocityStatus.permissionNode) assertEquals("lunaticchat.spy", LunaticChatPermissionNode.Spy.permissionNode) assertEquals("lunaticchat.noticeupdate", LunaticChatPermissionNode.NoticeUpdate.permissionNode) diff --git a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt index 8743af9..a7cc2ee 100644 --- a/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt +++ b/engine/src/test/kotlin/dev/m1sk9/lunaticChat/engine/settings/SettingsDataClassesTest.kt @@ -1,7 +1,5 @@ package dev.m1sk9.lunaticChat.engine.settings -import dev.m1sk9.lunaticChat.engine.chat.ChatMode -import dev.m1sk9.lunaticChat.engine.chat.ChatModeData import dev.m1sk9.lunaticChat.engine.converter.CacheData import kotlinx.serialization.json.Json import java.util.UUID @@ -130,38 +128,4 @@ class SettingsDataClassesTest { assertEquals(original.version, deserialized.version) assertEquals(original.entries, deserialized.entries) } - - // --- ChatModeData --- - - @Test - fun `ChatModeData default should have empty modes map`() { - val data = ChatModeData() - assertTrue(data.modes.isEmpty()) - } - - @Test - fun `ChatModeData serialization round-trip should preserve UUID-keyed map`() { - val original = - ChatModeData( - modes = - mapOf( - testUUID to ChatMode.CHANNEL, - testUUID2 to ChatMode.GLOBAL, - ), - ) - - val serialized = json.encodeToString(ChatModeData.serializer(), original) - val deserialized = json.decodeFromString(ChatModeData.serializer(), serialized) - - assertEquals(original.modes.size, deserialized.modes.size) - assertEquals(ChatMode.CHANNEL, deserialized.modes[testUUID]) - assertEquals(ChatMode.GLOBAL, deserialized.modes[testUUID2]) - } - - @Test - fun `ChatModeData serialized should contain UUID strings`() { - val data = ChatModeData(modes = mapOf(testUUID to ChatMode.GLOBAL)) - val serialized = json.encodeToString(ChatModeData.serializer(), data) - assertTrue(serialized.contains(testUUID.toString())) - } } |
