@EventHandler
	public void oreGinPistonPull(BlockPistonRetractEvent event)
	{
		MaterialData materialData = event.getBlock().getState().getData();
		BlockFace blockFace;
		Block movedBlock;

		if (materialData instanceof PistonBaseMaterial) 
		{
			blockFace = ((PistonBaseMaterial) materialData).getFacing();
			movedBlock = event.getBlock().getRelative(blockFace, 2);
			
			if (event.isSticky() && movedBlock != null)
			{
				if (oreGinMan.machineExistsAt(movedBlock.getLocation())
						|| oreGinMan.oreGinLightExistsAt(movedBlock.getLocation()))
				{
					event.setCancelled(true);
				}
			}
		}
	}