diff options
Diffstat (limited to 'engine')
2 files changed, 21 insertions, 0 deletions
diff --git a/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/RequirePermissionException.kt b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/RequirePermissionException.kt new file mode 100644 index 0000000..dace909 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/exception/RequirePermissionException.kt @@ -0,0 +1,12 @@ +package dev.m1sk9.lunaticChat.engine.exception + +import dev.m1sk9.lunaticChat.engine.permission.LunaticChatPermissionNode + +/** + * Exception thrown when required permissions are missing. + * + * @param permissions The list of missing permissions. + */ +class RequirePermissionException( + permissions: List<LunaticChatPermissionNode>, +) : Exception("Missing required permissions: ${permissions.joinToString { it.permissionNode }}") 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 new file mode 100644 index 0000000..c7f4be6 --- /dev/null +++ b/engine/src/main/kotlin/dev/m1sk9/lunaticChat/engine/permission/LunaticChatPermissionNode.kt @@ -0,0 +1,9 @@ +package dev.m1sk9.lunaticChat.engine.permission + +sealed class LunaticChatPermissionNode( + val permissionNode: String, +) { + object Tell : LunaticChatPermissionNode("lunaticchat.command.tell") + + object Reply : LunaticChatPermissionNode("lunaticchat.command.reply") +} |
