@EventHandler(priority = EventPriority.HIGHEST)
	public void onPlayerInteract(PlayerInteractEvent event) {
		Player player = event.getPlayer();
		// make sure the player is vanished before we do anything
		if(!isVanished(player)) {
			return;
		}
		
		// deal with right click
		if(event.getAction() == Action.RIGHT_CLICK_BLOCK) {
			switch(event.getClickedBlock().getType()) {
			case CHEST:
				
				// cancel the opening thing
				event.setCancelled(true);
				
				// but actually open it
				final Chest chest = (Chest)event.getClickedBlock().getState();
				
				// create a copy of the chest
				final Inventory i = Bukkit.getServer().createInventory(event.getPlayer(), chest.getInventory().getSize());
				i.setContents(chest.getInventory().getContents());
				
				// and have the player open that
				event.getPlayer().openInventory(i);
				
				// alert them
				ColourHandler.sendMessage(player, "&eWARNING: you are opening a chest while vanished. You cannot edit it!");
				
				break;
				
			case ENDER_CHEST:
				// just open their ender chest
				event.setCancelled(true);
				player.openInventory(player.getEnderChest());
				break;
			}
		}
		// prevent trampling
		else if(event.getAction() == Action.PHYSICAL && event.getMaterial() == Material.SOIL) {
			event.setCancelled(true);
		}
	}