public static void checkedTeleport(EntityPlayerMP player, WarpPoint point) {
    if (!canTeleportTo(point)) {
      ChatOutputHandler.chatError(
          player, Translator.translate("Unable to teleport! Target location obstructed."));
      return;
    }

    PlayerInfo pi = PlayerInfo.get(player);
    pi.setLastTeleportOrigin(new WarpPoint(player));
    pi.setLastTeleportTime(System.currentTimeMillis());
    pi.setLastDeathLocation(null);

    doTeleport(player, point);
  }