Newer
Older
ultramine_bukkit / src / main / java / org / bukkit / event / block / BlockPistonEvent.java
@vlad20012 vlad20012 on 24 Feb 2017 1 KB initial
package org.bukkit.event.block;

import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.event.Cancellable;

/**
 * Called when a piston block is triggered
 */
public abstract class BlockPistonEvent extends BlockEvent implements Cancellable
{
	private boolean cancelled;
	private final BlockFace direction;

	public BlockPistonEvent(final Block block, final BlockFace direction)
	{
		super(block);
		this.direction = direction;
	}

	public boolean isCancelled()
	{
		return this.cancelled;
	}

	public void setCancelled(boolean cancelled)
	{
		this.cancelled = cancelled;
	}

	/**
	 * Returns true if the Piston in the event is sticky.
	 *
	 * @return stickiness of the piston
	 */
	public boolean isSticky()
	{
		return block.getType() == Material.PISTON_STICKY_BASE;
	}

	/**
	 * Return the direction in which the piston will operate.
	 *
	 * @return direction of the piston
	 */
	public BlockFace getDirection()
	{
		// Both are meh!
		// return ((PistonBaseMaterial) block.getType().getNewData(block.getData())).getFacing();
		// return ((PistonBaseMaterial) block.getState().getData()).getFacing();
		return direction;
	}
}