Custom Villager Generator with Trades for Minecraft Java and Bedrock
Create a fully customized Villager in Minecraft Java and Bedrock Edition, complete with a colored name, profession, biome, level, common properties such as NoAI and Invulnerable, and a full trading system featuring secondary buy items, XP rewards, special pricing, and price multipliers.
Select your Minecraft edition:
Basic Data
Villager Profile
Common Properties (NBT)
Villager Trades
Each trade becomes an item in the list below. Fill in at least the buy item and the sell item.
No trades added yet. Click "Add Trade" to get started.
Automatically Generated Summon Command
summon...How custom Villager trades work
Each custom villager trade consists of a buy item (what the player hands over), an optional second buy item, and a sell item (what the player receives). Additionally, you can configure the max uses a trade has before it locks up, how much XP the villager gains per transaction, a price multiplier (which alters the price based on player reputation), and a special price (a flat discount or price hike, typically negative for discounts).
Example of a generated command (Java Edition):
/summon minecraft:villager ~ ~ ~ {VillagerData:{profession:"minecraft:farmer",type:"minecraft:plains",level:5},Offers:{Recipes:[{buy:{id:"minecraft:emerald",count:5},sell:{id:"minecraft:diamond",count:1},maxUses:12,uses:0,xp:5,priceMultiplier:0.05f,specialPrice:0,rewardExp:1b}]}}
Frequently Asked Questions
Do I need to fill out every single field in a trade slot?
No. Only the primary buy item (A) and the sell item are required to make a trade valid. Leaving the other fields blank tells the game to fall back on its own default values.
What exactly is the "Special Price"?
It is a fixed price adjustment applied directly to the trade cost. Negative numbers apply a discount (similar to trading with Hero of the Village buffs active), whereas positive numbers increase the total price.
Does this work the same way in Bedrock Edition?
No. Bedrock Edition does not accept custom NBT data formats within the /summon command structure, meaning custom trades require a behavior pack featuring a designated trade_table layout.