@EventHandler(priority = EventPriority.HIGHEST)
	public void onPlayerInteract(PlayerInteractEvent e) {
		
		Player player = e.getPlayer();
		Block blockClicked = e.getClickedBlock();
		ItemStack heldItem = e.getItem();
					
		if (blockClicked.getState() instanceof InventoryHolder) {
			
			if (RandomShop.creatingShop.containsKey(player.getName())) {
				
				e.setCancelled(true);
				ShopHandler.shops.add(new Shop(blockClicked.getLocation(), (InventoryHolder)blockClicked.getState(), player.getName(), RandomShop.creatingShop.get(player.getName())[0], RandomShop.creatingShop.get(player.getName())[1]));
				player.sendMessage("You created a RandomShop that will dispense "+RandomShop.creatingShop.get(player.getName())[0]+" items for $"+RandomShop.creatingShop.get(player.getName())[1]);
				RandomShop.creatingShop.remove(player.getName());
				
			}
			
			if (RandomShop.removingShop.contains(player.getName())) {
				
				e.setCancelled(true);
				ShopHandler.removeShop(blockClicked.getLocation());
				player.sendMessage("You removed the RandomShop at X: "+blockClicked.getLocation().getBlockX()+", Y: "+blockClicked.getLocation().getBlockY()+", Z: "+blockClicked.getLocation().getBlockZ());
				RandomShop.removingShop.remove(player.getName());
				
			}
			
			while (ShopHandler.shops.iterator().hasNext()) {
				
				Shop shop = ShopHandler.shops.iterator().next();
				
				if (blockClicked.getLocation() == shop.getLocation()) {
					
					if (player.getName() != shop.getOwner()) {
					
						e.setCancelled(true);
						
					}
					
					if (heldItem.getTypeId() == RandomShop.CURRENCY) {
						
						if (heldItem.getAmount() >= shop.getPrice()) {
							
							shop.dispense(player);
							
						} else {
							
							player.sendMessage("You do not have enough money to purchase from this shop");
							
						}
						
					} else {
						
						player.sendMessage("This shop dispenses "+shop.getAmount()+" items for $"+shop.getPrice());
						
					}
					
				}
				
			}
			
		}
		
		
			
	}