From 9e333a50b9ef66da609f9b296d10e92965151ceb Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Sat, 20 Jan 2024 02:02:45 -0600 Subject: [PATCH] i give up for the night --- .../main/java/dev/plex/command/IPlexCommand.java | 11 +++++++++++ .../src/main/java/dev/plex/command/PlexCommand.java | 13 +++++++------ .../java/dev/plex/command/impl/BlockEditCMD.java | 3 ++- 3 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 server/src/main/java/dev/plex/command/IPlexCommand.java diff --git a/server/src/main/java/dev/plex/command/IPlexCommand.java b/server/src/main/java/dev/plex/command/IPlexCommand.java new file mode 100644 index 0000000..2081ccd --- /dev/null +++ b/server/src/main/java/dev/plex/command/IPlexCommand.java @@ -0,0 +1,11 @@ +package dev.plex.command; + +import org.bukkit.command.CommandSender; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public interface IPlexCommand +{ + @NotNull List tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args, List list) throws IllegalArgumentException; +} diff --git a/server/src/main/java/dev/plex/command/PlexCommand.java b/server/src/main/java/dev/plex/command/PlexCommand.java index fd16e44..c7d4360 100644 --- a/server/src/main/java/dev/plex/command/PlexCommand.java +++ b/server/src/main/java/dev/plex/command/PlexCommand.java @@ -23,14 +23,13 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.UUID; /** * Superclass for all commands */ -public abstract class PlexCommand extends Command implements PluginIdentifiableCommand +public abstract class PlexCommand extends Command implements PluginIdentifiableCommand, IPlexCommand { /** * Returns the instance of the plugin @@ -158,6 +157,7 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC try { Component component = this.execute(sender, isConsole(sender) ? null : (Player) sender, args); + this.tabComplete(sender, label, args, List.of(args)); if (component != null) { send(sender, component); @@ -171,15 +171,16 @@ public abstract class PlexCommand extends Command implements PluginIdentifiableC return true; } - /*@NotNull + @NotNull public abstract List tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException; - */ @NotNull - public List smartTabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException + @Override + public List tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args, List list) throws IllegalArgumentException { - List list = tabComplete(sender, alias, args); + list = tabComplete(sender, alias, args); return StringUtil.copyPartialMatches(args[args.length - 1], list, Lists.newArrayList()); + //return List.of("test1", "test2"); } /** diff --git a/server/src/main/java/dev/plex/command/impl/BlockEditCMD.java b/server/src/main/java/dev/plex/command/impl/BlockEditCMD.java index d0cd037..3520585 100644 --- a/server/src/main/java/dev/plex/command/impl/BlockEditCMD.java +++ b/server/src/main/java/dev/plex/command/impl/BlockEditCMD.java @@ -1,5 +1,6 @@ package dev.plex.command.impl; +import dev.plex.command.IPlexCommand; import dev.plex.command.PlexCommand; import dev.plex.command.annotation.CommandParameters; import dev.plex.command.annotation.CommandPermissions; @@ -19,7 +20,7 @@ import java.util.List; @CommandPermissions(permission = "plex.blockedit") @CommandParameters(name = "blockedit", usage = "/ [list | purge | all | ]", aliases = "bedit", description = "Prevent players from modifying blocks") -public class BlockEditCMD extends PlexCommand +public class BlockEditCMD extends PlexCommand implements IPlexCommand { private final BlockListener bl = new BlockListener();