From 40eaff8a513c45e5c4d2bd92d9747f88828b254d Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 29 Jul 2022 16:13:34 +1000 Subject: [PATCH] SPIGOT-7125: Command execution exceptions are not logged --- .../craftbukkit/command/BukkitCommandWrapper.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java index 785b681a2..0c50cdddc 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java +++ b/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java @@ -13,8 +13,11 @@ import com.mojang.brigadier.tree.LiteralCommandNode; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.function.Predicate; +import java.util.logging.Level; import net.minecraft.commands.CommandListenerWrapper; import org.bukkit.command.Command; +import org.bukkit.command.CommandException; +import org.bukkit.command.CommandSender; import org.bukkit.craftbukkit.CraftServer; public class BukkitCommandWrapper implements com.mojang.brigadier.Command, Predicate, SuggestionProvider { @@ -41,7 +44,15 @@ public class BukkitCommandWrapper implements com.mojang.brigadier.Command context) throws CommandSyntaxException { - return server.dispatchCommand(context.getSource().getBukkitSender(), context.getInput()) ? 1 : 0; + CommandSender sender = context.getSource().getBukkitSender(); + + try { + return server.dispatchCommand(sender, context.getInput()) ? 1 : 0; + } catch (CommandException ex) { + sender.sendMessage(org.bukkit.ChatColor.RED + "An internal error occurred while attempting to perform this command"); + server.getLogger().log(Level.SEVERE, null, ex); + return 0; + } } @Override