--- a/net/minecraft/server/CustomFunction.java +++ b/net/minecraft/server/CustomFunction.java @@ -122,7 +122,15 @@ } public void a(CustomFunctionData customfunctiondata, ICommandListener icommandlistener, ArrayDeque 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() {