expTrade-multi

Quick rating

expTrade-multi

No reviews yet

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.

QoL & Tweaks
Mod Loaders
NeoForge
Fabric
Paper
Spigot
Minecraft
26.2

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
MIT License
Latest Version
exptrade-1.3.1_MC-26.2-multi.jar
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

About

Description

💱 expTrade

Trade XP between players — give it, request it, and confirm every exchange through a chest-GUI queue.

Fabric NeoForge

Download on Modrinth Join the Discord Source on GitHub

Minecraft 26.x & 1.21.x Single Player & Server Fabric API required on Fabric License MIT


Ever finished a mob grinder with 40 spare levels while a friend is scraping to enchant their first pickaxe? expTrade lets players hand XP back and forth like any other resource — give it, ask for it, and confirm the exchange through a clean chest-GUI queue. No dropping bottles o' enchanting on the floor, no trust games: every transfer is explicit, previewed before it happens, and time-boxed so stale offers clean themselves up.

It's fully server-side — a vanilla client can join a modded server and it just works. Runs in single-player too. No new blocks, no new items, no library mods: just /exptrade and a virtual chest menu built from vanilla items.

Why expTrade?

expTrade
💱 Direction Give XP away or request it — the other player always confirms
📊 Units Whole levels, exact raw XP, or all — the mod does the curve math
📦 Queue A live chest-GUI queue with per-player TTL and countdown clocks
🛡️ Safety Personal level thresholds + re-validation at the moment of accept
🎒 Client Server-side only — vanilla clients connect and play as normal

✨ Key features

  • 💱 Give or request, either direction. Push your own XP to someone with give, or ask them for some with request. The other player always gets the final say.
  • 📊 Levels or raw XP. Trade a round number of levels or an exact raw XP amount — or all to empty your bar in one go. The mod does the vanilla XP-curve math for you.
  • 📦 A live chest-GUI queue. /exptrade pending opens a virtual chest showing every incoming offer as its own row: a clock ticking down the time left, the sender's player head, an offer/request marker, a details page, and one-click Accept / Decline buttons.
  • Per-player queue with TTL. Each player has their own incoming queue (default cap 10). Offers expire automatically after a timeout (default 60s), notifying both sides — nothing lingers forever.
  • 🛡️ Threshold protection. Set a personal level floor with /exptrade threshold and the mod refuses any trade that would drop you below it — great insurance against fat-fingering give … all.
  • 🔍 Balance preview before you commit. Every offer shows a before → after readout of both players' levels and XP, so nobody agrees blind.
  • 🖱️ Clickable chat controls. Offers come with [View Queue], [Cancel], and (for admins) [Confirm] / [Cancel] buttons wired straight to the commands.
  • Double-checked at execution. Amounts are validated when the offer is made and re-validated the instant it's accepted — if the giver spent their XP in the meantime, the trade fails cleanly instead of going negative.
  • 🛠️ Admin transfers. Operators can move XP between any two online players with a two-step confirm, bypassing thresholds — handy for events, refunds, and prizes.
  • 🔒 No item risk. The GUI slots are display-only; you can't pull items out or drop your own in. The only interactive slots are Accept and Decline.

⌨️ Commands

Everything lives under /exptrade. <player> targets are online players; amounts are positive integers, or the literal all to move your entire bar.

Command What it does
/exptrade give <player> levels <amount> Offer that many levels to a player
/exptrade give <player> levels all Offer all your XP (expressed as levels)
/exptrade give <player> exp <amount> Offer that many points of raw XP
/exptrade give <player> exp all Offer all your raw XP
/exptrade request <player> levels <amount> Ask a player for that many levels (converted to raw XP at your level)
/exptrade request <player> levels all Ask a player for all their XP
/exptrade request <player> exp <amount> Ask a player for that much raw XP
/exptrade request <player> exp all Ask a player for all their XP
/exptrade accept [<player>] Accept the first offer in your queue — or the one from a specific <player>
/exptrade decline [<player>] Decline the first offer — or the one from a specific <player>
/exptrade cancel Cancel your own outgoing offer
/exptrade pending Open the chest-GUI trade queue
/exptrade threshold <levels> Set your personal minimum level floor (0 = no floor)

Admin commands

Require operator / gamemaster-level permission.

Command What it does
/exptrade admin transfer <from> <to> levels|exp <amount> Stage an XP transfer between two players (bypasses thresholds)
/exptrade admin transfer <from> <to> levels|exp all Stage a transfer of all the source player's XP
/exptrade admin confirm Confirm your staged transfer
/exptrade admin cancel Discard your staged transfer
/exptrade config timeout <seconds> Set the offer timeout (10–300s) and save
/exptrade config maxqueue <size> Set the per-player queue cap (1–50) and save
/exptrade config reload Reload the config file from disk

⚙️ Configuration

Settings live in config/exptrade.json (created on first launch). Both values are also editable live in-game via /exptrade config …, which writes the file for you; /exptrade config reload re-reads it from disk.

Key Default Range Meaning
timeoutSeconds 60 10–300 How long a pending offer stays in the queue before it auto-expires
maxQueueSize 10 1–50 Maximum number of pending offers a single player can have waiting at once

Per-player thresholds set with /exptrade threshold are stored separately in config/exptrade/playerdata.json and persist across restarts.

✅ Compatibility

Loaders Fabric and NeoForge — one jar
Minecraft 26.2.x · 26.1, 26.1.1, 26.1.2 · 1.21.11 · 1.21.9–1.21.10
Fabric API Required on Fabric · not needed on NeoForge
Side Server-side — vanilla clients supported, single-player too
Extra libraries None — standalone

Enjoying it? Hop in the Discord · ⭐ the repo · explore the rest of Lunixia's Minecraft QOL Mods

⛏️ Small, focused mods that cut out the boring stuff.

💱 expTrade

Trade XP between players — give it, request it, and confirm every exchange through a chest-GUI queue.

Fabric NeoForge

Download on CurseForge Discord GitHub

Minecraft 26.x & 1.21.x Single Player & Server Fabric API required on Fabric MIT License


Ever finished a mob grinder with 40 spare levels while a friend is scraping to enchant their first pickaxe? expTrade lets players hand XP back and forth like any other resource — give it, ask for it, and confirm the exchange through a clean chest-GUI queue. No dropping bottles o' enchanting on the floor, no trust games: every transfer is explicit, previewed before it happens, and time-boxed so stale offers clean themselves up.

It's fully server-side — a vanilla client can join a modded server and it just works. Runs in single-player too. No new blocks, no new items, no library mods: just /exptrade and a virtual chest menu built from vanilla items.

Why expTrade?

expTrade
💱 Direction Give XP away or request it — the other player always confirms
📊 Units Whole levels, exact raw XP, or all — the mod does the curve math
📦 Queue A live chest-GUI queue with per-player TTL and countdown clocks
🛡️ Safety Personal level thresholds + re-validation at the moment of accept
🎒 Client Server-side only — vanilla clients connect and play as normal

✨ Key features

  • 💱 Give or request, either direction. Push your own XP to someone with give, or ask them for some with request. The other player always gets the final say.
  • 📊 Levels or raw XP. Trade a round number of levels or an exact raw XP amount — or all to empty your bar in one go. The mod does the vanilla XP-curve math for you.
  • 📦 A live chest-GUI queue. /exptrade pending opens a virtual chest showing every incoming offer as its own row: a clock ticking down the time left, the sender's player head, an offer/request marker, a details page, and one-click Accept / Decline buttons.
  • Per-player queue with TTL. Each player has their own incoming queue (default cap 10). Offers expire automatically after a timeout (default 60s), notifying both sides — nothing lingers forever.
  • 🛡️ Threshold protection. Set a personal level floor with /exptrade threshold and the mod refuses any trade that would drop you below it — great insurance against fat-fingering give … all.
  • 🔍 Balance preview before you commit. Every offer shows a before → after readout of both players' levels and XP, so nobody agrees blind.
  • 🖱️ Clickable chat controls. Offers come with [View Queue], [Cancel], and (for admins) [Confirm] / [Cancel] buttons wired straight to the commands.
  • Double-checked at execution. Amounts are validated when the offer is made and re-validated the instant it's accepted — if the giver spent their XP in the meantime, the trade fails cleanly instead of going negative.
  • 🛠️ Admin transfers. Operators can move XP between any two online players with a two-step confirm, bypassing thresholds — handy for events, refunds, and prizes.
  • 🔒 No item risk. The GUI slots are display-only; you can't pull items out or drop your own in. The only interactive slots are Accept and Decline.

⌨️ Commands

Everything lives under /exptrade. <player> targets are online players; amounts are positive integers, or the literal all to move your entire bar.

Command What it does
/exptrade give <player> levels <amount> Offer that many levels to a player
/exptrade give <player> levels all Offer all your XP (expressed as levels)
/exptrade give <player> exp <amount> Offer that many points of raw XP
/exptrade give <player> exp all Offer all your raw XP
/exptrade request <player> levels <amount> Ask a player for that many levels (converted to raw XP at your level)
/exptrade request <player> levels all Ask a player for all their XP
/exptrade request <player> exp <amount> Ask a player for that much raw XP
/exptrade request <player> exp all Ask a player for all their XP
/exptrade accept [<player>] Accept the first offer in your queue — or the one from a specific <player>
/exptrade decline [<player>] Decline the first offer — or the one from a specific <player>
/exptrade cancel Cancel your own outgoing offer
/exptrade pending Open the chest-GUI trade queue
/exptrade threshold <levels> Set your personal minimum level floor (0 = no floor)

Admin commands

Require operator / gamemaster-level permission.

Command What it does
/exptrade admin transfer <from> <to> levels|exp <amount> Stage an XP transfer between two players (bypasses thresholds)
/exptrade admin transfer <from> <to> levels|exp all Stage a transfer of all the source player's XP
/exptrade admin confirm Confirm your staged transfer
/exptrade admin cancel Discard your staged transfer
/exptrade config timeout <seconds> Set the offer timeout (10–300s) and save
/exptrade config maxqueue <size> Set the per-player queue cap (1–50) and save
/exptrade config reload Reload the config file from disk

⚙️ Configuration

Settings live in config/exptrade.json (created on first launch). Both values are also editable live in-game via /exptrade config …, which writes the file for you; /exptrade config reload re-reads it from disk.

Key Default Range Meaning
timeoutSeconds 60 10–300 How long a pending offer stays in the queue before it auto-expires
maxQueueSize 10 1–50 Maximum number of pending offers a single player can have waiting at once

Per-player thresholds set with /exptrade threshold are stored separately in config/exptrade/playerdata.json and persist across restarts.

✅ Compatibility

Loaders Fabric and NeoForge — one jar
Minecraft 26.2.x · 26.1, 26.1.1, 26.1.2 · 1.21.11 · 1.21.9–1.21.10
Fabric API Required on Fabric · not needed on NeoForge
Side Server-side — vanilla clients supported, single-player too
Extra libraries None — standalone

Enjoying it? Hop in the Discord · ⭐ the repo · explore the rest of Lunixia's Minecraft QOL Mods

⛏️ Small, focused mods that cut out the boring stuff.

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Total Downloads
CurseForge
<1,000
Modrinth
<1,000
Last Updated
CurseForge
Modrinth
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works