SPIGOT-3373: Fix /execute in gameloop functions
Dieser Commit ist enthalten in:
Ursprung
753a8e700d
Commit
258575110f
@ -11,7 +11,7 @@
|
||||
|
||||
public class CommandExecute extends CommandAbstract {
|
||||
|
||||
@@ -59,26 +63,59 @@
|
||||
@@ -59,26 +63,61 @@
|
||||
}
|
||||
|
||||
String s = a(astring, b0);
|
||||
@ -31,6 +31,8 @@
|
||||
+ sender = minecraftserver.remoteConsole;
|
||||
+ } else if (listener instanceof CommandBlockListenerAbstract) {
|
||||
+ sender = ((CommandBlockListenerAbstract) listener).sender;
|
||||
+ } else if (listener instanceof CustomFunctionData.CustomFunctionListener) {
|
||||
+ sender = ((CustomFunctionData.CustomFunctionListener) listener).sender;
|
||||
+ } else if (listener instanceof CommandListenerWrapper) {
|
||||
+ listener = ((CommandListenerWrapper) listener).base; // Search deeper
|
||||
+ } else if (VanillaCommandWrapper.lastSender != null) {
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
public void a(CustomFunctionData customfunctiondata, ICommandListener icommandlistener, ArrayDeque<CustomFunctionData.a> arraydeque, int i) {
|
||||
- customfunctiondata.a().a(icommandlistener, this.a);
|
||||
+ CommandBlockListenerAbstract.executeSafely(icommandlistener, new org.bukkit.craftbukkit.command.CraftFunctionCommandSender(icommandlistener), this.a); // CraftBukkit
|
||||
+ CommandBlockListenerAbstract.executeSafely(icommandlistener, ((CustomFunctionData.CustomFunctionListener) icommandlistener).sender, this.a); // CraftBukkit
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
|
@ -1,6 +1,22 @@
|
||||
--- a/net/minecraft/server/CustomFunctionData.java
|
||||
+++ b/net/minecraft/server/CustomFunctionData.java
|
||||
@@ -33,7 +33,7 @@
|
||||
@@ -23,7 +23,14 @@
|
||||
private CustomFunction f;
|
||||
private final ArrayDeque<CustomFunctionData.a> g = new ArrayDeque();
|
||||
private boolean h = false;
|
||||
- private final ICommandListener i = new ICommandListener() {
|
||||
+ // CraftBukkit start
|
||||
+ private final ICommandListener i = new CustomFunctionListener();
|
||||
+
|
||||
+ public class CustomFunctionListener implements ICommandListener {
|
||||
+
|
||||
+ protected org.bukkit.command.CommandSender sender = new org.bukkit.craftbukkit.command.CraftFunctionCommandSender(this);
|
||||
+ // CraftBukkit end
|
||||
+
|
||||
public String getName() {
|
||||
return CustomFunctionData.this.e;
|
||||
}
|
||||
@@ -33,7 +40,7 @@
|
||||
}
|
||||
|
||||
public World getWorld() {
|
||||
@ -9,7 +25,7 @@
|
||||
}
|
||||
|
||||
public MinecraftServer C_() {
|
||||
@@ -57,7 +57,7 @@
|
||||
@@ -57,7 +64,7 @@
|
||||
}
|
||||
|
||||
public int c() {
|
||||
@ -18,7 +34,7 @@
|
||||
}
|
||||
|
||||
public Map<MinecraftKey, CustomFunction> d() {
|
||||
@@ -65,7 +65,7 @@
|
||||
@@ -65,7 +72,7 @@
|
||||
}
|
||||
|
||||
public void e() {
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren