EconomyCraft – 多人经济服务器

EconomyCraft – 多人经济服务器

EconomyCraft是一个轻量级的、服务器端的Minecraft模组,为Fabric和NeoForge添加了一个可自定义的经济系统。

杂项

EconomyCraft

一个适用于 Fabric 和 NeoForge 的服务端经济模组。 需要 Architectury API。


安装设置

  1. 将 jar 文件放入服务器的 mods 文件夹并启动服务器。
  2. 在游戏中输入 /eco 打开菜单。
  3. 管理员会在该菜单中看到一个管理按钮,或者可以运行 /eco admin。

默认配置无需手动修改即可使用。


/eco 菜单

按钮 说明
服务器商店 以固定价格购买和出售,库存无限。左键购买,右键出售,Shift 点击使用批量数量。
玩家商店 购买其他玩家上架的商品。出售物品会引导你选择物品并设置价格。
出售物品 将物品放入槽位,查看总价,确认出售。没有出售价格的物品无法放入,未确认而关闭会返还所有物品。
订单 新建请求可选择游戏中的任意物品、数量和价格。其他玩家完成请求后获得报酬。
每日奖励 每天领取一次每日奖励。
向玩家付款 选择一名玩家并输入金额。
余额排行 服务器上最富有的玩家。
物品价值 查询任意物品的购买和出售价格。
待领取物品 背包满时购买的物品,或离线时完成的订单。

每个界面也都有对应的命令:/bal、/bal top、/pay、/daily、/shop、/servershop、/sell、/worth、/orders、/orders claim。


管理菜单

服务器商店编辑器

浏览分类并点击物品进行修改。确认后更改会写入 prices.json。

  • 添加物品 — 选择游戏中的任意物品或背包中的物品。自定义名称、附魔和容器内容会随条目一起保存。
  • 购买价格 / 出售价格 — 单个物品的价格。0 表示禁用该方向。
  • 批量数量 — Shift 点击一次购买或出售的数量。
  • 分类 — 物品在商店中显示的页面。blocks.wood 会创建一个子页面。
  • 删除 — 移除该条目。

设置

涵盖 config.json 中的所有选项:初始余额、每日奖励、每日出售上限、税率、PvP 金钱损失、千位分隔符,以及服务器商店、玩家商店、订单、出售功能、余额侧边栏和短命令别名的开关。

玩家

选择任意在线或离线玩家,给予、扣除或设置他们的余额,或将其从经济系统中移除。

管理命令

/eco addmoney、/eco setmoney、/eco removemoney、/eco removeplayer、/eco toggleScoreboard。


配置文件

在服务器上,配置和玩家数据存储在 config/economycraft/ 目录下:config.json 和 prices.json 位于顶层,余额、商店、订单和待领取物品存放在 data/ 子目录下。

在单人游戏中,每个世界都会在存档内获得相同的文件夹,位于 saves/<世界名>/economycraft/。

config.json

键名 默认值 说明
startingBalance 1000 新玩家的初始金钱。
dailyAmount 100 每日奖励给予的金钱。
dailySellLimit 10000 玩家每天通过出售最多能赚取的金钱。0 表示不设限制。
taxRate 0.1 交易和订单的税率,以小数表示(0.1 = 10%)。
pvp_balance_loss_percentage 0 PvP 死亡时击杀者获得的比例。0 表示禁用。
standalone_commands true 允许 /pay、/daily 等命令无需 /eco 前缀。
standalone_admin_commands false 允许 /addmoney、/setmoney 等命令无需 /eco 前缀。
scoreboard_enabled true 显示余额侧边栏。
server_shop_enabled true 启用服务器商店。
shop_enabled true 启用玩家商店。
orders_enabled true 启用订单板。无论是否启用,领取待领取物品都有效。
sell_enabled true 启用出售功能。
balance_separator "." 千位分隔符。只使用第一个字符,因此 "," 会显示为 $1,000。

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 表示禁用该方向。

编辑器还会写入另外两个键:

  • components 保存自定义物品的 NBT 数据,例如名称、附魔或潜影盒内容。JSON 键必须唯一,因此同一物品的第二个变体会加上 #label 后缀,例如:minecraft:shulker_box#loot_rare。该后缀在加载时会被去掉,不会显示给玩家。
  • "removed": true 标记已删除的捆绑默认物品,这样它不会在下一次启动时恢复。删除该条目即可恢复它。

占位符

EconomyCraft 可以通过 Fabric 平台上的 Text Placeholder API 或 NeoForge 平台上的非官方 Placeholder API NeoForge 移植版向其他模组暴露经济数据。

两者都是可选的,未随模组捆绑。没有它们模组也能正常工作,但要在服务器 mods 文件夹中放入与你的版本和加载器匹配的对应 jar 文件,这些占位符才能生效。

占位符 说明
%economycraft:balance% 查看玩家的原始余额,例如 1000。
%economycraft:balance_formatted% 带货币符号和千位分隔符的余额,例如 $1.000。
%economycraft:daily_sell_remaining% 玩家今天还能通过出售赚取的金额。如果限额禁用则显示 ∞。
%economycraft:top_name 1% 余额排行榜上排名 1 的玩家名称(1 为最富有)。
%economycraft:top_balance 1% 排名 1 的玩家的原始余额。
%economycraft:top_balance_formatted 1% 排名 1 的玩家的格式化余额。

top_* 占位符接受排名作为参数,例如 %economycraft:top_name 3% 表示第三名。超出玩家数量的排名会解析为无效。