Paper/nms-patches/CommandBlockListenerAbstract.patch
2018-08-26 12:00:00 +10:00

50 lines
2.0 KiB
Diff

--- a/net/minecraft/server/CommandBlockListenerAbstract.java
+++ b/net/minecraft/server/CommandBlockListenerAbstract.java
@@ -5,6 +5,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.annotation.Nullable;
+import org.bukkit.command.CommandSender;
public abstract class CommandBlockListenerAbstract implements ICommandListener {
@@ -16,6 +17,10 @@
private IChatBaseComponent f;
private String g = "";
private IChatBaseComponent h = new ChatComponentText("@");
+ // CraftBukkit start
+ @Override
+ public abstract CommandSender getBukkitSender(CommandListenerWrapper wrapper);
+ // CraftBukkit end
public CommandBlockListenerAbstract() {}
@@ -103,14 +108,7 @@
if (minecraftserver != null && minecraftserver.D() && minecraftserver.getEnableCommandBlock() && !UtilColor.b(this.g)) {
try {
this.f = null;
- CommandListenerWrapper commandlistenerwrapper = this.getWrapper().a((commandcontext, flag, i) -> {
- if (flag) {
- ++this.d;
- }
-
- });
-
- minecraftserver.getCommandDispatcher().a(commandlistenerwrapper, this.g);
+ this.d = minecraftserver.getCommandDispatcher().dispatchServerCommand(this.getWrapper(), this.g); // CraftBukkit
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Executing command block");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Command to be executed");
@@ -141,6 +139,11 @@
}
public void setName(IChatBaseComponent ichatbasecomponent) {
+ // CraftBukkit start
+ if (ichatbasecomponent == null) {
+ ichatbasecomponent = new ChatComponentText("@");
+ }
+ // CraftBukkit end
this.h = ichatbasecomponent;
}