# IMenuManager
> Interface for registering, unregistering, and opening menus for players.
`gg.lode.bookshelfapi.api.manager.IMenuManager`
---
## Signature
```java
public interface IMenuManager
```
---
## Methods
| Method | Return Type | Description |
|--------|-------------|-------------|
| `registerMenu(Menu menu, JavaPlugin plugin)` | `void` | Registers a [[Menu]] and its event listeners under the given plugin. |
| `unregisterMenu(Menu menu)` | `void` | Unregisters a menu and its listeners. |
| `open(Player player, Menu menu)` | `void` | Opens the specified menu for the player. |
### Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| `menu` | `Menu` | The menu instance. |
| `plugin` | `JavaPlugin` | The owning plugin, used for listener registration. |
| `player` | `Player` | The player to open the menu for. |
---
## Usage
```java
IMenuManager menus = BookshelfAPI.getApi().getMenuManager();
MyMenu menu = new MyMenu();
menus.registerMenu(menu, plugin);
menus.open(player, menu);
```
---
## Related Pages
- [[IBookshelfAPI]]
- [[Menu]]
- [[TopMenuBuilder]]