截图
介绍
EconomyCraft
适用于 Fabric 和 NeoForge 的服务端经济系统。
附属模组: EconomyCraft Bounties
/eco菜单
| 按钮 | 说明 |
|---|---|
| 商店 | 以固定价格购买和出售,库存无限。左键购买,右键出售,Shift+单击使用批量数量。 |
| 拍卖行 | 购买其他玩家上架的物品,或上架自己的物品。 |
| 出售物品 | 放入物品,查看总价并确认。未定价的物品无法出售。受损物品售价较低,附魔物品售价较高。 |
| 订单 | 发布所需物品、数量和价格。其他玩家完成订单后即可获得报酬。 |
| 每日奖励 | 领取每日奖励,每天一次。 |
| 向玩家付款 | 向其他玩家转账。 |
| 排行榜 | 查看余额、收入、支出、卖家、买家和交易者排行榜。 |
| 物品价值 | 查看任意物品的买入价和卖出价。 |
| 交付物品 | 无法直接交付的物品或款项(背包已满/离线期间完成的订单)。 |
| 交易记录 | 查看近期余额变动记录。 |
每个界面也都有对应命令:/bal、/pay、/daily、/shop、/ah、/auction、/sell、/worth、/orders、/deliveries、/transactions。
命令和菜单中的金额支持简写:500、1.5k、20M、3B、2T、2.5Qa、1Qi。
管理员(/eco admin)菜单
商店编辑器
浏览分类,点击物品即可编辑。
- 分类编辑器:右键点击分类可重命名、修改颜色、图标或可见性,也可将其排除在动态定价之外。删除分类后,其中的物品会移至
misc,且买入价会归零。 - 添加物品:选择游戏中的任意物品,或从背包中选择。自定义名称、附魔和容器内容都会保留。
- 买入价 / 卖出价:单个物品的价格;
0可关闭对应的交易方向。启用动态定价时,此处也会显示当前价格和倍率。 - 动态定价:即使服务器已启用动态定价,也可将此物品设为不参与动态定价。
- 批量数量:Shift+单击时购买或出售的数量。
- 分类:物品所在的商店页面。
blocks.wood会创建子页面。 - 移除:将物品从商店中移除,但保留其价格。
- 已移除物品:列出所有已移除的物品。点击物品即可按原价格将其放回商店。通过添加物品添加已移除的物品,效果相同。
商店动态定价
可选功能,默认关闭(dynamic_prices.enabled)。所有买入价都会按以下比例缩放:
current price = base price × active-player median balance / starting balance
缩放比例限制在dynamic_prices.min_multiplier和dynamic_prices.max_multiplier之间,每隔dynamic_prices.update_minutes重新计算一次(默认每小时一次)。卖出价不受影响。可在上方的商店编辑器中按分类或物品关闭动态定价。
设置
包含config.json中的所有选项,可在游戏内编辑,并按与配置文件相同的分类分组。
玩家
选择任意玩家(无论是否在线),即可向其赠款、收款或设置余额,将其从经济系统中移除,或覆盖其活跃订单/拍卖的数量上限。
重置工具
| 工具 | 是否 |
|---|---|
| 重置所有余额 | 将每位玩家的余额重置为economy.starting_balance。 |
| 重置每日奖励数据 | 所有人都可以立即再次领取每日奖励。 |
| 重置每日出售限额 | 所有人的每日出售限额立即重置为满额。 |
| 清空拍卖 | 取消所有进行中的挂单。物品会退回到卖家的待领取处。 |
| 清空订单 | 取消所有未完成的订单。托管资金会退还给请求者。 |
| 移除所有物品 | 移除所有商店物品,效果等同于商店编辑器中的移除。可从已移除物品中放回物品。 |
| 重置商店价格 | 将prices.json替换为默认值,包括分类。自定义物品会被删除。旧文件保留为prices.json.before-reset-<time>。 |
| 重置整个经济系统 | 执行上述除两个商店工具外的所有工具,并清空排行榜统计数据、删除整个交易日志。 |
只有两个商店工具会改动商店价格/分类。它们都不会改动权限设置。
管理员命令
/eco addmoney、/eco setmoney、/eco removemoney、/eco removeplayer。
权限
管理员和命令访问由权限节点控制。任何未由权限插件设置的管理员节点都会回退为 OP;任何未设置的命令节点都会回退为所有人允许。
管理员节点
| 节点 | 授予 |
|---|---|
economycraft.admin |
以下全部内容 |
economycraft.admin.players |
/eco addmoney、/eco setmoney、/eco removemoney、/eco removeplayer、玩家界面 |
economycraft.admin.settings |
设置界面 |
economycraft.admin.shop |
商店编辑器(从管理员菜单或商店内编辑按钮进入) |
economycraft.admin.reload |
“从磁盘重新加载”按钮 |
economycraft.admin.reset |
重置工具界面 |
命令节点
| 节点 | 授予 |
|---|---|
economycraft.command.menu |
/eco、/eco menu |
economycraft.command.balance |
/bal |
economycraft.command.pay |
/pay |
economycraft.command.shop |
/shop |
economycraft.command.auction |
/ah、/auction |
economycraft.command.sell |
/sell |
economycraft.command.orders |
/orders |
economycraft.command.deliveries |
/deliveries |
economycraft.command.daily |
/daily |
economycraft.command.transactions |
/transactions |
economycraft.command.worth |
/worth |
配置文件
在服务器上存储于config/economycraft/(单人游戏中每个世界存储于saves/<world>/economycraft/):顶层的config.json、webhook.json和prices.json,玩家数据位于data/下。
config.json
| 键 | 默认值 | 说明 |
|---|---|---|
economy.starting_balance |
1000 |
新玩家开始时拥有的钱。 |
economy.max_balance |
1000000000000000000 |
单个玩家可持有的最高金额,范围为 1 到 $1Qi。 |
economy.daily_reward |
100 |
每日奖励发放的钱。 |
economy.tax_rate |
0.1 |
交易和订单的税率,以小数表示(0.1 = 10%)。 |
display.balance_separator |
"." |
千位分隔符,例如 "," 会显示为 $1,000。 |
display.currency_symbol |
"$" |
每笔金额旁显示的符号,最多 16 个字符。使用 "" 表示无符号。 |
display.currency_symbol_position |
"prefix" |
"prefix" 会显示为 $100,"suffix" 会显示为 100$。 |
display.currency_name |
"" |
聊天消息中可选用此名称代替符号,例如 "Gold" 会显示为 100 Gold。菜单中仍显示符号。 |
display.scoreboard_enabled |
true |
显示余额侧边栏。 |
commands.standalone |
true |
允许不带 /eco 前缀使用 /pay、/daily 等命令。 |
commands.standalone_admin |
false |
允许不带 /eco 前缀使用 /addmoney、/setmoney 等命令。 |
shop.enabled |
true |
启用固定价格商店。 |
selling.enabled |
true |
启用出售功能。 |
selling.daily_limit |
10000 |
玩家每天通过出售最多可赚取的金额。0 表示不限制。 |
selling.worth_enabled |
true |
启用物品价值查询(/worth)。 |
dynamic_prices.enabled |
false |
根据活跃玩家余额中位数调整商店购买价格。参见 动态商店定价。 |
dynamic_prices.min_multiplier |
0.5 |
允许的最低价格倍率,范围为 0.5 到 100。 |
dynamic_prices.max_multiplier |
5.0 |
允许的最高价格倍率,范围为 0.5 到 100。 |
dynamic_prices.min_active_days |
30 |
玩家必须在最近多少天内登录,才计为活跃玩家。0 表示计入所有玩家。 |
dynamic_prices.update_minutes |
60 |
价格倍率重新计算的间隔分钟数。最短为 1。 |
auction.enabled |
true |
启用拍卖行。 |
auction.expiration_hours |
168 |
未售出的拍卖过多少小时后到期,物品将转入递送。0 表示永不到期。 |
auction.max_active_per_player |
0 |
玩家同时可进行的拍卖数量上限。0 = 不限。可按玩家单独覆盖此设置。 |
orders.enabled |
true |
启用订单板。无论是否启用,递送功能仍可使用。 |
orders.expiration_hours |
168 |
未完成的订单过多少小时后到期,并退还托管款项。0 表示永不到期。 |
orders.max_active_per_player |
0 |
玩家同时可持有的未完成订单数量上限。0 = 不限。可按玩家单独覆盖此设置。 |
transaction_log.enabled |
true |
将每笔余额变动记录到每日日志文件。 |
transaction_log.retention_days |
7 |
保留交易日志的天数。 |
webhook.json
| 键 | 默认值 | 说明 |
|---|---|---|
webhook_enabled |
false |
将交易发送到 webhook_url。 |
webhook_url |
"" |
兼容 Discord 的传入 Webhook URL。 |
webhook_min_amount |
0 |
跳过低于此金额的交易 Webhook 通知。 |
prices.json
每个商店物品对应一条目,以物品 ID 为键:
{
"minecraft:diamond": {
"category": "ores",
"stack": 64,
"unit_buy": 800,
"unit_sell": 200
}
}
category 接受 top.sub 作为子页面,stack 是 Shift+点击时的批量数量,unit_buy/unit_sell 分别是单个物品的价格(0 会禁用对应方向)。已安装模组中的物品会自动添加,以其模组 ID 作为类别,并将 0 设为两种价格。
编辑器还会写入一些额外键:
components:自定义物品的 NBT(名称、附魔、容器内容)。添加#label后缀可区分同一物品的重复条目,例如minecraft:shulker_box#loot_rare。"removed": true:将物品从商店中移除,但保留其其他键,以便之后从 已移除物品中重新添加。删除removed键即可将其放回商店。"dynamic_price_enabled": false:将某个物品或_categories下的某个类别排除在动态定价之外。
占位符
通过 Text Placeholder API(Fabric)或 Placeholder API NeoForge(NeoForge),向其他模组提供经济数据。两者均为可选项;即使不安装也能运行此模组,但必须将对应的 JAR 放入 mods/,占位符才能正常解析。
| 占位符 | 说明 |
|---|---|
%economycraft:balance% |
原始余额,例如 1000。 |
%economycraft:balance_formatted% |
格式化后的余额,例如 $1.000。 |
%economycraft:balance_short% |
缩写后的余额,例如 $1.2k。 |
%economycraft:daily_sell_remaining% |
玩家今天通过出售还能赚取的金额。达到上限时显示 ∞。 |
%economycraft:top_name <rank>% |
该排名玩家的名称(1 = 最富有)。 |
%economycraft:top_balance <rank>% |
该排名对应的原始余额。 |
%economycraft:top_balance_formatted <rank>% |
该排名对应的格式化余额。 |
%economycraft:top_balance_short <rank>% |
该排名对应的缩写余额。 |
超出玩家人数的排名会解析为无效值。
交易日志与 Webhook
每次余额变动都会记录到配置文件夹中的 logs/transactions-YYYY-MM-DD.log,并保留 transaction_log.retention_days 天(默认 7)。设置为超过 90 天时,启动时会在控制台发出警告。
在 webhook.json 中启用 webhook_enabled,还可将每笔交易 POST 到兼容 Discord 的 Webhook;使用 webhook_min_amount 仅通知金额较大的交易。
开发者 API
常规版 EconomyCraft JAR 已包含供其他服务端模组使用的 API v1,无需另外安装运行时 API 模组。该 API 涵盖余额与付款、货币格式化、只读物品价格、排行榜数据以及余额变动事件。公共类位于 com.reazip.economycraft.api.v1。
有关设置、示例和完整参考,请参阅 开发者 API Wiki。
常见问题
EconomyCraft – Multiplayer Economy 支持哪些 Minecraft 版本?
EconomyCraft – Multiplayer Economy 支持 Minecraft Java 版 1.21–26.3,共 17 个版本,可用的加载器:Fabric / NeoForge。下载时注意选择和你游戏版本一致的文件。
EconomyCraft – Multiplayer Economy 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
ReaZip 的其他作品
查看全部 →
EconomyCraft
适用于Fabric和NeoForge服务端的完全可自定义经济模组。
EconomyCraft Bounties
Bounties and PvP money-loss add-on for EconomyCraft.
Totem Balancer
Adds a cooldown and item limit for the Totem of Undying to prevent overuse and encourage fair gameplay and combat.
Totem Balancer
Totem Balancer is a lightweight Minecraft mod designed to enhance gameplay balance by preventing the overuse of the Totem of Undying.
评论
登录后评论和评分