> For the complete documentation index, see [llms.txt](https://thanhpahts-organization.gitbook.io/product-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thanhpahts-organization.gitbook.io/product-docs/ultimate-storage/iii.-features.md).

# III. Features

## **1. Auto Storage And Real Drop Detection**

UltimateStorage listens to actual item drops instead of manually guessing drop results. This keeps Fortune, Looting, Silk Touch, crop drops, fishing rewards, and compatible custom drop changes aligned with what Minecraft or another plugin produced.

* Block drops are handled through the block drop event.
* Mob drops are handled when the killed entity has a player killer.
* Fishing rewards are handled when the player catches an item.
* Only the storable amount is removed from the world drop. Overflow can remain as a normal drop.
* Players must have ultimatestorage.use for automatic storage.

## **2. Category Storage**

The player opens the category GUI first, then selects a category to view stored resources. New categories can be created in configuration by adding a category entry and assigning resources to the same category ID.

## **3. Auto Toggle Priority**

| Toggle                      | Priority | Effect                                             |
| --------------------------- | -------- | -------------------------------------------------- |
| Global category auto toggle | High     | When OFF, no category can auto store.              |
| Category auto toggle        | Normal   | Only works while the global toggle is ON.          |
| /us toggle                  | High     | Connected to the same global category auto toggle. |

## **4. Deposit, Withdraw, Sell, And Transfer**

| System      | What It Does                                                                         |
| ----------- | ------------------------------------------------------------------------------------ |
| Deposit     | Moves items from player inventory into storage. The player may type a number or all. |
| Withdraw    | Moves stored resources back into the player inventory if enough space exists.        |
| Sell All    | Sells all stored units for a resource using sell-price.                              |
| Sell Amount | Asks for an amount and sells that amount only.                                       |
| Transfer    | Transfers stored resources to another online player when the receiver has capacity.  |

## **5. Category Upgrade System**

The upgrade button is configured in gui/storage.yml and upgrades every resource inside the currently opened category. The next level is selected from config.yml upgrade templates.

upgrade.mode: ALL applies one template to all categories.

upgrade.mode: CATEGORY uses upgrade.categories.\<category> for each category.

storage.default-limit.mode can also be ALL or CATEGORY.

Admin upgrade command sets a category level directly for an online player.

## **6. Economy**

Economy is selected by economy.mode. VAULT uses the server economy provider registered through Vault. PLAYERPOINTS uses PlayerPoints through its API. If the selected provider is unavailable, sell and upgrade economy actions will show an economy error message.

## **7. GUI System**

GUI layout, titles, filler items, button icons, lore, slot ranges, actions, custom heads, CustomModelData, and sounds are all configurable. Per-button sounds override the global click sound. Items with sound.enabled: false do not play a click sound.

## **8. Performance And Storage**

Online player data is cached in memory and marked dirty when changed. The database service saves asynchronously on a single SQLite worker thread and periodic save interval, reducing main-thread database pressure.
