# RowBuilder > Builder for configuring individual row slots within a menu. `gg.lode.bookshelfapi.api.menu.build.RowBuilder` --- ## Signature ```java public class RowBuilder ``` --- ## Methods | Method | Return Type | Description | |--------|-------------|-------------| | `setSlot(int x, ItemStack item)` | `RowBuilder` | Sets an item at the given slot index. | | `setSlot(int x, ItemStack item, Consumer<InventoryClickEvent> event)` | `RowBuilder` | Sets an item with a click handler at the given slot index. | | `getSlots()` | `Map<Integer, Slot>` | Returns the map of configured slots. | ### Parameters | Parameter | Type | Description | |-----------|------|-------------| | `x` | `int` | The slot index within the row (0-8). | | `item` | `ItemStack` | The item to place. | | `event` | `Consumer<InventoryClickEvent>` | Click event handler. | --- ## Inner Record: Slot | Method | Return Type | Description | |--------|-------------|-------------| | `itemStack()` | `ItemStack` | The item in this slot. | | `event()` | `Consumer<InventoryClickEvent>` | The click handler, may be `null`. | | `static empty()` | `Slot` | Returns an empty slot. | --- ## Usage ```java builder.buildRow(1, row -> { row.setSlot(0, new ItemStack(Material.ARROW), event -> { // previous page }); row.setSlot(4, new ItemStack(Material.COMPASS)); row.setSlot(8, new ItemStack(Material.ARROW), event -> { // next page }); }); ``` --- ## Related Pages - [[MenuBuilder]] - [[TopMenuBuilder]] - [[Menu]]