### A powerful per-player chest system designed for quest-based gameplay.
PrivateQuestChests allows you to turn any placed chest into a **shared-location, per-player private inventory**, perfect for quest systems, item collection objectives, or progression-based gameplay.
---
## ✨ Features
- **Per-player chest inventories**
- Every player gets their own inventory for the same chest
- No shared storage between players
- **Location-based chests**
- The chest remains physically in the world
- No custom blocks or IDs required
- **Perfect for quest systems**
- Track what players deposit or withdraw
- Ideal for “collect and deliver” objectives
- **Template system**
- Pre-fill a chest with items before registering
- These items become the **default inventory for every player**
- **Live interaction tracking**
- Detect when players:
- Put items in
- Take items out
- **Persistent storage**
- Data is saved and survives restarts
- **Compatible with Paper 1.21 – 1.21.11**
---
## How It Works
- Place a chest anywhere in the world
- *(Optional)* Put items inside the chest
→ These will become the **default contents for all players**
- Run the command: /privatechest select
- Right-click the chest
- Done! The chest is now a **Private Quest Chest**
---
## Player Behavior
- Each player sees **their own version** of the chest
- Items are **not shared between players**
**Example:**
- Player A removes an item → only removed for Player A
- Player B opens the chest → still sees the item
- Player A adds items → only visible to Player A
---
## Template Behavior
- If the chest contains items when it is registered:
- Those items are saved as a **default inventory**
- Every player starts with the same contents
- After that, inventories are **fully independent**
---
## Permissions
- **privatequestchest.admin**
- Allows selecting and registering chests
- Default: OP
- **physical-chest.clear-after-registration**
- true → Clears the real chest after registering (recommended)
- false → Leaves items in the physical chest
---
## Developer Hooks
- **PrivateChestDepositEvent**
- Called when a player puts items into the chest
- **PrivateChestWithdrawEvent**
- Called when a player takes items out
---
## ️ Installation
- Place the `.jar` file in your server’s `plugins/` folder
- Start or restart your server
---
## Requirements
- Paper 1.21 – 1.21.11
---
## Use Cases
- Quest systems
- RPG servers
- Delivery missions
- Collection objectives
- Player progression systems
---
## Support
- Need help or want additional features? Feel free to reach out!