--- a/net/minecraft/server/CustomFunction.java
+++ b/net/minecraft/server/CustomFunction.java
@@ -122,7 +122,15 @@
}
public void a(CustomFunctionData customfunctiondata, ICommandListener icommandlistener, ArrayDeque<CustomFunctionData.a> arraydeque, int i) {
- customfunctiondata.a().a(icommandlistener, this.a);
+ // CraftBukkit start
+ org.bukkit.command.CommandSender sender;
+ if (icommandlistener instanceof CustomFunctionData.CustomFunctionListener) {
+ sender = ((CustomFunctionData.CustomFunctionListener) icommandlistener).sender;
+ } else {
+ sender = CommandBlockListenerAbstract.unwrapSender(icommandlistener);
+ }
+ CommandBlockListenerAbstract.executeSafely(icommandlistener, sender, this.a);
+ // CraftBukkit end
public String toString() {