Depo
PluginLicenseRef-All-Rights-Reserved

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.

115
Downloads
1
Followers
7 months ago
Updated
📦
3
Versions

📖About Depo

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

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


About

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:

  • PlaceholderAPI Support — 30+ placeholders for scoreboards, holograms, and other plugins
  • Update Checker — Automatic notifications when new versions are available
  • GUI Customization — Full layout, colors, and slot position customization
  • Command Aliases — Create custom command shortcuts like /shop → /market
  • Optimized World Scanner — Intelligent chunk caching with dirty tracking

Features

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

Market GUI Demo
📸 Screenshots
Screenshot 1 Screenshot 2

⚡ Market Events

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

Market Events Demo

🌐 Web Dashboard

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

Web Dashboard Demo

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


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

Permissions
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

  • Server: Paper/Spigot 1.20.1 - 1.21.x
  • Java: 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:

holdings:
  enabled: true
  max-per-player: 10000
  max-materials-per-player: 100
  mode: VIRTUAL

World Storage Scanner:

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:

price-inventory:
  enabled: true
  sensitivity: 0.02
  per-player-baseline: 64
  max-impact-percent: 10.0

Web combined holdings:

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

  • Server: Paper/Spigot 1.20.1 to 1.21.x
  • Java: 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.

Discord

Join our Discord!