Commits

md_5 authored 270a3a66ce3
SPIGOT-2717: /execute over RCON
No tags

nms-patches/CommandExecute.patch

Modified
16 16
17 17 String s = a(astring, b0);
18 18 - ICommandListener icommandlistener1 = new ICommandListener() {
19 19 + // CraftBukkit start - name class
20 20 + class ProxyListener implements ICommandListener {
21 21 + private final ICommandListener base = icommandlistener;
22 22 + // CraftBukkit end
23 23 public String getName() {
24 24 return entity.getName();
25 25 }
26 -@@ -100,25 +107,57 @@
26 +@@ -100,25 +107,59 @@
27 27 return entity.h();
28 28 }
29 29 };
30 30 + ICommandListener icommandlistener1 = new ProxyListener(); // CraftBukkit
31 31 ICommandHandler icommandhandler = minecraftserver.getCommandHandler();
32 32
33 33 try {
34 34 - int j = icommandhandler.a(icommandlistener1, s);
35 35 + // CraftBukkit start
36 36 + org.bukkit.command.CommandSender sender = null;
37 37 + ICommandListener listener = icommandlistener;
38 38 + while (sender == null) {
39 39 + if (listener instanceof DedicatedServer) {
40 -+ sender = minecraftserver.server.getConsoleSender();
40 ++ sender = minecraftserver.console;
41 ++ } else if (listener instanceof RemoteControlCommandListener) {
42 ++ sender = minecraftserver.remoteConsole;
41 43 + } else if (listener instanceof CommandBlockListenerAbstract) {
42 44 + sender = ((CommandBlockListenerAbstract) listener).sender;
43 45 + } else if (listener instanceof ProxyListener) {
44 46 + listener = ((ProxyListener) listener).base; // Search deeper
45 47 + } else if (VanillaCommandWrapper.lastSender != null) {
46 48 + sender = VanillaCommandWrapper.lastSender;
47 49 + } else if (listener.f() != null) {
48 50 + sender = listener.f().getBukkitEntity();
49 51 + } else {
50 52 + throw new CommandException("Unhandled executor " + icommandlistener.getClass().getSimpleName(), new Object[0]);

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut