‹ 所有教程

使用指南 · 1.1.12026.09.13

命令与配置文件

从改一件物品的价格开始,逐步掌握配置、交易规则与团队资金管理

本篇目录

本篇适用于 Valemetry 1.1.1。命令和配置会随版本演进;使用旧版本时,请先确认版本。文中示例只修改指定项目,不会自动解锁全部商品或生成金钱。

配置文件

  • 只想调整配色、圆角、透明度或背景:打开终端右上角的设置,进入“通用设置”。
  • 想调卖出返还比例、每日交易限额或成交时间:进入“交易设置”。这些规则对当前世界统一生效。
  • 想改某种物品的价格、禁止交易或批量配置:使用本篇的 /valem 命令与两个 JSON 文件。

价格修改会影响当前实例或服务器的物品经济。先备份两个 JSON,再做小范围修改并核对结果;不要直接拿不确定的整合包配置覆盖现有文件。

文件位置与生效

这里的 config 指当前游戏实例或服务器根目录中的 config 文件夹,不一定是系统默认的 .minecraft。整合包启动器通常为每个实例单独保存配置。

config/
├── valemetry/
│   ├── item_values.json
│   ├── item_bans.json
│   └── background-….png
└── valemetry-client.toml
文件用途与生效范围
valemetry/item_values.json物品基础价格与明确清除价格。单人按实例共享,多人由服务器决定。
valemetry/item_bans.json禁止买卖的物品名单,与价格文件使用相同作用范围。
valemetry-client.toml本机外观、排序和部分界面偏好,不保存余额或服务器交易规则。
valemetry/background-….png导入背景后自动生成的本地图片副本,备份外观时一起保留。

先进入一次世界或启动服务器,让模组初始化价格配置,再去找两个 JSON。文件不存在时会生成默认文件;已有文件不会被默认内容覆盖。多人游戏要改服务器端文件,修改自己的客户端副本不会改变服务器报价。

编辑、保存、生效

  1. 用纯文本编辑器打开 JSON,先复制一份备份。不要用 Word 等富文本编辑器。
  2. 保留 UTF-8 编码及准确文件名。确认文件没有变成 item_values.json.txt。
  3. 按下文格式修改并保存,再由有权限的人执行 /valem reload。
  4. 查看命令返回信息,再查询目标物品的价格和禁售状态。

查看重载命令与错误处理

两个经济 JSON 按实例/服务器共享;“交易设置”中的比例、额度和耗时则跟随各自世界存档。它们不是同一套文件,/valem reload 也不是重新加载所有设置的通用开关。

物品价格

item_values.json 的最外层是对象 {}。每项左边是带英文双引号的 ID,右边是无需引号的数字;项目之间用英文逗号,最后一项后面不加逗号。

{
  "minecraft:diamond": 1200,
  "minecraft:iron_ingot": 32.5,
  "minecraft:elytra": 0
}
  • 1200 和 32.5 是每件物品的基础买入单价。卖出返还额由世界的卖出比例进一步计算。
  • 0 表示明确移除该 ID 的价格,并阻止它再次通过配方推导出价格,不是免费购买。
  • 文件里没有写到的物品,继续使用内置或受支持配方推导的价格;无法推导时保持无价格。
  • 把整个文件写成 {},表示没有手动覆盖,不会清空内置价格。删除文件会在下次加载时重新生成默认配置。

数字怎么写?

支持普通十进制整数或最多两位小数。正价最小是 0.01;例如 100、100.5、100.50。不要加 $、K、M、千位逗号、正负号或科学计数法,也不要把数字放进引号。

例如 "32.5"、-1、1e3、0.001、01、null 都不合法。同一价格文件不能重复定义同一个 ID;diamond 与 minecraft:diamond 也会被视为重复。minecraft:air 不能定价或清除。

明确无价格、被禁售、没有解锁,是三个不同状态。即使价格设置成功,玩家仍要先成功卖出一次该物品,才会解锁之后的购买。

禁售名单

item_bans.json 使用数组 [],每一项是物品 ID 字符串。名单中的物品不能买入或卖出,禁售优先于手动价格与配方推导。

[
  "minecraft:emerald",
  "minecraft:emerald_block"
]

首次生成的默认名单包含绿宝石和绿宝石块。想取消全部额外禁售,请保存空数组 [];不要删除文件,否则下次加载会重新生成默认名单。重复的禁售 ID 会去重,但建议每个只写一次。

手动文件中同时出现“禁售”和“固定价格”时,仍然禁售;解除禁售后,价格结果取决于 item_values.json 中是否还保留设价或 0 清除指令。

调整世界交易规则

打开终端的“设置 → 交易设置”。单人世界拥有者可编辑;多人服务器需要管理员权限。这些规则保存在世界中,对该世界所有玩家统一生效,不放在 item_values.json 或客户端 TOML 中。

设置用法
卖出返还比例0%–100%,默认 100%。基础买入价 $100、返还比例 80% 时,正常卖出一件返还 $80。金额按分计算;极低比例不保证每件仍有正数返还。
每日交易限制不限制、按笔数、按金额三选一,默认不限制。以世界日为周期、按玩家累计,不因切换个人/团队钱包而重新获得额度。
单笔成交耗时0–5 秒,步进 0.1 秒,默认 0 秒即时。买入与卖出共用;游戏运行变慢时,现实等待可能更长。

调整后点击“保存设置”,即可保存到当前世界,无需 /valem reload。取消则不提交。多人同时编辑时,如果别人已经先保存,请重新打开设置读取最新内容再修改。保存新规则会取消仍在等待的物品交易,请在调整后重新核对订单。

本章描述物品市场的交易规则,不是股票价格模型的配置入口。当前 /valem 命令没有股票买卖、修改模拟周期或增发余额的子命令。

外观与客户端配置

配色、圆角、透明度和背景优先通过“设置 → 通用设置”修改:可以即时预览,点击应用/保存后持久化,取消则返回之前保存的外观。这里只改变自己的显示,不影响队友或服务器价格。

手动编辑 valemetry-client.toml

需要手工编辑时,先完整退出游戏并备份文件,再修改、保存、重新启动。不要在游戏运行时反复改这个文件;/valem reload 不会刷新客户端外观缓存。下面是默认字段示例,不是要求覆盖你已有的收藏与偏好。

[catalog]
sort = "ADDED"
ascending = false

[terminal]
lastTools = []

[stocks]
watchlists = []
buyByAmount = true
sellByAmount = false

[appearance]
accent = 2152939
backgroundOpacity = 95
backgroundImage = ""
backgroundFocusX = 0.5
backgroundFocusY = 0.5
style = "CLASSIC"
字段取值与意义
catalog.sort"ADDED" 解锁顺序、"PRICE" 价格、"TRADES" 个人交易次数;默认 "ADDED"。
catalog.ascendingtrue 正序/升序,false 反序/降序;默认 false。
terminal.lastTools默认 [],自动记录每个世界/玩家上次工具页。推荐通过终端切换,不手写身份记录。
stocks.watchlists默认 [],按世界/玩家保存股票收藏。请通过收藏按钮维护,不要复制其他玩家的记录。
stocks.buyByAmounttrue 按金额买入,false 按股数;默认 true。
stocks.sellByAmounttrue 按金额卖出,false 按股数;默认 false。
appearance.accentRGB 十进制整数,范围 0–16777215,默认 2152939(#20D9EB)。在 TOML 中不要写成带引号的 "#20D9EB";可直接用界面调色盘。
appearance.backgroundOpacity30–100 的整数百分比,默认 95;不支持设为 0。
appearance.backgroundImage空字符串表示无背景;否则使用导入功能生成的受管理文件名。不要填写任意本地路径或网站 URL。
appearance.backgroundFocusX / Y各为 0–1 的小数,默认 0.5 居中,控制横向/纵向取景。
appearance.style"CLASSIC" 经典方角,"ROUNDED" 圆润;默认 "CLASSIC"。

TOML 中字符串用英文双引号,true/false 不加引号,数字也不加引号;与 JSON 不同,TOML 使用 [分组] 和 key = value,不在每行末尾添加逗号。保留生成文件中的其他已有记录。

自定义背景如何缩放?

导入本地 PNG 或 JPEG,文件不超过 20 MiB、总像素不超过 16,777,216,最长原始边不超过 16,384 像素。导入时会等比缩小至最长边最多 2048,小图不会被放大保存。显示时按窗口比例铺满,超出部分裁切,再用取景位置选择重点,不会把图片拉伸变形。

导入并保存后,模组会在 config/valemetry 中保留受管理的 PNG 副本,只在本机使用,不上传给服务器。备份或迁移外观时,连同 valemetry-client.toml 与对应背景 PNG 一起保留。清除当前背景或恢复默认不会自动清理所有旧图片。

命令

执行命令与权限

谁可以执行命令?

操作权限
查价格、查禁售、查看帮助普通玩家可用。
修改价格、修改禁售、/valem reload需要 Minecraft 权限等级 2。单人需具备命令权限;服务器由管理员执行。
个人转账、团队和钱包命令必须由游戏内玩家执行。团队管理还会检查队长身份。
在界面修改交易规则单人世界拥有者或权限等级 2 的管理员。

在聊天框输入带 / 的命令并回车。服务器控制台执行价格、禁售和重载命令时通常省略开头的 /;转账和团队命令需要玩家身份,不能直接在控制台执行。

/valem

代码框中的示例可直接复制,按需替换物品 ID、玩家名 Alex、队名和金额,保留参数顺序及命令本身。每行是一条独立命令。

准确获取物品 ID

物品 ID 是游戏识别物品的内部名称,通常写成“模组命名空间:物品名”,例如 minecraft:iron_ingot。中文显示名、模组页面上的英文标题,都不能直接当作 ID。

  1. 在当前世界输入 /valem price show,再输入一个空格。
  2. 输入 minecraft: 或目标模组的命名空间,查看游戏给出的物品建议,用 Tab 补全实际存在的物品。
  3. 回车查询。即使该物品还没有价格,也可以从当前注册物品中选取;把完整 ID 复制进配置。

安装了某个模组,并不代表它的所有历史 ID 或联动物品都存在。Minecraft 版本、模组版本和可选联动会影响实际物品列表。不要按照英文翻译自行拼写 ID。

配置是按物品 ID,不是按物品状态

JSON 键只接受单个物品 ID,不接受 #forge:ingots/iron 这样的标签、modid:* 通配符、中文名称或带 NBT 的字符串。命令中即使输入可解析的 NBT,最终也只按注册 ID 操作,不能给同一种物品的不同品质、药水内容或附魔分别定价。

定价成功不等于任何状态的该物品都能出售。额外数据、容器内容、附魔等仍需通过交易安全检查;手动定价不会绕过这些规则。支持的耐久物品可按剩余耐久折价,并非所有带状态的物品都一概拒绝。

价格命令

查询物品价格

查看当前基础价格与来源,也能区分禁售、明确清除及尚无价格。普通玩家可用;它不是按返还率计算后的卖出报价。

/valem price show minecraft:iron_ingot

设置物品价格

管理员设定正数价格并自动重算。若该物品被禁售,需要先解禁;set 不接受 0。

/valem price set minecraft:iron_ingot 32.5

清除物品价格

管理员把该物品设为“无价格”,对应 JSON 中的 0。

/valem price clear minecraft:elytra

恢复自动定价

管理员删除该物品的手动设价或清除指令,让内置与配方定价重新决定结果。它不会解除禁售,也不保证重置后一定有价格。

/valem price reset minecraft:iron_ingot

通过命令成功修改后通常已经自动生效,不必再执行 reload。直接编辑 JSON 后才需要手动重载。调整原料价格可能影响由它继续推导的其他商品;保存后要同时检查相关产物。

禁售命令

禁止物品交易

管理员禁止该物品交易。这个命令还会删除该物品已有的手动设价或清除指令;直接编辑禁售 JSON 则不会自动改价格文件。

/valem ban add minecraft:emerald

解除物品禁售

管理员解除禁售并重算。不会恢复先前被 ban add 删除的手动价;需要时再执行 price set。

/valem ban remove minecraft:emerald

查询禁售状态

普通玩家检查某物品是否被禁售。未禁售不等于已有价格或已解锁。

/valem ban check minecraft:emerald

查看禁售名单

普通玩家查看按 ID 排序的有效禁售名单,每页 8 项。在 list 后加空格和页码可翻页;省略时显示第 1 页。页码从 1 开始,超出范围会提示错误。

/valem ban list

重载与常见错误

应用配置文件修改

管理员重新读取两个经济 JSON,并用已有配方重算价格。无需重启,也不需要执行原版 /reload。此命令不会刷新外观配置或修改股票模拟规则。

/valem reload

怎样判断成功?

先看返回消息,再执行 price show 与 ban check。存在被跳过的未注册正价条目时,其他有效配置仍可应用,并附带警告;不要把出现任何提示都当成整次失败。

情况结果处理方法
合法 ID 格式,但当前未注册,且设置合法正价跳过该条,保留文件内容,其他有效配置可应用。核对当前版本的实际 ID 或可选模组是否存在。
未注册 ID 被设为 0 或加入禁售拒绝这次新配置,避免清除或禁售规则意外失效。改为真实 ID,或删除已不再需要的条目。
JSON 语法、根类型、价格数字或重复价格键错误拒绝这次新配置,不会只应用半份。按日志指出的文件和条目修正,再重载。

如果当前运行期间已经成功加载过价格,失败重载会继续使用上一次有效结果。本次文件修改并未生效,文件也不会自动恢复。若这次运行从未有过有效目录,物品交易会暂停,修复后可直接重载恢复。

“保留上一次有效结果”只在当前运行内存中成立,不是磁盘备份。带着错误配置退出世界或重启服务器,不能指望自动恢复旧价格;请先修好文件或恢复自己的备份。

按这个顺序排错

  1. 确认改的是当前实例或服务器的文件,文件名及扩展名正确,并且已经保存。
  2. 检查对象 {} 与数组 [] 有没有用反;只用英文双引号和逗号,不加注释、不留末尾逗号。
  3. 用游戏内物品补全核对 ID,不要按名字猜测。
  4. 查看执行端 logs/latest.log,搜索 Valemetry、item_values.json 或 item_bans.json,找到文件、条目与原因。
  5. 一次可能不止一处错误。修完后再次 /valem reload,再查目标价格及禁售状态。

日志中的 item is not registered 表示当前游戏没有注册这个 ID,不是在帮你创建新物品。游戏内总提示会跟随客户端语言,但物品 ID、文件名和底层英文错误原因不会全部翻译。

若命令提示“配置已保存,但重新加载失败”,不要重复盲目设价:先修文件,再 reload。若价格有效但仍无法购买,检查是否成功出售解锁、是否被禁售、余额与交易限额是否足够;无法出售带状态物品时,还要考虑物品安全规则。

个人转账

向玩家转账

把自己的个人钱包余额转给在线玩家的个人钱包。无论终端当前选的是个人还是团队,资金来源都固定为个人钱包。不能转给自己。

/valem pay Alex 100.50

金额必须大于 0,最多两位小数,例如 100、100.5、0.01。不接受 all、$100、1K、1,000、负数、0 或科学计数法。转账只移动已有余额,不生成钱,也不转移商品解锁。

目标离线、余额不足、金额无效或收款余额达到上限时,整笔转账失败,不会自动少转一部分。

团队与钱包

每位玩家最多加入一个团队。创建或加入团队不会合并个人余额;选择团队钱包也只是切换交易使用的钱包,不会自动搬钱。

团队成员拥有相同的公款使用权:所有成员都能提款、取出全部公款或向外转账。当前没有队长审批或按个人捐款限制提款的机制,请与可信任的玩家组队。

创建、邀请与加入

创建团队

尚未入队的玩家创建团队并成为队长。队名建议始终使用英文双引号,尤其含中文或空格时。去除首尾空白并规范化后,名称需非空、最多 24 个 Unicode 字符且不含控制字符;重名检查不区分大小写。

/valem team create "晨星工坊"
邀请玩家

队长邀请尚未入队的在线玩家,不能邀请自己。邀请有效期为现实 5 分钟;服务器重启后需要重新邀请。

/valem team invite Alex
接受邀请

由受邀玩家执行,接受仍有效的邀请。成功加入后,会清除自己的其他待处理邀请。

/valem team accept "晨星工坊"
拒绝邀请

由受邀玩家拒绝仍有效的邀请。队名要与邀请对应。

/valem team decline "晨星工坊"

查看与管理团队

查看团队信息

查看自己团队的名称、队长、人数与余额;需要已入队。

/valem team info
查看团队成员

列出自己团队的成员及队长/成员角色。

/valem team members
退出团队

普通成员离队。队长应先转让队长或解散团队;离队不会按贡献自动分配或退还公款。

/valem team leave
移除团队成员

队长移除自己团队中的另一名成员。可以针对服务器能够解析身份的离线成员;不能踢自己。

/valem team kick Alex
转让队长

队长把队长身份交给队内另一名成员,不是邀请队外玩家。目标可以离线,但必须能被服务器解析。

/valem team transfer-owner Alex
解散团队

仅队长可用,团队余额必须先清空至 0。执行成功会解散团队并清除邀请,没有额外的确认子命令。

/valem team disband

选择钱包与调拨资金

查看钱包余额

查看个人余额;已入队时还显示团队余额和当前选择。没有团队也可以执行。

/valem team wallet status
使用个人钱包

选择个人钱包,不移动资金;未入队也可执行。

/valem team wallet use personal
使用团队钱包

选择当前团队的钱包;需要已入队,不会合并钱包。

/valem team wallet use team
向团队存款

个人钱包 → 自己团队的钱包。需要已有足够个人余额。

/valem team wallet deposit 500
存入全部个人余额

一次转入个人钱包当前全部余额,不是开启自动存款;余额为 0 时无可转资金。

/valem team wallet deposit all
从团队提款

自己团队的钱包 → 自己的个人钱包。所有成员都可使用。

/valem team wallet withdraw 200
取出全部团队余额

将团队当前全部余额转入自己的个人钱包。所有成员都可使用,操作前请与队友协调。

/valem team wallet withdraw all
用团队资金转账

团队钱包 → 指定在线玩家的个人钱包。对方不必是队友,但不能是自己;给自己转账请用 withdraw。

/valem team wallet pay Alex 80.25

金额格式与个人转账一致。all 只存在于 deposit 和 withdraw 中,不能写成 team wallet pay Alex all。资金不足或收款方超出余额上限时,整笔操作失败。