
expTrade-multi
通过指令与其他玩家交易经验等级。发送报价或请求,通过可点击的聊天按钮接受或拒绝。精确的每级经验计算确保公平交易。包含管理员控制和个人玩家阈值。
💱 expTrade
在玩家之间交易经验值——通过箱子 GUI 队列给予、请求并确认每一笔交易。
你是否曾经刷完怪物塔后多了 40 级经验,而朋友却还在为附魔第一把镐子苦苦挣扎?expTrade 让玩家可以像交易其他资源一样互相传递经验值——给予、请求,并通过简洁的箱子 GUI 队列确认交易。无需将附魔之瓶扔在地上,也无需信任游戏:每一笔交易都是明确的,在发生前会进行预览,并且有时间限制,过期的交易会自动清理。
该模组完全服务端运行——原版客户端可以加入安装了此模组的服务器并直接使用。也支持单人游戏。没有新方块、新物品或依赖库:只需 /exptrade 命令和一个由原版物品构建的虚拟箱子菜单。
为什么选择 expTrade?
| expTrade | |
|---|---|
| 💱 方向 | 给予经验值 或 请求经验值——对方玩家始终拥有最终确认权 |
| 📊 单位 | 整数等级、精确原始经验值或 all ——模组会自动计算经验曲线 |
| 📦 队列 | 实时箱子 GUI 队列,含每玩家 TTL 和倒计时时钟 |
| 🛡️ 安全 | 个人等级阈值 + 接受瞬间的重新验证 |
| 🎒 客户端 | 仅服务端——原版客户端可正常连接并游戏 |
✨ 主要特性
- 💱 双向给予或请求。 通过
give将自己的经验值推送给他人,或通过request向他人请求经验值。对方玩家始终拥有最终决定权。 - 📊 等级或原始经验值。 交易整数等级或精确的原始经验值数量——或使用
all一次性清空你的经验条。模组会为你处理原版经验曲线的计算。 - 📦 实时箱子 GUI 队列。
/exptrade pending会打开一个虚拟箱子,将每个收到的交易单独显示为一行:一个时钟在倒计时剩余时间、发送者的玩家头颅、交易/请求标记、详情页面,以及一键接受 / 拒绝按钮。 - ⏳ 每玩家队列及 TTL。 每个玩家都有自己的待处理队列(默认上限 10)。交易会在超时后自动过期(默认 60 秒),并通知双方——没有永久的待处理项。
- 🛡️ 阈值保护。 使用
/exptrade threshold设置个人等级下限,模组将拒绝任何会导致你低于该阈值的交易——这是防止误输入give … all的绝佳保险。 - 🔍 提交前的余额预览。 每笔交易都会显示双方玩家等级和经验值的 变化前后 对比,确保没有人盲目同意。
- 🖱️ 可点击的聊天控制。 交易附带
[查看队列]、[取消]按钮,以及(管理员使用的)[确认]/[取消]按钮,直接连接到对应命令。 - ✅ 执行时双重检查。 交易金额在发出时进行验证,并在接受的瞬间重新验证——如果赠送方在此期间花掉了经验值,交易会干净地失败而不是变成负数。
- 🛠️ 管理员转移。 管理员可以在任意两名在线玩家之间转移经验值,需经过两步确认,可绕过阈值——适用于活动、退款和奖励。
- 🔒 无物品风险。 GUI 槽位仅用于展示;你无法取出物品或放入自己的物品。唯一可交互的槽位是接受和拒绝。
⌨️ 命令
所有功能都位于 /exptrade 下。<player> 目标必须是在线玩家;数量为正整数,或使用字面量 all 转移你的全部经验条。
| 命令 | 功能 |
|---|---|
/exptrade give <player> levels <amount> |
向玩家提供指定数量的等级 |
/exptrade give <player> levels all |
提供全部你的经验值(以等级表示) |
/exptrade give <player> exp <amount> |
提供指定数量的原始经验值点数 |
/exptrade give <player> exp all |
提供全部你的原始经验值 |
/exptrade request <player> levels <amount> |
请求玩家提供指定数量的等级(根据你的等级转换为原始经验值) |
/exptrade request <player> levels all |
请求玩家提供全部他们的经验值 |
/exptrade request <player> exp <amount> |
请求玩家提供指定数量的原始经验值 |
/exptrade request <player> exp all |
请求玩家提供全部他们的经验值 |
/exptrade accept [<player>] |
接受队列中的第一笔交易——或来自指定 <player> 的交易 |
/exptrade decline [<player>] |
拒绝第一笔交易——或来自指定 <player> 的交易 |
/exptrade cancel |
取消你发出的待处理交易 |
/exptrade pending |
打开箱子 GUI 交易队列 |
/exptrade threshold <levels> |
设置你的个人最低等级下限(0 = 无下限) |
管理员命令
需要管理员/游戏管理员级别的权限。
| 命令 | 功能 |
|---|---|
/exptrade admin transfer <from> <to> levels|exp <amount> |
暂存两名玩家之间的经验值转移(绕过阈值) |
/exptrade admin transfer <from> <to> levels|exp all |
暂存转移全部源玩家的经验值 |
/exptrade admin confirm |
确认你暂存的转移 |
/exptrade admin cancel |
丢弃你暂存的转移 |
/exptrade config timeout <seconds> |
设置交易超时时间(10–300 秒)并保存 |
/exptrade config maxqueue <size> |
设置每玩家队列上限(1–50)并保存 |
/exptrade config reload |
从磁盘重新加载配置文件 |
⚙️ 配置
设置保存在 config/exptrade.json 中(首次启动时创建)。两个值也可以在游戏内通过 /exptrade config … 命令实时编辑,该命令会替你写入文件;/exptrade config reload 会从磁盘重新读取配置。
| 键 | 默认值 | 范围 | 含义 |
|---|---|---|---|
timeoutSeconds |
60 |
10–300 | 待处理交易在队列中停留多久后自动过期 |
maxQueueSize |
10 |
1–50 | 单个玩家同一时间可拥有的最大待处理交易数量 |
通过 /exptrade threshold 设置的每玩家阈值单独存储在 config/exptrade/playerdata.json 中,并在重启后持续存在。
✅ 兼容性
| 加载器 | Fabric 和 NeoForge——单一 jar 文件 |
| Minecraft | 26.2.x · 26.1, 26.1.1, 26.1.2 · 1.21.11 · 1.21.9–1.21.10 |
| Fabric API | Fabric 上必需 · NeoForge 上不需要 |
| 运行端 | 服务端——支持原版客户端,也支持单人游戏 |
| 额外库 | 无——独立运行 |
喜欢这个模组吗? 加入 Discord · 为 仓库 点 ⭐ · 探索 Lunixia 的其他 Minecraft QOL 模组
⛏️ 小而专注的模组,去除繁琐的部分。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。