expTrade
ModrinthTrade XP levels with other players via commands. Send offers or requests, accept or decline with clickable chat buttons. Accurate per-level XP math ensures fair transfers. Includes admin controls and per-player thresholds.
expTrade
A Minecraft mod/plugin that lets players trade XP with each other. Offers and requests queue up per-player with individual TTLs, and are managed through an in-game chest GUI.
Branches
| Branch | Platform | MC Version |
|---|---|---|
| multi_1.21.11 | Fabric + NeoForge (Architectury) | 1.21.11 |
| plugin_1.21.11 | Spigot, Paper, Purpur, Pufferfish | 1.21.11 |
| multi_26.x (upcoming) | Fabric + NeoForge (Architectury) | 26.x |
| plugin_26.x (upcoming) | Spigot, Paper, Purpur, Pufferfish | 26.x |
Features
- Give or request XP levels or raw XP from any online player
- Per-player incoming trade queue — multiple players can send trades simultaneously
- Chest GUI to review, accept, and decline queued trades
- Live TTL countdown per trade — expired trades are removed automatically
- Configurable timeout and max queue size
- Personal XP threshold — prevent trades that would drop you below a set level
- Admin force-transfer with confirmation step
- Config hot-reload without restarting the server
Trade Queue GUI
Opening /exptrade pending shows a chest with one row per queued trade:
| Slot | Item | Meaning |
|---|---|---|
| 1 | Clock | Seconds remaining before this trade expires |
| 2 | Player Head | Who sent the trade |
| 3 | Water Bucket / Bucket | Offer (giving XP) / Request (asking for XP) |
| 4 | Paper | Trade details on hover (from, type, amount) |
| 8 | Recovery Compass | Click to accept |
| 9 | Compass | Click to decline |
The GUI stays open after each action as long as trades remain in the queue.
Commands
All commands use /exptrade.
| Command | Description |
|---|---|
| /exptrade give <player> <levels\|exp> <amount\|all> | Offer XP to a player |
| /exptrade request <player> <levels\|exp> <amount\|all> | Request XP from a player |
| /exptrade accept [player] | Accept the first (or a specific) queued trade |
| /exptrade decline [player] | Decline the first (or a specific) queued trade |
| /exptrade cancel | Cancel your outgoing trade |
| /exptrade pending | Open the trade queue GUI |
| /exptrade threshold <levels> | Set minimum level to keep after a trade |
Admin (exptrade.admin / op permission)
| Command | Description |
|---|---|
| /exptrade admin transfer <from> <to> <levels\|exp> <amount\|all> | Force an XP transfer between two players |
| /exptrade admin confirm | Confirm a pending admin transfer |
| /exptrade admin cancel | Cancel a pending admin transfer |
| /exptrade config timeout <10-300> | Set trade TTL in seconds |
| /exptrade config maxqueue <1-50> | Set max trades per player queue |
| /exptrade config reload | Reload config from disk |
Configuration
Config is written on first launch.
Multi-loader — config/exptrade.json
Paper plugin — plugins/expTrade/config.json
{
"timeoutSeconds": 60,
"maxQueueSize": 10
}
| Field | Default | Description |
|---|---|---|
| timeoutSeconds | 60 | Seconds before an unaccepted trade expires |
| maxQueueSize | 10 | Max number of queued trades per player |
Requirements
Multi-loader: Architectury API
Paper: Paper 1.21.11+

Коментарі 0
Поки немає коментарів. Будь першим, хто поділиться думкою.