package tc.oc.pgm.tnt.license;
import javax.inject.Inject;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import tc.oc.commons.core.plugin.PluginFacet;
import tc.oc.pgm.goals.Goal;
import tc.oc.pgm.goals.events.GoalCompleteEvent;
public class LicenseMonitor implements Listener, PluginFacet {
private final LicenseBroker licenseBroker;
@Inject LicenseMonitor(LicenseBroker licenseBroker) {
this.licenseBroker = licenseBroker;
}
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onObjectiveComplete(GoalCompleteEvent<Goal> event) {
event.getContributions()
.forEach(contrib -> licenseBroker.grant(contrib.getPlayerState().getPlayerId(),
LicenseBroker.GrantReason.OBJECTIVES));
}
}