Mineuniverse
Plugins
expTrade-plugin

expTrade-plugin

PLUGIN
Trade 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.
by LunixiaLIVE
Download Claim this project
31 downloads
0 likes
Updated Oct 14, 2026
0 hypes
Chat Related Economy General Mechanics
Advertisement Remove ads with Premium →

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+

exptrade-1.3.0_MC-1.21.11-paper.jar
MC 1.21.2, 1.21, 1.21.3, 1.21.8, 1.21.4, 1.21.5, 1.21.7, 1.21.1, 1.21.6, 1.21.9, 1.21.10, 1.21.11
Release 2026-04-24 Get

More from LunixiaLIVE

Advertisement Remove ads with Premium →

You Might Also Like