更新日:
完成形のコマンド(Java版1.20.5以降)
/summon villager ~ ~ ~ {VillagerData:{profession:"minecraft:librarian",level:5,type:"minecraft:plains"},NoAI:1b,Invulnerable:1b,PersistenceRequired:1b,Silent:1b,CustomName:"道具屋",Offers:{Recipes:[{buy:{id:"minecraft:emerald",count:5},sell:{id:"minecraft:diamond_pickaxe",count:1},maxUses:9999,rewardExp:0b},{buy:{id:"minecraft:gold_ingot",count:10},sell:{id:"minecraft:golden_apple",count:1},maxUses:9999,rewardExp:0b}]}}
エメラルド5個でダイヤのツルハシ、金インゴット10個で金のリンゴを売る村人です。名前(CustomName)の書き方は1.21.5以降の形です。
部分ごとの意味
| 項目 | 意味 |
|---|---|
VillagerData | 職業・レベル・見た目の地域。level:5にすると職業を変えられなくなる |
NoAI:1b | 動かない、向きも変えない |
Invulnerable:1b | 攻撃で倒されない |
PersistenceRequired:1b | 離れても消えない |
buy | プレイヤーが払うもの |
buyB | 2つ目の支払い(省略可) |
sell | プレイヤーがもらうもの |
maxUses | 取引できる回数 |
rewardExp:0b | 取引で経験値を出さない |
取引が売り切れないようにする
maxUsesを大きな数にすると、ほぼ無限に取引できます。村人は職業ブロックで在庫を補充しますが、NoAIの村人は補充しないので、最初から大きくしておきます。
値段が変わらないようにする
村人の値段は、需要や評判、村の英雄の効果で上下します。値段を固定したいときは、取引ごとにpriceMultiplier:0fとdemand:0を指定すると変動が小さくなります。
見た目を変える
professionで職業(服装)、typeで地域(肌や帽子)を変えられます。地域はplains、desert、jungle、savanna、snow、swamp、taigaです。ショップの種類に合わせて、武器屋ならweaponsmith、本屋ならlibrarianのように選ぶとわかりやすくなります。
統合版の場合
統合版のsummonでは取引内容を指定できません。統合版でショップを作るときは、スコアボードとコマンドブロックで「お金を払ったらアイテムを渡す」仕組みを作るか、ビヘイビアパックで取引表を変えます。スコアボードを使う方法はscoreboardでお金を作る基本で解説しています。
よくある質問
1.20.4以前の書き方は?
buy:{id:"minecraft:emerald",Count:5b}のように、個数を大文字のCountとbで書きます。
エンチャントの本を売りたいです。
sellの中にcomponentsを書けます。手で書くと長くなるので、村人取引ジェネレーターで作るのがおすすめです。
村人がゾンビに襲われます。
Invulnerableを付けていてもゾンビは村人を狙います。ショップは屋内に置き、周りを明るくしておきましょう。