Пример #1
0
    @Override
    protected void onPlayerLeave(final Player player, LeaveRegionReason reason) {
      PreCon.notNull(player);

      Scheduler.runTaskLater(
          Nucleus.getPlugin(),
          10,
          new Runnable() {
            @Override
            public void run() {

              // prevent player from leaving jail
              Location tpLocation = getRandomTeleport();

              if (tpLocation == null) tpLocation = getCenter();

              player.teleport(tpLocation);
            }
          });
    }
/**
 * Called when a teleport is scheduled.
 *
 * @see com.jcwhatever.nucleus.managed.teleport.Teleporter
 * @see com.jcwhatever.nucleus.managed.teleport.ITeleportManager
 */
public class TeleportScheduledEvent extends PlayerEvent implements ICancellable, Cancellable {

  private static final HandlerList handlers =
      new HandlerListExt(Nucleus.getPlugin(), TeleportScheduledEvent.class);

  private final Location _to;
  private int _delay;
  private boolean _isCancelled;

  /**
   * Constructor.
   *
   * @param player The player scheduled to be teleported.
   * @param to The location to be teleported to.
   * @param delay The teleport delay in ticks.
   */
  public TeleportScheduledEvent(Player player, Location to, int delay) {
    super(player);
    PreCon.notNull(player);
    PreCon.notNull(to);

    _to = to;
    _delay = delay;
  }

  /** Get the teleport delay in ticks. */
  public int getDelayTicks() {
    return _delay;
  }

  /**
   * Set the teleport delay.
   *
   * @param ticks The number of ticks to delay.
   */
  public void setDelayTicks(int ticks) {
    _delay = ticks;
  }

  /** Get a direct reference to the location the player will be teleported to. */
  public Location getTo() {
    return _to;
  }

  @Override
  public boolean isCancelled() {
    return _isCancelled;
  }

  @Override
  public void setCancelled(boolean isCancelled) {
    _isCancelled = isCancelled;
  }

  @Override
  public HandlerList getHandlers() {
    return handlers;
  }

  public static HandlerList getHandlerList() {
    return handlers;
  }
}