Add ordered waypoints (ColeWeight compat)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2023 Linnea Gräf <nea@nea.moe>
|
||||
* SPDX-FileCopyrightText: 2024 Linnea Gräf <nea@nea.moe>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
@@ -12,6 +13,7 @@ import net.minecraft.command.CommandRegistryAccess
|
||||
import moe.nea.firmament.commands.CaseInsensitiveLiteralCommandNode
|
||||
import moe.nea.firmament.commands.DefaultSource
|
||||
import moe.nea.firmament.commands.literal
|
||||
import moe.nea.firmament.commands.thenLiteral
|
||||
|
||||
data class CommandEvent(
|
||||
val dispatcher: CommandDispatcher<DefaultSource>,
|
||||
@@ -20,6 +22,20 @@ data class CommandEvent(
|
||||
) : FirmamentEvent() {
|
||||
companion object : FirmamentEventBus<CommandEvent>()
|
||||
|
||||
/**
|
||||
* Register subcommands to `/firm`. For new top level commands use [CommandEvent]. Cannot be used to register
|
||||
* subcommands to other commands.
|
||||
*/
|
||||
data class SubCommand(
|
||||
val builder: CaseInsensitiveLiteralCommandNode.Builder<DefaultSource>,
|
||||
) : FirmamentEvent() {
|
||||
companion object : FirmamentEventBus<SubCommand>()
|
||||
|
||||
fun subcommand(name: String, block: CaseInsensitiveLiteralCommandNode.Builder<DefaultSource>.() -> Unit) {
|
||||
builder.thenLiteral(name, block)
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteCommand(name: String) {
|
||||
dispatcher.root.children.removeIf { it.name.equals(name, ignoreCase = false) }
|
||||
serverCommands?.root?.children?.removeIf { it.name.equals(name, ignoreCase = false) }
|
||||
|
||||
Reference in New Issue
Block a user