> For the complete documentation index, see [llms.txt](https://docs.xandtech.fr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xandtech.fr/home/xstash/chests-module/chests.md).

# Overview & Access

The chests module gives every player a personal set of virtual chests, opened with `/xstash` (default aliases `/xs`, `/storage` — configurable, see [Installation & Setup](/home/xstash/getting-started/getting-started.md#custom-command-names)). Nothing needs to be placed in the world — it's a menu-based inventory system.

## Opening chests

* `/xstash` — opens the chest selector (a paginated grid of every chest slot).
* `/xstash <number>` — opens a specific chest directly, e.g. `/xstash 3`.
* Right-clicking the [travel backpack](/home/xstash/chests-module/travel-backpack.md), if you have one.
* Opening your ender chest, if [ender chest redirect](#ender-chest-redirect) is enabled.

## How many chests a player gets

`chests/config.yml`:

```yaml
chests:
  default-amount: 5   # free chests, no permission needed
  default-rows: 4      # rows per chest, no permission needed
  max-amount: 30        # absolute cap regardless of permissions
  max-rows: 6            # absolute cap regardless of permissions
```

Beyond the defaults, a player's chest count and row count are each controlled by a **dynamic permission node** — grant the highest one that should apply to a rank:

* `xstash.number_chest.<n>` — e.g. `xstash.number_chest.10` for 10 free chests.
* `xstash.number_row.<n>` — e.g. `xstash.number_row.6` for 6 rows per chest.

The **highest value** found among a player's permissions wins — these don't stack. A player with both `xstash.number_chest.10` and `xstash.number_chest.20` ends up with 20, not 30. See [Permissions](/home/xstash/reference/permissions.md) for the full reference.

## Purchasing individual chests

Chests beyond what a player's permissions grant for free can be bought individually, priced in `chest-prices.yml` (money via Vault, points via PlayerPoints, or a PlaceholderAPI-driven condition — by chest number or number range). Clicking a locked, priced chest opens a purchase confirmation menu. See [Economy & Selling](/home/xstash/reference/economy-and-selling.md) for every currency option, including the placeholder-condition one.

```yaml
purchase:
  # Optional "Totem of Undying" animation on a successful purchase.
  totem-animation:
    enabled: true
    custom-model-data: 0

  # When true, a chest listed in chest-prices.yml ALWAYS requires an actual purchase, no
  # matter how high a player's xstash.number_chest.<n> permission goes - useful when a rank
  # perk shouldn't also happen to cover a chest slot meant to stay a separate purchase.
  force-for-priced-chests: false
```

## Ender chest redirect

```yaml
chests:
  enderchest-redirect:
    enabled: true
    permission: ""   # optional extra permission on top of xstash.use
```

When enabled, opening a vanilla ender chest (right-clicking the block, `/enderchest`, or a third-party plugin's `/ec`) opens the XStash chest selector instead — it hooks the ender chest inventory itself, so it works regardless of which plugin/command actually triggered the open. Doesn't trigger when an admin opens *another* player's ender chest.

## Search

```yaml
search:
  enabled: true
```

The search button in the selector menu prompts the player to type an item name in chat, then reports every match across every chest they've unlocked (`Chest #n: <amount>x <item>`) — matches the material name or a custom display name, case-insensitive, partial match. Nothing opens automatically.

## Blocked items

`chests/blocked-items.yml` lists materials that can never be deposited into a virtual chest (command blocks, structure blocks, etc. by default), each with its own optional bypass permission on top of the global `xstash.bypass_blocked_items`.

## Next: [Customization & Search](/home/xstash/chests-module/customization-and-search.md) · [Utility Bar](/home/xstash/chests-module/utility-bar.md) · [Travel Backpack](/home/xstash/chests-module/travel-backpack.md) · [Admin Tools](/home/xstash/chests-module/admin-tools.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xandtech.fr/home/xstash/chests-module/chests.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
