diff --git a/src/main/java/org/mvplugins/multiverse/core/commands/AnchorDeleteCommand.java b/src/main/java/org/mvplugins/multiverse/core/commands/AnchorDeleteCommand.java index 2542cded..0b9b2c80 100644 --- a/src/main/java/org/mvplugins/multiverse/core/commands/AnchorDeleteCommand.java +++ b/src/main/java/org/mvplugins/multiverse/core/commands/AnchorDeleteCommand.java @@ -29,7 +29,7 @@ class AnchorDeleteCommand extends MultiverseCommand { @Subcommand("anchor delete") @CommandPermission("multiverse.core.anchor.delete") - @CommandCompletion("") + @CommandCompletion("@anchornames") @Syntax("") @Description("") void onAnchorDeleteCommand( diff --git a/src/main/java/org/mvplugins/multiverse/core/commandtools/MVCommandCompletions.java b/src/main/java/org/mvplugins/multiverse/core/commandtools/MVCommandCompletions.java index b1f126f9..49d9e95b 100644 --- a/src/main/java/org/mvplugins/multiverse/core/commandtools/MVCommandCompletions.java +++ b/src/main/java/org/mvplugins/multiverse/core/commandtools/MVCommandCompletions.java @@ -26,6 +26,7 @@ import org.bukkit.World; import org.jetbrains.annotations.NotNull; import org.jvnet.hk2.annotations.Service; +import org.mvplugins.multiverse.core.anchor.AnchorManager; import org.mvplugins.multiverse.core.config.MVCoreConfig; import org.mvplugins.multiverse.core.destination.DestinationsProvider; import org.mvplugins.multiverse.core.destination.ParsedDestination; @@ -38,19 +39,23 @@ class MVCommandCompletions extends PaperCommandCompletions { private final MVCommandManager commandManager; private final WorldManager worldManager; + private final AnchorManager anchorManager; private final DestinationsProvider destinationsProvider; @Inject MVCommandCompletions( @NotNull MVCommandManager mvCommandManager, @NotNull WorldManager worldManager, + @NotNull AnchorManager anchorManager, @NotNull DestinationsProvider destinationsProvider, @NotNull MVCoreConfig config) { super(mvCommandManager); this.commandManager = mvCommandManager; this.worldManager = worldManager; + this.anchorManager = anchorManager; this.destinationsProvider = destinationsProvider; + registerAsyncCompletion("anchornames", this::suggestAnchorNames); registerAsyncCompletion("commands", this::suggestCommands); registerAsyncCompletion("destinations", this::suggestDestinations); registerStaticCompletion("difficulties", suggestEnums(Difficulty.class)); @@ -70,6 +75,10 @@ class MVCommandCompletions extends PaperCommandCompletions { setDefaultCompletion("mvworlds", LoadedMultiverseWorld.class); } + private Collection suggestAnchorNames(BukkitCommandCompletionContext context) { + return anchorManager.getAnchors(context.getPlayer()); + } + private Collection suggestCommands(BukkitCommandCompletionContext context) { String rootCmdName = context.getConfig(); if (rootCmdName == null) {