Package com.warrows.plugins.TreeSpirit.listeners

Source Code of com.warrows.plugins.TreeSpirit.listeners.PlayerMoveListener

package com.warrows.plugins.TreeSpirit.listeners;

import java.util.HashMap;

import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;

import com.warrows.plugins.TreeSpirit.trees.GreatTree;
import com.warrows.plugins.TreeSpirit.trees.TreesData;


public class PlayerMoveListener implements Listener
{
  private static HashMap<Player, Integer>  stuck  = new HashMap<Player, Integer>();

  @EventHandler(ignoreCancelled = true)
  public void onPlayerMoveEvent(PlayerMoveEvent event)
  {
    Player player = event.getPlayer();
    GreatTree tree = TreesData.getGreatTree(player);
    if (tree == null)
      return;

    if (tree.isAtProximity(event.getTo().getBlock()))
    {
      stuck.remove(player);
    } else
    {
      if (stuck.get(player) == null)
        stuck.put(player, 0);
      else
      {
        int nbStuck = 1 + (Integer) stuck.get(player);
        if (nbStuck > 5)
        {
          Block destination = tree.getHeart();
          while (destination.getType() != Material.AIR || destination.getRelative(BlockFace.UP).getType() != Material.AIR)
            destination = destination.getRelative(BlockFace.UP);
          player.teleport(destination.getLocation());
          return;
        }
        stuck.put(player, nbStuck);

      }
      event.setCancelled(true);
      player.teleport(event.getFrom());
    }
  }
}
TOP

Related Classes of com.warrows.plugins.TreeSpirit.listeners.PlayerMoveListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.