Depo
Depo is a Minecraft plugin that automatically detects and installs missing plugin dependencies from trusted sources, making server setup faster and hassle-free. It ensures your plugins always have what they need to run smoothly.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Depo
The Endex 1.5.3 | Dynamic Market & Addons [1.20.1 - 1.21.x]

*Bring a living economy to your server. Prices move with player demand and supply, with a slick Market GUI, timed events, optional web dashboard, virtual holdings system, and an addon framework.*
---
The Endex is a dynamic economy plugin that brings realistic market mechanics to your Minecraft server. Prices fluctuate based on player trading activity, server-wide item storage, and random market events.
🆕 Version 1.5.3 Highlights:
- Optimized World Scanner — 30+ placeholders for scoreboards, holograms, and other plugins - Optimized World Scanner — Automatic notifications when new versions are available - Optimized World Scanner — Full layout, colors, and slot position customization - Optimized World Scanner — Create custom command shortcuts like /shop → /market - Optimized World Scanner — Intelligent chunk caching with dirty tracking
---
💰 Dynamic Pricing
Prices react to demand/supply with configurable sensitivity, EMA smoothing, and per-item min/max caps.
🌍 World Storage Scanner
Prices adapt to global item quantities across ALL server storage. Abundant items drop in price; scarce items rise.
📦 Virtual Holdings
Buy items into virtual storage with average cost tracking and profit/loss display. Withdraw when ready.
🖥️ Market GUI
Beautiful interface with categories, search, sorting, quick buy/sell buttons, and real-time price charts.
📸 Screenshots
⚡ Market Events
Time-boxed price multipliers (Ore Rush, Market Crash, etc.) with server broadcasts.
🌐 Web Dashboard
Optional REST API with live updates, charts, item icons, and trading from your browser.
🔌 Addon Framework
Extensible API for custom addons with command routing and web integration.
📬 Delivery System
Overflow protection when inventory or holdings are full. Claim items anytime.
🔗 PlaceholderAPI Support
30+ placeholders for scoreboards, holograms, tab lists, and more. Display prices, trends, holdings, leaderboards, and market stats anywhere.
---
``` /endex help - Show help menu /endex version - Display plugin version
/market - Open market GUI /market buy <item> <amt> - Purchase items /market sell <item> <amt>- Sell items /market price <item> - Check current price /market top - View top traded items
/market holdings - View your virtual holdings /market withdraw <item> - Withdraw items to inventory /market withdraw all - Withdraw everything
/market delivery list - View pending deliveries /market delivery claim - Claim delivered items /market delivery gui - Open delivery GUI
/market invest buy <item> <amount> /market invest list /market invest redeem-all
/market event list - View active events /market event <name> - Start an event (admin) /market event end <name> - End an event (admin) /market event clear - Clear all events (admin) ```
---
``` theendex.market - Access market GUI (default: true) theendex.buy - Purchase items (default: true) theendex.sell - Sell items (default: true) theendex.holdings - Access holdings system (default: true) theendex.withdraw - Withdraw from holdings (default: true) theendex.invest - Use investments (default: true) theendex.admin - Admin commands (default: op) endex.web.trade - Web dashboard trading endex.web.admin - View other players' holdings ```
---
📋 Requirements
- Economy: Paper/Spigot 1.20.1 - 1.21.x - Economy: 17 or higher - Economy: Vault + Economy plugin (EssentialsX, CMI, etc.)
💾 Storage Options
- YAML (default) or SQLite database - Automatic backups and safe reloads - CSV price history export
---
Configuration Highlights
Virtual Holdings:
```yaml holdings: enabled: true max-per-player: 10000 max-materials-per-player: 100 mode: VIRTUAL ```
World Storage Scanner:
```yaml price-world-storage: enabled: true scan-interval-seconds: 300 sensitivity: 0.01 global-baseline: 1000 containers: chests: true barrels: true shulker-boxes: true anti-manipulation: per-chunk-item-cap: 10000 per-material-chunk-cap: 5000 min-tps: 18.0 ```
Inventory-aware pricing:
```yaml price-inventory: enabled: true sensitivity: 0.02 per-player-baseline: 64 max-impact-percent: 10.0 ```
Web combined holdings:
```yaml web: roles: default: TRADER trader-permission: endex.web.trade admin-view-permission: endex.web.admin holdings: inventory: enabled: true include-enderchest: false cache-seconds: 15 ```
---
Compatibility
- Economy: Paper/Spigot 1.20.1 to 1.21.x - Economy: 17 runtime - Economy: Vault (soft dependency)
Data & Reliability
- YAML storage in the plugin folder by default; optional SQLite database - Periodic backups and orderly saves; safe reload reschedules tasks cleanly - Atomic CSV export to `plugins/TheEndex/history` - Holdings operations use atomic transactions to prevent duplication exploits
API & Addons
- Public API service for other plugins: `org.lokixcz.theendex.api.EndexAPI` - Addon loader with command routing and aliasing - Customizable Web UI override (`web.custom.*`) – export default index.html and modify
---
Changelog
📜 Full Changelog
New in 1.5.3:
- PlaceholderAPI Integration: 30+ placeholders for prices, trends, holdings, leaderboards, and stats - Update Checker: Automatic notifications on startup and OP join when updates available - GUI Customization: Per-GUI config files for layout, colors, slot positions, and categories - Command Aliases: Create custom shortcuts (e.g., `/shop` → `/market`) via commands.yml - Full documentation available at https://lokixcz-plugins.kagsystems.tech/
New in 1.5.2:
- Optimized World Storage Scanner: Complete rewrite with intelligent chunk caching and dirty tracking - Chunk-level caching with configurable expiry — 80-90% reduction in redundant scanning - Event-driven dirty tracking — only re-scans chunks where containers were modified - Disk persistence for cache data across server restarts - GUI Fix (MC 1.21+): Fixed critical bug where market items could be taken and clicks weren't registering - UUID-based GUI state tracking replaces unreliable title matching
New in 1.5.1:
- World Storage Scanner: Prices now react to ALL items stored on your server (chests, barrels, shulker boxes, etc.) - Global item tracking for true server-wide scarcity economics - Anti-manipulation protection: per-chunk caps, per-material limits, suspicious activity logging - TPS-aware throttling: scanner skips if server is under load - Double chest deduplication prevents double-counting - Nested shulker content scanning (items inside shulkers in chests) - Configurable container types and world exclusions
New in 1.5.0:
- Virtual Holdings System: Complete redesign where purchased items go into virtual holdings instead of inventory - Holdings GUI: New panel showing all holdings with quantity, avg cost, current price, and profit/loss - Holdings Commands: `/market holdings` to view, `/market withdraw <item> [amount]` to claim items - Web UI Withdraw: Withdraw buttons on each holding row plus "Withdraw All" button - Minecraft 1.21 Support: Full compatibility with Minecraft 1.21.x servers - New permissions: `theendex.holdings` and `theendex.withdraw` (both default: true) - Configurable limits: `holdings.max-per-player` (default 10,000) and `holdings.max-materials-per-player` (default 100)
New in 1.4.0:
- Virtual Delivery System: overflow purchases now enter a pending delivery queue - Delivery Commands: `/market delivery list|claim|claim-all|gui` - Web + API updates: new `/api/deliveries` endpoints - Fixed buy loop issue on 1.20.1 servers
New in 1.3.x:
- Inventory capacity checked before charging; oversized orders capped - Security hardening: removed reflective access, session token moved to Authorization header - Hashed API token support via `web.api.token-hashes` (SHA-256)
See CHANGELOG.md for full release notes.
---
⚠️ Disclaimer
This plugin was created with the help of AI. While thoroughly tested, please expect potential bugs or issues. Report problems on Discord or GitHub.
Join our Discord!

