public static boolean interact(final Entity e, final boolean hop, final String s) {
		if (e.validate()) {
			if (hop) {
				Mouse.hop((int) e.getCentralPoint().getX(), (int) e
						.getCentralPoint().getY());
			} else {
				Mouse.move(e.getCentralPoint());
				if (e instanceof org.powerbot.game.api.wrappers.interactive.Character
						&& ((org.powerbot.game.api.wrappers.interactive.Character) e)
								.isMoving()) {
					Mouse.hop((int) e.getCentralPoint().getX(), (int) e
							.getCentralPoint().getY());
				}
			}
			Mouse.click(false);
			if(Menu.isOpen() && Menu.select(s)) {
				Dimension d = org.powerbot.core.Bot.instance().getCanvas().getSize();
				return Mouse.move(Random.nextInt(10, d.width - 10), Random.nextInt(10, d.width - 10));
			}
		}
		return false;
	}