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 6f4509bc3b997f773c19b31de91106c004c12af5..f11b60d888e8f3a0c6213078cb5db35eafb82e3f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -1580,6 +1580,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 8ccda3cbefcbf1d1b1d5dac195b3c5605058a040..31eaec316e0ee4021d0a67301d1bc91a2d3524d9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1334,6 +1334,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. *