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.

154

Depo

<div align="center">

The Endex 1.5.3 | Dynamic Market & Addons [1.20.1 - 1.21.x]

<img src="https://i.imgur.com/onDbDSW.png" alt="The Endex Banner" />

*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.*

Discord Documentation

</div>

---

<div align="center"> <img src="https://i.imgur.com/QK38If6.png" alt="About" /> </div>

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

---

<div align="center"> <img src="https://i.imgur.com/5OYklKS.png" alt="Features" /> </div>

💰 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.

<div align="center"> <img src="https://i.imgur.com/2NVDOxj.gif" alt="Market GUI Demo" /> </div>

📸 Screenshots

<div align="center"> <img src="https://i.imgur.com/SY0ZO4F.png" alt="Screenshot 1" /> <img src="https://i.imgur.com/fdWGBho.png" alt="Screenshot 2" /> </div>

⚡ Market Events

Time-boxed price multipliers (Ore Rush, Market Crash, etc.) with server broadcasts.

<div align="center"> <img src="https://i.imgur.com/Qa5Hrhw.gif" alt="Market Events Demo" /> </div>

🌐 Web Dashboard

Optional REST API with live updates, charts, item icons, and trading from your browser.

<div align="center"> <img src="https://i.imgur.com/2hXIQfx.gif" alt="Web Dashboard Demo" /> </div>

🔌 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.

---

<div align="center"> <img src="https://i.imgur.com/Up3T3eB.png" alt="Commands" /> </div>

``` /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) ```

---

<div align="center"> <img src="https://imgur.com/jNDfH1h.png" alt="Permissions" /> </div>

``` 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.

<div align="center">

Join our Discord!

</div>

ADS