太古巨龙
MOD链接:https://www.curseforge.com/minec ... tom-villager-trades
他这个NBT用法一点也不清楚
NBT例子https://pastebin.com/DEjWk9XG
  1. {
  2.    "offer":{
  3.       "itemKey":"minecraft:dirt",
  4.       "amount":1,
  5.       "priceModifier":0,
  6.       "nbtTags":[
  7.          {
  8.             "nbtName":"test",
  9.             "data":"this is the data",
  10.             "dataType":"string"
  11.          }
  12.       ]
  13.    },
  14.    "request":{
  15.       "itemKey":"minecraft:cobblestone",
  16.       "amount":1,
  17.       "priceModifier":0
  18.    },
  19.    "tradeExp":3,
  20.    "maxUses":10,
  21.    "priceMultiplier":0.1,
  22.    "tradeLevel":1
  23. }
复制代码



无敌三脚猫
itemKey和nbtTags,这两个部分你能看懂吧,一个是物品的英文id,一个是物品的tag
写在offer里的就是村民卖的物品,写在request里的就是玩家需要给出的物品
priceModifier的作用看不出来,盲猜是用来最后加减物品的数量
priceMultiplier是原版村民就有的参数,你可以把它理解为打折的力度,具体看这里https://minecraft.fandom.com/zh/wiki/%E6%9D%91%E6%B0%91
tradeExp和tradeLevel,看名字猜的话,一个是交易得到的经验(就是不知道这个是指村民得到的经验还是玩家得到的经验),一个是村民解锁这个交易需要的等级

太古巨龙
无敌三脚猫 发表于 2022-2-6 00:04
itemKey和nbtTags,这两个部分你能看懂吧,一个是物品的英文id,一个是物品的tag
写在offer里的就是村民卖 ...

我这除了
  1. "nbtTags":[
  2.          {
  3.             "nbtName":"test",
  4.             "data":"this is the data",
  5.             "dataType":"string"
  6.          }
  7.       ]
复制代码

都看懂了 NBT试了半天不会用

太古巨龙
无敌三脚猫 发表于 2022-2-6 00:04
itemKey和nbtTags,这两个部分你能看懂吧,一个是物品的英文id,一个是物品的tag
写在offer里的就是村民卖 ...
  1. {
  2.     "profession": "armorer", //村民的职业
  3.     "removeOtherTrades": false, //屏蔽原版交易
  4.     "trades": [ //交易组
  5.         {
  6.             "offer": { //交易类型 offer给予
  7.                 "itemKey": "minecraft:dirt", //物品类型
  8.                 "amount": 3, //物品数量
  9.                 "priceModifier": 0, //价格修正
  10.                 "enchantments": [ //附魔组
  11.                     {
  12.                         "enchantmentKey": "minecraft:knockback", //附魔类型 '#'号分割附魔类型 分割后附魔类型随机
  13.                         "enchantmentLevel": 2, //附魔等级
  14.                         "maxEnchantmentLevel": 3 //最大附魔等级
  15.                     },
  16.                     {
  17.                         "enchantmentKey": "minecraft:sharpness", //附魔类型 "enchantmentKey": "random"随机附魔
  18.                         "enchantmentLevel": -1, //附魔等级
  19.                         "maxEnchantmentLevel": 5 //最大附魔等级
  20.                     }
  21.                 ],
  22.                 "blacklistedEnchantments": [ //随机附魔黑名单
  23.                     "minecraft:protection", //附魔1
  24.                     "minecraft:fire_protection" //附魔2
  25.                 ]
  26.             },
  27.             "request": { //交易类型 request索要
  28.                 "itemKey": "minecraft:cobblestone", //物品类型
  29.                 "amount": 1, //物品数量
  30.                 "priceModifier": 0 //价格修正(负数打折)
  31.             },
  32.             "additionalRequest": { //附加请求
  33.                 "itemKey": "minecraft:gold_ingot", //物品类型
  34.                 "amount": 1, //物品数量
  35.                 "priceModifier": 0 //价格修正(负数打折)
  36.             },
  37.             "tradeExp": 3, //交易获得经验
  38.             "maxUses": 10, //最大交易次数
  39.             "priceMultiplier": 0.1, //价格乘数
  40.             "tradeLevel": 1 //交易等级
  41.         },
  42.         {
  43.             "multiOffer": [ //multiOffer交易类型 给予组 组内随机出现
  44.                 {
  45.                   "itemKey": "minecraft:iron_axe", //物品类型
  46.                   "amount": 1, //物品数量
  47.                   "priceModifier": -3 //价格修正(负数打折)
  48.                 },
  49.                 {
  50.                   "itemKey": "minecraft:golden_axe", //物品类型
  51.                   "amount": 1, //物品数量
  52.                   "priceModifier": 0 //价格修正(负数打折)
  53.                 },
  54.                 {
  55.                   "itemKey": "minecraft:diamond_axe", //物品类型
  56.                   "amount": 1, //物品数量
  57.                   "priceModifier": 4 //价格修正(负数打折)
  58.                 }
  59.               ],
  60.               "request": { //交易类型 request索要
  61.                 "itemKey": "minecraft:iron_ingot",
  62.                 "amount": 6, //物品数量
  63.                 "priceModifier": 0 //价格修正(负数打折)
  64.               },
  65.               "tradeExp": 15, //交易获得经验
  66.               "maxUses": 5, //最大交易次数
  67.               "priceMultiplier": 0.1, //价格乘数
  68.               "tradeLevel": 3 //交易等级
  69.         }
  70.     ]
  71. }
复制代码

作为补充参考
我就是想知道怎么通过修改 买卖一个物品名字和描述不一样的物品

无敌三脚猫
太古巨龙 发表于 2022-2-6 00:22
作为补充参考
我就是想知道怎么通过修改 买卖一个物品名字和描述不一样的物品 ...

nbtTags还要指定类型是真的迷,要是tag套tag该指定什么类型呢……
好在还有一个advancedNBTData可以用,这个和原版的nbt写法就是一样的了,如果你会用原版give指令给予自己一个有描述有名字的物品,那你就会写这个
举个例子,一个有名字和描述的泥土
"itemKey":"minecraft:dirt",
"amount":1,
"priceModifier":0,
"advancedNBTData": "{display:{Name:'{\"text\":\"白色名字,不是斜体\",\"italic\":false}',Lore:['{\"text\":\"第一行描述,不是斜体,蓝色\",\"italic\":\"false\",\"color\":\"blue\"}']}}"
你可能会好奇为什么我不把这些代码写到
  1. 这个框框里面
复制代码
因为这个框框会吃掉转义字符,也就是斜杠\

太古巨龙
本帖最后由 太古巨龙 于 2022-2-6 17:42 编辑
无敌三脚猫 发表于 2022-2-6 11:25
nbtTags还要指定类型是真的迷,要是tag套tag该指定什么类型呢……
好在还有一个advancedNBTData可以用, ...

确实可以了但是只能使用英文 找到个网站可以了https://www.ip138.com/ascii/ 直接用\UXXX