    public void whenPlayerMoves(PlayerMoveEvent event) {
        final Player player = event.getPlayer();
        if (onPad.contains(player)) return;
        if (player.hasPermission("telepads.use")) {
            Block block = player.getLocation().getBlock().getRelative(BlockFace.DOWN);
            if (!checkPad(block)) {
                return;
            }
            final Location loc = new Location(null, block.getX(), block.getY(), block.getZ());
            if (!plugin.telepads.containsKey(loc)) {
                return;
            }
            onPad.add(player);
            player.sendMessage(ChatColor.GRAY + plugin.wait_msg.replace("%time%", plugin.telepad_teleport_time + " Seconds"));
            plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
                public void run() {
                    onPad.remove(player);
                    Block cBlock = player.getLocation().getBlock().getRelative(BlockFace.DOWN);
                    if (!checkPad(cBlock)) return;
                    if (!plugin.telepads.containsKey(loc)) return;
                    plugin.gotoPad(loc, player);
                }
            }, plugin.telepad_teleport_time * 20L);
        }
    }

    public void whenPlayerMoves(PlayerMoveEvent event) {
        final Player player = event.getPlayer();
        if (onPad.contains(player)) return;
        if (player.hasPermission("telepads.use")) {
            Block block = player.getLocation().getBlock().getRelative(BlockFace.DOWN);
            if (!checkPad(block)) {
                return;
            }
            final Location loc = new Location(null, block.getX(), block.getY(), block.getZ());
            if (!plugin.telepads.containsKey(loc)) {
                return;
            }
            onPad.add(player);
            player.sendMessage(ChatColor.GRAY + plugin.wait_msg.replace("%time%", plugin.telepad_teleport_time + " Seconds"));
            plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
                public void run() {
                    onPad.remove(player);
                    Block cBlock = player.getLocation().getBlock().getRelative(BlockFace.DOWN);
                    if (!checkPad(cBlock)) return;
                    Location floc = new Location(null, cBlock.getX(), cBlock.getY(), cBlock.getZ());
                    if (!plugin.telepads.containsKey(floc)) return;
                    plugin.gotoPad(loc, player);
                }
            }, plugin.telepad_teleport_time * 20L);
        }
    }
