diff --git a/CHANGELOG.md b/CHANGELOG.md index 8139892e..99f9fccb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Allow for combined presence flags, such that `-a -b -c` is equivalent to `-abc` - Allow for class annotations as a default for when an annotation is not present on a method. + +### Fixed + - Fix arguments with no required children not being executors (cloud-brigadier) ## [1.0.2] - 2020-10-18 diff --git a/cloud-minecraft/cloud-brigadier/src/main/java/cloud/commandframework/brigadier/CloudBrigadierManager.java b/cloud-minecraft/cloud-brigadier/src/main/java/cloud/commandframework/brigadier/CloudBrigadierManager.java index cf8b84b6..248ca10c 100644 --- a/cloud-minecraft/cloud-brigadier/src/main/java/cloud/commandframework/brigadier/CloudBrigadierManager.java +++ b/cloud-minecraft/cloud-brigadier/src/main/java/cloud/commandframework/brigadier/CloudBrigadierManager.java @@ -427,6 +427,9 @@ public final class CloudBrigadierManager { if (forceExecutor || root.isLeaf() || !root.getValue().isRequired()) { argumentBuilder.executes(executor); } + if (root.getChildren().stream().noneMatch(node -> node.getValue().isRequired())) { + argumentBuilder.executes(executor); + } for (final CommandTree.Node> node : root.getChildren()) { argumentBuilder.then(constructCommandNode(forceExecutor, node, permissionChecker, executor, suggestionProvider)); }