Skip to content

Commit

Permalink
Fix function not being run as the Player that got the reward
Browse files Browse the repository at this point in the history
  • Loading branch information
ZockerAxel committed Dec 26, 2021
1 parent f8a7af2 commit e97418e
Showing 1 changed file with 2 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package eu.endercentral.crazy_advancements.advancement;

import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.craftbukkit.v1_18_R1.command.ProxiedNativeCommandSender;
import org.bukkit.craftbukkit.v1_18_R1.command.VanillaCommandWrapper;
import org.bukkit.entity.Player;

/**
Expand Down Expand Up @@ -48,21 +45,8 @@ public int getDelay() {

@Override
public final void onGrant(Player player) {
OpSender sender = new OpSender(player);
String command = (delay > 0 ? "schedule function " + getName() + " " + getDelay() + " append" : "function " + getName());
Bukkit.dispatchCommand(sender, command);
}


private static class OpSender extends ProxiedNativeCommandSender {

private static final CommandSender CONSOLE = Bukkit.getConsoleSender();

public OpSender(Player callee) {
super(VanillaCommandWrapper.getListener(CONSOLE), CONSOLE, callee);
}


String command = "execute as " + player.getName() + " at @s run " + (delay > 0 ? "schedule function " + getName() + " " + getDelay() + " append" : "function " + getName());
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command);
}

}

0 comments on commit e97418e

Please sign in to comment.