diff --git a/cloud-core/src/main/java/cloud/commandframework/CommandTree.java b/cloud-core/src/main/java/cloud/commandframework/CommandTree.java index 80a41843..f4f06395 100644 --- a/cloud-core/src/main/java/cloud/commandframework/CommandTree.java +++ b/cloud-core/src/main/java/cloud/commandframework/CommandTree.java @@ -621,7 +621,7 @@ public final class CommandTree { Objects.requireNonNull( Objects.requireNonNull( node.value, - "node.value: " + "node.value" ).getOwningCommand(), "owning command" ).getCommandPermission() diff --git a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java index 8223f3d0..f0984170 100644 --- a/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java +++ b/cloud-discord/cloud-jda/src/main/java/cloud/commandframework/jda/parsers/UserArgument.java @@ -42,6 +42,7 @@ import java.util.Set; * Command Argument for {@link User} * * @param Command sender type + * @since 1.1.0 */ @SuppressWarnings("unused") public final class UserArgument extends CommandArgument { diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SingleEntitySelector.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SingleEntitySelector.java index d2e84031..fa93b6cf 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SingleEntitySelector.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SingleEntitySelector.java @@ -25,6 +25,7 @@ package cloud.commandframework.bukkit.arguments.selector; import org.bukkit.entity.Entity; import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; import java.util.List; @@ -47,11 +48,14 @@ public final class SingleEntitySelector extends MultipleEntitySelector { } /** - * Get the selected entity + * Get the selected entity or null if no entity matched * * @return Gets the single Bukkit Entity parsed by the selector */ - public @NonNull Entity getEntity() { + public @Nullable Entity getEntity() { + if (this.getEntities().isEmpty()) { + return null; + } return this.getEntities().get(0); } diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SinglePlayerSelector.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SinglePlayerSelector.java index bb0676c2..59b999e3 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SinglePlayerSelector.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/arguments/selector/SinglePlayerSelector.java @@ -26,6 +26,7 @@ package cloud.commandframework.bukkit.arguments.selector; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; import java.util.List; @@ -48,11 +49,14 @@ public final class SinglePlayerSelector extends MultiplePlayerSelector { } /** - * Get the selected player + * Get the selected player or null if no player matched * * @return Gets the single player parsed by the selector */ - public @NonNull Player getPlayer() { + public @Nullable Player getPlayer() { + if (this.getPlayers().isEmpty()) { + return null; + } return this.getPlayers().get(0); } diff --git a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java index 2902eb09..226d4f9a 100644 --- a/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java +++ b/cloud-minecraft/cloud-bukkit/src/main/java/cloud/commandframework/bukkit/parsers/location/LocationArgument.java @@ -144,6 +144,7 @@ public final class LocationArgument extends CommandArgument { } + public static final class LocationParser implements ArgumentParser { private static final int EXPECTED_PARAMETER_COUNT = 3; diff --git a/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/BungeeCommandManager.java b/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/BungeeCommandManager.java index 56907a1f..a7ae96fd 100644 --- a/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/BungeeCommandManager.java +++ b/cloud-minecraft/cloud-bungee/src/main/java/cloud/commandframework/bungee/BungeeCommandManager.java @@ -47,7 +47,7 @@ public class BungeeCommandManager extends CommandManager { public static final String ARGUMENT_PARSE_FAILURE_PLAYER = "'{input}' is not a valid player"; /** - * Default caption for {@link BungeeCaptionKeys#ARGUMENT_PARSE_FAILURE_PLAYER} + * Default caption for {@link BungeeCaptionKeys#ARGUMENT_PARSE_FAILURE_SERVER} */ public static final String ARGUMENT_PARSE_FAILURE_SERVER = "'{input}' is not a valid server";