diff options
| author | Sho Sakuma <me@m1sk9.dev> | 2026-01-25 17:28:04 +0900 |
|---|---|---|
| committer | Sho Sakuma <me@m1sk9.dev> | 2026-01-26 00:35:42 +0900 |
| commit | 1dc724dbb96a0d1fdc36c5105538e67efa5b0b87 (patch) | |
| tree | ff0481301e10fb8419fb7c6d2c2ab5689a9fe225 /engine | |
| parent | d35eff7d10d6bebd5231e7a5d59a8a13f241e1ee (diff) | |
| download | LunaticChat-1dc724dbb96a0d1fdc36c5105538e67efa5b0b87.tar.gz LunaticChat-1dc724dbb96a0d1fdc36c5105538e67efa5b0b87.tar.bz2 LunaticChat-1dc724dbb96a0d1fdc36c5105538e67efa5b0b87.zip | |
feat: Add channel command
Diffstat (limited to 'engine')
5 files changed, 39 insertions, 0 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/channel/modal/ChannelData.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/channel/modal/ChannelData.kt index 6196ab7..67e86ec 100644 --- a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/channel/modal/ChannelData.kt +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/channel/modal/ChannelData.kt @@ -7,4 +7,5 @@ data class ChannelData( val version: Int = 1, val channels: Map<String, Channel> = emptyMap(), val members: Map<String, List<ChannelMember>> = emptyMap(), + val activeChannels: Map<String, String> = emptyMap(), ) diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelAlreadyActiveException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelAlreadyActiveException.kt new file mode 100644 index 0000000..6d88a73 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelAlreadyActiveException.kt @@ -0,0 +1,8 @@ +package dev.m1sk9.lunaticChat.engine.exception + +import java.util.UUID + +class ChannelAlreadyActiveException( + val playerId: UUID, + val channelId: String, +) : Exception("Channel $channelId is already active for player $playerId") diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberAlreadyException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberAlreadyException.kt new file mode 100644 index 0000000..deaacb1 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelMemberAlreadyException.kt @@ -0,0 +1,8 @@ +package dev.m1sk9.lunaticChat.engine.exception + +import java.util.UUID + +class ChannelMemberAlreadyException( + playerId: UUID, + val channelId: String, +) : Exception("Player $playerId is already a member of channel $channelId") diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelRuntimeException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelRuntimeException.kt new file mode 100644 index 0000000..4805489 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/ChannelRuntimeException.kt @@ -0,0 +1,6 @@ +package dev.m1sk9.lunaticChat.engine.exception + +class ChannelRuntimeException( + 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 9328423..b615fb7 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 @@ -13,6 +13,22 @@ sealed class LunaticChatPermissionNode( object Status : LunaticChatPermissionNode("lunaticchat.command.lc.status") + object Channel : LunaticChatPermissionNode("lunaticchat.command.lc.channel") + + object ChannelCreate : LunaticChatPermissionNode("lunaticchat.command.lc.channel.create") + + object ChannelList : LunaticChatPermissionNode("lunaticchat.command.lc.channel.list") + + object ChannelJoin : LunaticChatPermissionNode("lunaticchat.command.lc.channel.join") + + object ChannelLeave : LunaticChatPermissionNode("lunaticchat.command.lc.channel.leave") + + object ChannelSwitch : LunaticChatPermissionNode("lunaticchat.command.lc.channel.switch") + + object ChannelStatus : LunaticChatPermissionNode("lunaticchat.command.lc.channel.status") + + object ChannelDelete : LunaticChatPermissionNode("lunaticchat.command.lc.channel.delete") + object Spy : LunaticChatPermissionNode("lunaticchat.spy") object NoticeUpdate : LunaticChatPermissionNode("lunaticchat.noticeUpdate") |
