diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt | 28 |
1 files changed, 28 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 new file mode 100644 index 0000000..c291ca4 --- /dev/null +++ b/src/main/kotlin/moe/nea/firmament/events/CommandEvent.kt @@ -0,0 +1,28 @@ +/* + * 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 +import com.mojang.brigadier.tree.LiteralCommandNode +import net.minecraft.command.CommandRegistryAccess +import moe.nea.firmament.commands.CaseInsensitiveLiteralCommandNode +import moe.nea.firmament.commands.DefaultSource +import moe.nea.firmament.commands.literal + +data class CommandEvent( + val dispatcher: CommandDispatcher<DefaultSource>, + val ctx: CommandRegistryAccess, +) : FirmamentEvent() { + companion object : FirmamentEventBus<CommandEvent>() + + fun register( + name: String, + block: CaseInsensitiveLiteralCommandNode.Builder<DefaultSource>.() -> Unit + ): LiteralCommandNode<DefaultSource> { + return dispatcher.register(literal(name, block)) + } +} |