package tc.oc.pgm.flag.event; import org.bukkit.Location; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.HandlerList; import tc.oc.pgm.match.MatchPlayer; import tc.oc.pgm.flag.Flag; import tc.oc.pgm.eventrules.EventRuleMatchModule; /** * Fired BEFORE a player picks up a flag, allowing it to be cancelled. * This is used by {@link EventRuleMatchModule} to prevent * flags from being picked up inside regions that the player would not be * allowed to enter if they were already carrying it. */ public class FlagPickupEvent extends Event implements Cancellable { private final Flag flag; private final MatchPlayer carrier; private final Location location; private boolean cancelled; public FlagPickupEvent(Flag flag, MatchPlayer carrier, Location location) { this.flag = flag; this.carrier = carrier; this.location = location; } public Flag getFlag() { return flag; } public MatchPlayer getCarrier() { return carrier; } public Location getLocation() { return location; } @Override public boolean isCancelled() { return this.cancelled; } @Override public void setCancelled(boolean yes) { this.cancelled = yes; } private static final HandlerList handlers = new HandlerList(); public static HandlerList getHandlerList() { return handlers; } @Override public HandlerList getHandlers() { return handlers; } }