package tc.oc.pgm.spawns.events; import org.bukkit.Location; import org.bukkit.event.HandlerList; import tc.oc.pgm.match.MatchPlayer; import tc.oc.pgm.events.SingleMatchPlayerEvent; /** * Called immediately before a participating player ceases to be a specific living, * physical entity in the match world, for whatever reason. This can happen as a * result of death, team change, leaving the match, or the match ending. * * It is guaranteed that a matching despawn event will be called for every * {@link ParticipantSpawnEvent}, before the match ends. * * TODO: Figure out a way for other modules to apply kits/items through * this event. This is a bit trickier than it sounds, because they * have to be applied in the right order, some before the actual * spawn kit and some after it. Displaced items also need to be * handled properly. */ public class ParticipantDespawnEvent extends SingleMatchPlayerEvent { protected final Location location; public ParticipantDespawnEvent(MatchPlayer player, Location location) { super(player); this.location = location; } /** * The player's final location before despawning */ public Location getLocation() { return location; } private static final HandlerList handlers = new HandlerList(); @Override public HandlerList getHandlers() { return handlers; } public static HandlerList getHandlerList() { return handlers; } }