# 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]]