
数据交易商
一种类似村民的实体,可用作交易者。可通过数据包自定义。
Data Trader
一个向游戏中添加新商人的模组。
定义交易
文件结构
商人可以接收一个用于商人报价“配方”的 ID。这是一个由单个 trader offer 组成的列表。一个示例文件可能如下所示:
1.20.1
{
"Offers": [
{
"buy": {
"tag": "forge:gems/diamond",
"count": 3
},
"buyB": {
"item": "minecraft:wooden_pickaxe"
},
"sell": {
"item": "minecraft:diamond_pickaxe",
"nbt": "{Damage:0,Enchantments:[{id:\"minecraft:efficiency\",lvl:2},{id:\"minecraft:unbreaking\", lvl:10}]}"
},
"rewardExp": false,
"xp": 0
}
]
}
1.21.1
{
"Offers": [
{
"buy": {
"count": 1,
"items": {
"item": "minecraft:wooden_pickaxe"
}
},
"buyB": {
"count": 3,
"items": {
"tag": "c:gems/diamond"
}
},
"sell": {
"components": {
"minecraft:enchantments": {
"levels": {
"minecraft:efficiency": 2,
"minecraft:unbreaking": 10
}
}
},
"count": 1,
"id": "minecraft:diamond_pickaxe"
}
}
]
}
此示例仅包含一个商人报价。商人将出售 sell 中的物品。
玩家需要提供 buy 和 buyB 中的物品才能获得该物品。
maxUses 是玩家在商人需要补货之前可以使用此交易的次数。
如果 rewardExp 为 true,玩家每次交易将获得 xp 点数,数量由 xp 定义。
以下值是必需的:
buysell
默认值为:
| 名称 | 默认值 |
|---|---|
buyB |
空气 |
rewardExp |
false |
xp |
0 |
放在哪里?
你使用数据包来提供这些文件。它们位于 <modid>/trader_offers/。一个示例可以在
这里 找到。
如何使用?
你使用 /summon 命令,或使用刷怪蛋来生成商人。之后,你使用命令
/datatrader setOffer @e <modid>:<path> 来设置配方。这也可以通过数据包完成。
对于普通商人,我建议将 NoAI 设置为 true。
你还可以使用命令 /datatrader summon ~ ~ ~ <offer_id> <NoAI> 召唤具有特定交易表的商人。
设置自定义皮肤覆盖层
只需将纹理放到 <modid>:textures/entity/trader/<offer_id path>.png。此纹理应类似于
职业覆盖层纹理,例如 minecraft:textures/entity/villager/profession/cleric.png。
你可以将此模组放入你喜欢的任何整合包中。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。