さまよう商人と名前付きカスタムアイテムでちょっと特殊な取引がしたい時のコマンド【マインクラフト】

スポンサーリンク

やっほぅ、ししゃもだよ。

(・∀・)ノ

先に謝っときます。ごめん今回はマニアックでニッチすぎて分かりにくいと思う。さて、謝ったからやりたい放題したろ。

今作ってるデータパックで取引のカスタマイズしてたんだけど、めっちゃハマり込んだ&解決方法の記事がなかった、のでまとめとこうと思います。

まず何がしたいかって言うと、カスタムしたアイテムで、カスタムしたアイテムを売買したい。具体的に言うと、

CustomModelData、ItemName、displayのNBTを持つアイテムを通貨として、同じくCustomModelData、ItemName、displayのNBTを持つアイテムを取引したい。結論から言うと、オプションの順番厳守で解決。以下解決までの軌跡です。

Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説1

ヒゲコインってのを30枚渡すと、

Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説2

ヒゲの花ってのを売ってもらえるようにしたいと。で、以下の様にwandering_trader の Offers を書き換えたんだけど↓

execute as @e[type=wandering_trader,tag=Changed] run data modify entity @s Offers.Recipes insert 0 value {buy:{id:”minecraft:stick”,tag:{CustomModelData:292,ItemName:”Hige_Coin”,display:{Name:'{“text”:”ヒゲコイン”,”color”:”aqua”,”italic”:false}’,Lore:[‘{“text”:”立派なヒゲを蓄えたコイン”,”color”:”white”,”italic”:false}’,'{“text”:”これを集めろってか!?”,”color”:”white”,”italic”:false}’]}},Count:30},sell:{id:”minecraft:carrot_on_a_stick”,tag:{CustomModelData:5,ItemName:”Hige_Flower”,display:{Lore:[‘{“text”:”立派なヒゲを蓄えた花”,”color”:”white”,”italic”:false}’,'{“text”:”使うと火の弾が出る”,”color”:”white”,”italic”:false}’],Name:'{“italic”:false,”color”:”aqua”,”text”:”ヒゲの花”}’}},Count:1},maxUses:10}

Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説3

どうやってもダメと言い張る。コインの質に文句でもあんのか?ただ、displayを無くした時はいける↓なので display が悪いのはわかった。

execute as @e[type=wandering_trader,tag=Changed] run data modify entity @s Offers.Recipes insert 0 value {buy:{id:”minecraft:stick”,tag:{CustomModelData:292,ItemName:”Hige_Coin”},Count:30},sell:{id:”minecraft:carrot_on_a_stick”,tag:{CustomModelData:5,ItemName:”Hige_Flower”,display:{Lore:[‘{“text”:”立派なヒゲを蓄えた花”,”color”:”white”,”italic”:false}’,'{“text”:”使うと火の弾が出る”,”color”:”white”,”italic”:false}’],Name:'{“italic”:false,”color”:”aqua”,”text”:”ヒゲの花”}’}},Count:1},maxUses:10}

何があかんねん?コインの質か?質なのか!?お前にヒゲコインの何がわかるねん?
/data get entity @e[type=minecraft:wandering_trader,limit=1,sort=nearest] Offers
/data get entity @s SelectedItem
で display を穴が開くほど見比べてみる

Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説4
コインにイチャモン付けてくるおっさんの条件
Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説5
loot_tableで設定してるコイン

オプション(italicとか)の順番が違う……。これのせいか?で、↓の様に修正してみた。

execute as @e[type=wandering_trader,tag=Changed] run data modify entity @s Offers.Recipes insert 0 value {buy:{id:”minecraft:stick”,tag:{CustomModelData:292,ItemName:”Hige_Coin”,display:{Lore:[‘{“italic”:false,”color”:”white”,”text”:”立派なヒゲを蓄えたコイン”}’,'{“italic”:false,”color”:”white”,”text”:”これを集めろってか!?”}’],Name:'{“italic”:false,”color”:”aqua”,”text”:”ヒゲコイン”}’}},Count:30},sell:{id:”minecraft:carrot_on_a_stick”,tag:{CustomModelData:5,ItemName:”Hige_Flower”,display:{Lore:[‘{“text”:”立派なヒゲを蓄えた花”,”color”:”white”,”italic”:false}’,'{“text”:”使うと火の弾が出る”,”color”:”white”,”italic”:false}’],Name:'{“italic”:false,”color”:”aqua”,”text”:”ヒゲの花”}’}},Count:1},maxUses:10}

Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説6

いけた!!なるほど、オプションの順番も見るのね。loot_table で spawn させる時はオプションの順番も決まってるっぽいので(軽く書き換えて試したら順不動っぽかった) Offers の書き換えは順番を守りましょうってことで解決です。

Minecrafterししゃもがマインクラフトで一歩進んだ取引のカスタマイズができるデータパック用のコマンドを解説7

あの配管工のパワーが得られるデータパックを作っています。それではこの辺で、お帰りの際はお気をつけて~(・∀・)ノシ

コメント