How do I make a villager trade items with lore and a name

So all ive tried alot of things but i'm not good with commands

summon villager ~ ~ ~
{ VillagerData: { profession:weaponsmith, level:5, type:swamp }, Invulnerable:1, Silent:1, NoAI:1, CustomName:"\"Bounty board\"", Offers: { Recipes: [ { buy: { id:"minecraft:Arrow", Count:1b, tag: { display: { Name:"hercules bow", Lore: ["This item is one of a kind"] } } }, sell: { id:"diamond block", Count:1 }, rewardExp:0b, maxUses:1 } ] }
}

I'm not sure why this isn't working but could someone help me

1 Answer

You have multiple syntax errors. Here is a working command, made with a command generator:

/summon villager ~ ~ ~ {VillagerData:{profession:weaponsmith,level:5,type:swamp},Invulnerable:1,Silent:1,NoAI:1,CustomName:'{"text":"Bounty Board"}',Offers:{Recipes:[{buy:{id:"minecraft:arrow",Count:1b,tag:{display:{Name:'{"text":"hercules bow"}',Lore:['{"text":"This item is one of a kind"}']}}},sell:{id:"minecraft:diamond_block",Count:1b},rewardExp:0b,maxUses:1}]}}

Here are the errors your command contained:


/summon villager ~ ~ ~{VillagerData
...

There should be a space between the ~ and the {.


...
CustomName:""Bounty board""
...

This should be in JSON formatting, like so:

CustomName:'{"text":"Bounty Board"}'

...
Offers:{Recipes:[{buy:{id:"minecraft:Arrow",
...

"minecraft:Arrow" should not be capitalized.


...
tag:{display:{Name:"hercules bow",Lore:["This item is one of a kind"]}}}
...

The name and lore should be in JSON formatting, like so:

tag:{display:{Name:'{"text":"hercules bow"}',Lore:['{"text":"This item is one of a kind"}']}}}

...
sell:{id:"diamond block",Count:1}
...

There should be an underscore in the item id, like this: "diamond_block"

You Might Also Like