aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/firmament/events
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/events')
-rw-r--r--src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt6
-rw-r--r--src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt17
2 files changed, 23 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt b/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt
index c291ca4..5710245 100644
--- a/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt
+++ b/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt
@@ -16,9 +16,15 @@ import moe.nea.firmament.commands.literal
data class CommandEvent(
val dispatcher: CommandDispatcher<DefaultSource>,
val ctx: CommandRegistryAccess,
+ val serverCommands: CommandDispatcher<*>?,
) : FirmamentEvent() {
companion object : FirmamentEventBus<CommandEvent>()
+ fun deleteCommand(name: String) {
+ dispatcher.root.children.removeIf { it.name.equals(name, ignoreCase = false) }
+ serverCommands?.root?.children?.removeIf { it.name.equals(name, ignoreCase = false) }
+ }
+
fun register(
name: String,
block: CaseInsensitiveLiteralCommandNode.Builder<DefaultSource>.() -> Unit
diff --git a/src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt b/src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt
new file mode 100644
index 0000000..0ac0dde
--- /dev/null
+++ b/src/main/kotlin/moe/nea/firmament/events/MaskCommands.kt
@@ -0,0 +1,17 @@
+/*
+ * SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+
+package moe.nea.firmament.events
+
+import com.mojang.brigadier.CommandDispatcher
+
+data class MaskCommands(val dispatcher: CommandDispatcher<*>) : FirmamentEvent() {
+ companion object : FirmamentEventBus<MaskCommands>()
+
+ fun mask(name: String) {
+ dispatcher.root.children.removeIf { it.name.equals(name, ignoreCase = true) }
+ }
+}