How delta203/tradesystem works
Trade System is a Spigot plugin for player-to-player item and optional coin trades through an in-game GUI. Players invite and accept partners; the plugin creates a shared trade, tracks each offer, and completes or cancels the exchange. Coin balances use a configurable interface to MySQL or YAML-backed files and configurable server commands. The graph reflects sampled command, click, close, and coin-interface behavior; Trade’s excerpt is partial, so unsampled GUI transitions and wiring are not expanded.
Main entry points: TradeSystem.java Plugin bootstrap · TradeManager.java Trade manager · Interface.java Coin interface · FileManager.java Config files
Components 18
Plugin lifecycle
- Plugin bootstrap
src/main/java/de/tradesystem/delta203/spigot/TradeSystem.java
Trade workflow
- Trade commands
src/main/java/de/tradesystem/delta203/spigot/commands/Commands.java - Trade manager
src/main/java/de/tradesystem/delta203/spigot/trade/TradeManager.java - Trade session
src/main/java/de/tradesystem/delta203/spigot/trade/Trade.java - Player offer
src/main/java/de/tradesystem/delta203/spigot/trade/TradePlayer.java - GUI clicks
src/main/java/de/tradesystem/delta203/spigot/listners/Click.java - GUI close
src/main/java/de/tradesystem/delta203/spigot/listners/Close.java - Player departure
src/main/java/de/tradesystem/delta203/spigot/listners/Quit.java
Coin integration
- Coin interface
src/main/java/de/tradesystem/delta203/spigot/utils/Interface.java - MySQL connection
src/main/java/de/tradesystem/delta203/spigot/mysql/MySQlManager.java
Configuration
- Config files
src/main/java/de/tradesystem/delta203/spigot/files/FileManager.java
Other components
- Player
- Spigot server
- Plugin YAML
src/main/resources/config.yml - Messages YAML
src/main/resources/messages.yml - MySQL database
- External YAML files
- Server console
Connections 31
- Spigot server → Plugin bootstrap: enables plugin
- Plugin bootstrap → Config files: loads settings
- Config files → Plugin YAML: reads config
- Config files → Messages YAML: reads messages
- Plugin bootstrap → Trade commands: registers command
- Plugin bootstrap → GUI clicks: registers listener
- Plugin bootstrap → GUI close: registers listener
- Plugin bootstrap → Player departure: registers listener
- Plugin bootstrap → Trade manager: creates manager
- Plugin bootstrap → Coin interface: initializes optionally
- Player → Trade commands: invites or accepts
- Trade commands → Trade manager: records invite
- Trade commands → Trade manager: creates trade
- Trade manager → Trade session: creates session
- Trade manager → Player offer: creates offers
- Spigot server → GUI clicks: dispatches click
- GUI clicks → Trade manager: looks up trade
- GUI clicks → Trade session: updates offer
- Trade session → Player offer: updates state
- Spigot server → GUI close: dispatches close
- GUI close → Trade manager: unregisters trade
- GUI close → Trade session: reads trading partner
- Spigot server → Player departure: dispatches departure
- Player departure → Trade manager: clears player state
- Trade session → Coin interface: checks and transfers coins
- Coin interface → MySQL connection: connects to MySQL
- MySQL connection → MySQL database: opens connection
- Coin interface → MySQL database: reads and updates balance
- Coin interface → Config files: loads player YAML
- Config files → External YAML files: reads balance file
- Coin interface → Server console: dispatches coin command