帖子

Memorial Edition

查看: 126|回复: 2

求助~1.21.1村民交易自定义指令

[复制链接]

Lv.2 采石匠

人气
5 点
金粒
13 粒
宝石
0 颗
爱心
0 颗
钻石
3 颗
贡献
0 点
发表于 3 天前 | 显示全部楼层 |阅读模式
悬赏10金粒未解决
RT,/summon minecraft:villager ~ ~0.5 ~0 {  "fabric:attachments": {"accessories:inventory_holder": {}},  "CustomNameVisible": 1b,    "attributes": [    {"id": "minecraft:generic.movement_speed", "base": 0.5d},    {      "modifiers": [{"amount": 0.0536689925335371d, "operation": "add_multiplied_base", "id": "minecraft:random_spawn_bonus"}],      "id": "minecraft:generic.follow_range", "base": 48.0d    }  ],  "CustomName": '"卖油翁"',  "CobbleMerchantShop": [],  "NoAI": 1b,  "Offers": {    "Recipes":[{"buy": {"id": "minecraft:emerald", "count": 1,tag:{display:{Lore:['{"text":"使用最广泛的货币"},"color":"yellow"'],Name:{"text":"基础货币"}}}}, "sell": {"id": "rusticdelight:cooking_oil", "count": 2}, "maxUses": 9999999}    ]  },  "Inventory": [],  "VillagerData": {"type": "minecraft:plains", "profession": "minecraft:librarian", "level": 99},  "PersistenceRequired": 1b, }这是一个实例的指令用于命令方块生成一个村民,有问题的是绿宝石那一段{"buy": {"id": "minecraft:emerald", "count": 1,tag:{display:{Lore:['{"text":"使用最广泛的货币"},"color":"yellow"'],Name:{"text":"基础货币"}}}}这一段在命令方块里面也是绿的没有红标报错,但是生成出来的交易项还是只有原版绿宝石没有NBT属性,如下
image.webp

这个是生成的村民的无效交易项

image.webp

这是带NBT直接用give指令生成的绿宝石(目标货币)
但是这个绿宝石的生成指令是give @p minecraft:emerald[minecraft:custom_name="基础货币",minecraft:lore=['{"text":"使用最广泛的货币","color":"yellow"}']]也跟以前版本的方法不一样。
搜了很多教程和文档都没解决,求助一下各位大佬应该怎么在1.21.1版本修改可以用的带NBT村民自定义交易.




Lv.9 牧场主

人气
977 点
金粒
33 粒
宝石
2 颗
爱心
44 颗
钻石
1499 颗
贡献
8 点

Java正版勋章Windows 10正版勋章

发表于 前天 18:26 | 显示全部楼层
本帖最后由 teddyxlandlee 于 2025-7-28 18:30 编辑
  1. {"buy": {"id": "minecraft:emerald", "count": 1,tag:{display:{Lore:['{"text":"使用最广泛的货币"},"color":"yellow"'],Name:{"text":"基础货币"}}}}
复制代码


自1.20.5开始,Java版更改了物品堆叠(Item Stack)的格式,因此“id/count/tag”的格式被改成了“id/count/components”,以前的物品NBT被完全重写。

基于您更改Lore的需求,这一段应该改成这样:

  1. {"buy":{"id":"minecraft:emerald","count":1,"components":{"minecraft:lore":[{"text":"使用最广泛的货币","color":"yellow"}],"minecraft:custom_name":{"text":"基础货币"}}}}
复制代码


但请允许我提醒一下,货币的防伪依靠Lore可能是不够的,您可能需要使用 minecraft:custom_data 或其他物品组件。

有关1.20.5及以后的物品堆叠的格式,详见Minecraft Wiki

另外提醒,1.21及以后的版本(好像是),SNBT 和 JSON 的格式基本被打通(即大部分情况下可以互转)。因此 Lore 里面单引号套双引号的情况将不复存在。

Edit: 村民NBT的设置在Wiki上也有。

开服一定要养成看Wiki的好习惯,国内的教程很多都是过时的,且有相当一部分是从Wiki或其他可信渠道传抄的。

点评

如图修改为components格式依旧在交易界面没有显示NBT,还是普通绿宝石。  详情 回复 发表于 前天 23:05
回复

使用道具 举报

Lv.2 采石匠

人气
5 点
金粒
13 粒
宝石
0 颗
爱心
0 颗
钻石
3 颗
贡献
0 点
 楼主| 发表于 前天 23:05 | 显示全部楼层
本帖最后由 PandaLAY 于 2025-7-28 23:07 编辑
teddyxlandlee 发表于 2025-7-28 18:26
自1.20.5开始,Java版更改了物品堆叠(Item Stack)的格式,因此“id/count/tag”的格式被改成了“id/cou ...

如图修改为components格式依旧在交易界面没有显示NBT,还是普通绿宝石。 1753715166506.webp
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

就算是自私⋯⋯我也希望那些人能够永远都有笑容⋯⋯

Archiver|小黑屋| MCBBS纪念版 ( 新ICP备2024014954号|兵公网安备66010002000149号 )|隐私政策| 手机版

GMT+8, 2025-7-30 04:24 , Processed in 0.143461 second(s), 26 queries , Redis On.

"Minecraft"以及"我的世界"为美国微软公司的商标 本站与微软公司没有从属关系

© 2010-2025 MCBBS纪念版 版权所有 本站内原创内容版权属于其原创作者,除作者或版规特别声明外未经许可不得转载

返回顶部