From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Tue, 1 Feb 2022 15:51:44 -0700 Subject: [PATCH] API for creating command sender which forwards feedback diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java index a748f268a992ac8ec9b732f530e3dd4847a3d47b..49decde8052425dcdaa865040f5aefa7a66667d5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1412,6 +1412,20 @@ public final class Bukkit { return server.getConsoleSender(); } + // Paper start + /** + * Creates a special {@link CommandSender} which redirects command feedback (in the form of chat messages) to the + * specified listener. The returned sender will have the same effective permissions as {@link #getConsoleSender()}. + * + * @param feedback feedback listener + * @return a command sender + */ + @NotNull + public static CommandSender createCommandSender(final @NotNull java.util.function.Consumer feedback) { + return server.createCommandSender(feedback); + } + // Paper end + /** * Gets the folder that contains all of the various {@link World}s. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java index e7d1ece4f1e615e2b0f4da1d85ddd60e23433d4d..bd678287c89a2a9578b08399886333e4dc866583 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1178,6 +1178,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ConsoleCommandSender getConsoleSender(); + // Paper start + /** + * Creates a special {@link CommandSender} which redirects command feedback (in the form of chat messages) to the + * specified listener. The returned sender will have the same effective permissions as {@link #getConsoleSender()}. + * + * @param feedback feedback listener + * @return a command sender + */ + @NotNull + public CommandSender createCommandSender(final @NotNull java.util.function.Consumer feedback); + // Paper end + /** * Gets the folder that contains all of the various {@link World}s. *