> 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/sacks-module/sacks.md).

# Overview & Tiers

The sacks module is a Hypixel SkyBlock-style resource sink: each sack is a **single physical item** a player carries or stores, holding a large, configurable amount of specific resources internally. Its storage capacity grows through **tiers**, upgraded in place — no crafting table recipe needed to obtain the base sack itself, it's handed out (see below).

Requires the [chests module](/home/xstash/chests-module/chests.md) to also be enabled (sacks reuse its storage connection).

## Opening a sack

* Right-click the physical sack item, anywhere — in your hand, or from inside the [Sack of Sacks](/home/xstash/sacks-module/sack-of-sacks.md).
* `/sacks` — opens your own Sack of Sacks.

## The catalog — `sacks/sacks.yml`

Every sack (farming, mining, fishing, combat, woodcutting by default) is fully configurable: what it holds, its tiers, and their upgrade costs. Example (the default `farming` sack):

```yaml
sacks:
  farming:
    display-name: "&aFarming Sack"
    material: ""
    head: "..."
    open-permission: ""
    require-open-permission: false
    items:
      - WHEAT
      - CARROT
      - POTATO
      - BEETROOT

    tiers:
      - id: small
        display-name: "&7Small"
        capacities:
          WHEAT: 256
          CARROT: 128
          POTATO: 128
          BEETROOT: 128
        # No "upgrade" - this is the starting tier.

      - id: medium
        display-name: "&eMedium"
        capacities:
          WHEAT: 512
          CARROT: 256
          POTATO: 256
          BEETROOT: 256
        upgrade:
          permission: ""
          require-permission: false
          cost:
            items:
              IRON_INGOT: 32
            money: 5000
            exp-levels: 10
            points: 200
```

### Item keys

`items` (and `capacities`) accept the same four forms used throughout XStash:

* A plain vanilla `Material` name — matches any item of that material.
* `Material:CustomModelData` — a resource-pack-skinned custom item.
* `ei:<id>` — an ExecutableItems item, by its own id.
* `pdc:<namespace>:<key>:<value>` — a PersistentDataContainer tag another plugin uses.

### Upgrade cost

Any combination of `items` (by the same four-form key), `money`, `points`, and `exp-levels`. An optional `permission` + `require-permission: true` gates a specific tier behind a rank.

### Obtaining a sack

There's no crafting recipe for the base sack item itself — hand one out with:

```
/sacks give <sackId> [player]
```

(requires `xstash.admin`). To grant a tier directly (e.g. as a quest reward, skipping the normal upgrade cost):

```
/sacks settier <sackId> <tierId> [player]
```

## Auto-collect

`sacks/config.yml`:

```yaml
auto-collect:
  enabled: true
  allow-player-toggle: true
  default: true
```

When a player picks up an item in the world that one of their sacks accepts, and that sack still has room for the *whole* picked-up stack, it's routed straight into the sack instead of their inventory. If `allow-player-toggle` is on, each player can flip this per sack via a button in that sack's own content view; otherwise `default` always applies.

## Next: [Sack of Sacks](/home/xstash/sacks-module/sack-of-sacks.md) · [Quick Sell](/home/xstash/sacks-module/quick-sell.md) · [Admin Tools](/home/xstash/sacks-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/sacks-module/sacks.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.
