From 4c74e8fb1241d4c00f4ea9ca3e670b25f9f44428 Mon Sep 17 00:00:00 2001 From: rozhur Date: Fri, 11 Aug 2023 19:35:58 +0500 Subject: [PATCH] Initial --- .../bukkit/command/PreparedPluginCommand.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java diff --git a/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java b/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java new file mode 100644 index 0000000..c3866e2 --- /dev/null +++ b/bukkit/src/main/java/org/zhdev/varioutil/bukkit/command/PreparedPluginCommand.java @@ -0,0 +1,28 @@ +package org.zhdev.varioutil.bukkit.command; + +import org.bukkit.command.*; +import org.bukkit.plugin.Plugin; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public final class PreparedPluginCommand extends AbstractPluginCommand { + private final CommandExecutor executor; + private final TabCompleter completer; + + public PreparedPluginCommand(@NotNull String name, Plugin plugin, CommandExecutor executor, TabCompleter completer) { + super(name, plugin); + this.executor = executor; + this.completer = completer; + } + + @Override + protected boolean onExecute(@NotNull CommandSender sender, @NotNull String label, @NotNull String[] args) { + return executor.onCommand(sender, this, label, args); + } + + @Override + protected List onTabComplete(@NotNull CommandSender sender, @NotNull String label, @NotNull String[] args) { + return completer == null ? null : completer.onTabComplete(sender, this, label, args); + } +}