diff --git a/src/main/java/de/bixilon/minosoft/commands/nodes/ArgumentNode.kt b/src/main/java/de/bixilon/minosoft/commands/nodes/ArgumentNode.kt index f65e9c4f4..e87dab3ab 100644 --- a/src/main/java/de/bixilon/minosoft/commands/nodes/ArgumentNode.kt +++ b/src/main/java/de/bixilon/minosoft/commands/nodes/ArgumentNode.kt @@ -38,7 +38,7 @@ class ArgumentNode : ExecutableNode, SignedNode { } - constructor(name: String, parser: ArgumentParser<*>, onlyDirectExecution: Boolean = true, executor: CommandExecutor) : super(name, executable = true, onlyDirectExecution = onlyDirectExecution, executor = executor) { + constructor(name: String, parser: ArgumentParser<*>, allowArguments: Boolean = false, executor: CommandExecutor) : super(name, executable = true, allowArguments = allowArguments, executor = executor) { this.executor = executor this.parser = parser } diff --git a/src/main/java/de/bixilon/minosoft/commands/nodes/ExecutableNode.kt b/src/main/java/de/bixilon/minosoft/commands/nodes/ExecutableNode.kt index 9bc087ff9..a78d004ad 100644 --- a/src/main/java/de/bixilon/minosoft/commands/nodes/ExecutableNode.kt +++ b/src/main/java/de/bixilon/minosoft/commands/nodes/ExecutableNode.kt @@ -26,7 +26,7 @@ abstract class ExecutableNode( name: String, aliases: Set = setOf(), val suggestion: SuggestionType? = null, - var onlyDirectExecution: Boolean = true, + var allowArguments: Boolean = true, var executor: CommandExecutor? = null, executable: Boolean = executor != null, redirect: CommandNode? = null, @@ -68,7 +68,7 @@ abstract class ExecutableNode( override fun executeChild(child: CommandNode, reader: CommandReader, stack: CommandStack) { super.executeChild(child, reader, stack) - if (!onlyDirectExecution) { + if (allowArguments) { execute(stack) } } diff --git a/src/main/java/de/bixilon/minosoft/commands/nodes/LiteralNode.kt b/src/main/java/de/bixilon/minosoft/commands/nodes/LiteralNode.kt index 066f45b03..facb3203d 100644 --- a/src/main/java/de/bixilon/minosoft/commands/nodes/LiteralNode.kt +++ b/src/main/java/de/bixilon/minosoft/commands/nodes/LiteralNode.kt @@ -36,7 +36,7 @@ class LiteralNode : ExecutableNode { ) : super(name, aliases, suggestion, false, null, executable, redirect) - constructor(name: String, aliases: Set = setOf(), onlyDirectExecution: Boolean = true, executor: CommandExecutor) : super(name, aliases, onlyDirectExecution = onlyDirectExecution, executor = executor, executable = true) + constructor(name: String, aliases: Set = setOf(), allowArguments: Boolean = true, executor: CommandExecutor) : super(name, aliases, allowArguments = allowArguments, executor = executor, executable = true) constructor(builder: CommandNodeBuilder) : this(builder.name ?: throw NullPointerException("No name in builder!"), setOf(), builder.suggestionType, builder.executable) diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/AccountManageCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/AccountManageCommand.kt index 8cc79fd64..a30400630 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/AccountManageCommand.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/AccountManageCommand.kt @@ -31,7 +31,7 @@ import de.bixilon.minosoft.util.account.microsoft.MicrosoftOAuthUtils object AccountManageCommand : Command { override var node = LiteralNode("account") .addChild( - LiteralNode("list", onlyDirectExecution = false, executor = { + LiteralNode("list", allowArguments = true, executor = { val filtered = it.collect() if (filtered.isEmpty()) throw CommandException("No account matched your filter!") diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectCommand.kt index 0714752c5..7fb0b8eda 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectCommand.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectCommand.kt @@ -30,7 +30,7 @@ import de.bixilon.minosoft.util.DNSUtil object ConnectCommand : Command { override var node = LiteralNode("connect") - .addChild(ArgumentNode("address", StringParser(StringParser.StringModes.QUOTED), onlyDirectExecution = false) { stack -> + .addChild(ArgumentNode("address", StringParser(StringParser.StringModes.QUOTED), allowArguments = true) { stack -> val address = stack.get("address")!! val version = stack.get("version")?.let { Versions[it] ?: throw CommandException("Unknown version $it") } val account = AccountProfileManager.selected.selected ?: throw CommandException("No account selected!") diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt index 08b6bcc4b..d83508e8c 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/ConnectionManageCommand.kt @@ -27,7 +27,7 @@ import de.bixilon.minosoft.util.KUtil.table object ConnectionManageCommand : Command { override var node = LiteralNode("connection") .addChild( - LiteralNode("list", onlyDirectExecution = false, executor = { + LiteralNode("list", allowArguments = true, executor = { val filtered = it.collect() if (filtered.isEmpty()) throw CommandException("No connection matched your filter!") diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/PingCommand.kt b/src/main/java/de/bixilon/minosoft/terminal/commands/PingCommand.kt index 7c40cae4a..5a21d0704 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/PingCommand.kt +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/PingCommand.kt @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.versions.Versions object PingCommand : Command { override var node = LiteralNode("ping") - .addChild(ArgumentNode("address", StringParser(StringParser.StringModes.QUOTED), onlyDirectExecution = false) { stack -> + .addChild(ArgumentNode("address", StringParser(StringParser.StringModes.QUOTED), allowArguments = true) { stack -> val address = stack.get("address")!! val version = stack.get("version")?.let { Versions[it] ?: throw IllegalArgumentException("Unknown version $it") } val connection = StatusConnection(address, version)