斜体にせずに様々なアイテム名を付け、さらに多言語対応する方法 – 「LocName」の使い方【Minecraft】
バージョン1.11用のコマンド解説、第三弾。
アイテムに好きな名前を付ける際、display:{Name:”名前”}というNBTタグを付けますよね。しかしこれじゃ名前が斜体になってしまいます。そこで、langファイルを書き換えることでアイテム名そのものを変える手法が使われてきました。しかしこれではアイテム1種類につき1つしか斜体じゃない名前を付けられません。
先日配信されたMinecraftバージョン1.11では、この問題を解決する画期的なNBTタグ「LocName」が登場しました。 一種類のアイテムに、斜体じゃない名前を複数付けられ、さらに多言語に翻訳可能なのです。 この記事では、そんなLocNameタグの使い方、配布ワールド制作で使う際の活用例をご紹介します。
目次
目次
1.11の新NBTタグ「LocName」とは? 従来の方法との違い
display:{Name:”アイテム名”,Lore:[“説明文”,”説明文”]}という風に、displayタグを使えばアイテムに好きな名前と説明文を付けられます。しかしこれ、アイテム名が斜体になるのが気になる方も多いはず。
リソースパックで色々弄れるようになった今、「langファイルを書き換える」というアイテム名変更方法も出てきました。例えばitem.chestplateDiamond.name=スーパーアーマーと書いてja_jp.langという名前で保存しリソースパックにすれば、適用するとダイヤのチェストプレートの名前が「スーパーアーマー」に変わります。
しかしこれ、元のアイテム名自体を変えちゃってるので1種類につき1パターンの名前しか作れないんですよね…
そこで、バージョン1.11で追加されたLocNameタグを使ってみましょう。
「スーパーアーマー」「ベストアーマー」「ウルトラアーマー」全てノーマルの書体で名前を変更できていますね。ちなみにこれは言語設定が日本語の場合。
じゃあ、この状態でEnglish (US)に切り替えてみましょう。
「Super Armor」「Best Armor」「Ultra Armor」― 全て英語に翻訳されちゃいました。自動翻訳じゃないですよ、これもクラフターの皆さんの手で自由に書けるんです。
つまりLocNameタグを使えば、1種類のアイテムに様々な名前を付け、さらに言語ごとに名前を切り替えることができるんです。
アイテムにLocNameタグを付けてみよう
それでは実際にLocNameタグを使ってみましょう。
- LocNameタグを付けたダイヤのチェストプレートを入手するコマンド
- /give @p minecraft:diamond_chestplate 1 0 {display:{LocName:”適当な英数字”}}
LocNameはdisplayの中に書きます。「適当な英数字」には、item.superArmorだとか分かりやすい英数字を書いておきましょう。この文字列を後で使うので覚えておいて下さい。
例えばitem.superArmorと入力した場合、そのままだとアイテム名は「item.superArmor」になります。これじゃ使えないじゃないか! …いえいえ、名前は後から付けるんです。
またまた雑パワポ図解ですが、こちらがLocNameの仕組みです。別途でlangファイルを用意して、LocNameに設定した文字列と実際のアイテム名を結びつけ、それをリソースパックとして読み込むことで実際のアイテム名を表示しているんです。
配布ワールドの場合、いちいちリソースパックをダウンロードしてもらって読み込んでもらうのは面倒ですから、手順は後述しますがワールドフォルダーにリソースパックを同梱すればOKです。
さあ、langファイル入りのリソースパックを作成していきます。
アイテム名設定用のlangファイルを作成しよう
langファイルを作成していくのですが、もう面倒なのでいきなりワールドフォルダーの中に作っちゃいましょう。
セーブデータフォルダーを開き、assetsフォルダーを作成、その中にminecraftフォルダーを作成、さらにその中にlangフォルダーを作成します。
langフォルダーを開き、Windowsの場合は右クリック→新規作成→テキスト ドキュメントで新規テキストファイルを作成します。
Macの場合はXtraFinderってアプリを入れて(XtraFinderの)環境設定→Finderメニューに項目を追加の新規ファイル…にチェックを入れれば同様の作業でテキストファイルを作成できます。
テキストファイルの名前はja_jp.langにします。最初から.txtがない人は表示(タブ)→ファイル名拡張子にチェックを付けて。
※バージョン1.11では、リソースパック内のファイル名を全て小文字にしないとエラーになる仕様に変わりました。ja_JP.langではダメなんです。
この「ja_jp.lang」を開いて編集するのですが、メモ帳を使うと余計な「BOM」って奴が寄生するのでメモ帳は使わないで下さい。 メモ帳代替ならTeraPad、より高機能ならSublimeText3がおすすめです。SublimeはMacでも使えますし。
item.superArmor=スーパーアーマー item.bestArmor=ベストアーマー item.ultraArmor=ウルトラアーマー
ファイルの内容はこんな感じです。文字列=アイテム名 を一行に一個ずつ書いていきます。ちなみにitem.だとか付けてるのはそれっぽくするだけのカッコつけなので別に英数字ならなんでも構いません。(コマンド内の文字列と合わせればいいんです)
TeraPadの場合は、ファイル→文字/改行コード指定保存をクリックし、UTF-8Nを選んで保存しましょう。“N”ってのはBOM付いてませんよって意味です。
(日本語化済みの)Sublime Text 3なら、エンコードを指定して上書き保存→UTF-8を選びましょう。with BOMはダメです。
他のテキストエディタの場合、例えば「秀丸エディタ」なら保存時にUTF-8を選んで、BOMを付けるのチェックを外します。「サクラエディタ」なら保存時にUTF-8を選んで、BOMのチェックを外します。
同様にen_us.langという名前のlangファイルを作れば英語に対応できます。こちらも文字コードの指定にはご注意。
ちなみに、他の言語に対応させる場合はこちらの「Locale Code」を小文字に変えてファイル名にしてください。
langファイルをリソースパックにして使おう
langファイル達をリソースパックに封じ込めるために、御札が必要です。セーブデータフォルダーの中に、伝統のpack.mcmetaを作成しましょう。
{ "pack": { "pack_format": 3, "description": "Write description here" } }
▲pack.mcmetaの中身はこれをコピペしてください。バージョン1.11ではまたpack_formatが更新されて3になっちゃいました。description欄には英数字しか書けません。
保存する際の文字コードはUTF-8(BOM無し)で大丈夫です。
次に、assetsフォルダーとpack.mcmetaを選択して右クリック→送る→圧縮をクリックしてzipを作成します。
zipの名前をresources.zipにしてEnter。これでワールドにリソースパックが紐付けされました。
ワールドに入り直して、アイテム名が反映されていたら作業完了です。もし反映されない場合は、resources.zip、langファイルの名前や文字コードを確認し直してzipを作り直しましょう。
あとは様々なLocNameを持ったアイテムをコマンドで作り、langファイルを書いてリソースパックを更新して…の繰り返しです。面倒ですがこの作業を繰り返すことで斜体のアイテム名とは完全に決別できます。
最後までお読み頂きありがとうございました。
告知: コマンドをもっと極めたいなら、この本がおすすめ!
マイクラのコマンドに少しでも興味をお持ちの方々に朗報です。コマンドをもっと学ぶのにぴったりな本が発売されました。
- みんな大好き!マインクラフト るんるんプログラミング コマンドブロック編
http://www.socym.co.jp/book/1078
「オン・オフの信号を出し続けるクロック回路を作ろう!」「コマンドブロックでよく使うコマンド」「テレポート装置を作る」「『executeコマンド』を使って、いろいろな仕掛けを作ってみよう!」「コマンドを極めれば、こんな配布ワールドを作れる!」など、レッドストーンの基本からコマンドの応用まで、ありとあらゆる解説が詰まった本となっています。応用編の「6章」は私が執筆しました。作例のワールドもダウンロードできます!
さらにこの本では、仕掛けを作るだけでなく、配布ワールドやサーバーとして公開する手順も解説されています。憧れの配布ワールド作りを始めるのにもぴったりですね。
気になった方はぜひ上のリンクからチェックしてみて下さい!
14件のコメント
-
Pick2562016年11月25日1.11で急にリソパに大文字使えなくなってびびった ワールドにリソパを添付する方法、わかりやすく解説ありがとうございます。
-
かずまっちz@配布ワールド進歩1%2016年11月25日使い道が思いつかん
-
negi2016年11月27日購読の通知が遅い上にクリックしても”リンク先が見つかりませんでした”と表示されあまり使えません... お手数ですがご確認お願い致します。
-
Moon Shift (ムーンシフト)2016年11月27日看板で使えるようになればッ!
-
でんでん (Minecraft ID:denden0816)2016年11月28日”LocName"をLoottableで使うにはどうすればいいのですか?
-
匿名2016年11月28日{"function": "minecraft:set_nbt","tag": "{display:{LocName:"文字列"}"} をfunctions内に追記して下さい。文字列を囲むダブルクオーテーションの前にバックスラッシュを付ける必要があります。 詳しくは http://exr-nap.sakura.ne.jp/www.mcthnk.com/loot-table-perfect-guide/2/#item-nbt をお読み下さい。
-
show_you12052016年11月29日このコマンドで、item.superArmorとかの文字列でリソースパック作ったら、スーパーアーマー限定のテクスチャとか作れるのでしょうか?
-
Pick2562016年12月2日普段は使わないUnicode文字があるじゃろ? それを、こうして、こうじゃ! http://www.kwonline.org/u_esc_seq.php
-
でんでん (Minecraft ID:denden0816)2016年12月7日ありがとうございます! さんの知識にはついていけませんねー。 Orz ハハー
-
でんでん (Minecraft ID:denden0816)2016年12月7日/setblock ~ ~ ~ minecraft:standing_sign 0 replace {Text1:"{"text":"右クリックしてね","clickEvent":{"action":"run_command","value":"/setblock ~ ~ ~ minecraft:command_block 0 replace {Command:\"/summon villager ~ ~1 ~ {CustomName:\\\"Ore Miner\\\",Profession:5,Offers:{Recipes:[{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:emerald,Count:3b},sell:{id:coal,Count:2b}},{rewardExp:1b,maxUses:2147483647,uses:0,buy:{id:emerald,Count:7b},sell:{id:iron_ingot,Count:1b}},{rewardExp:1b,maxUses:2147483647,uses:0,buy:{id:emerald,Count:9b},sell:{id:dye,Damage:4,Count:1b}},{rewardExp:1b,maxUses:2147483647,uses:0,buy:{id:emerald,Count:12b},sell:{id:gold_ingot,Count:1b}},{rewardExp:1b,maxUses:2147483647,uses:0,buy:{id:emerald,Count:21b},buyB:{id:iron_pickaxe,Count:1b},sell:{id:diamond,Count:1b}},{rewardExp:1b,maxUses:1,uses:0,buy:{id:diamond,Count:13b},buyB:{id:gold_ingot,Count:34b},sell:{id:diamond_pickaxe,Damage:1488,Count:1b,tag:{HideFlags:63,AttributeModifiers:[{AttributeName:\\\"generic.knockbackResistance\\\",Name:\\\"generic.knockbackResistance\\\",Amount:0.07,Operation:0,UUIDLeast:815322,UUIDMost:228940},{AttributeName:\\\"generic.movementSpeed\\\",Name:\\\"generic.movementSpeed\\\",Amount:0.082,Operation:0,UUIDLeast:895455,UUIDMost:245577},{AttributeName:\\\"generic.armor\\\",Name:\\\"generic.armor\\\",Amount:0.018,Operation:0,UUIDLeast:245367,UUIDMost:682484},{AttributeName:\\\"generic.luck\\\",Name:\\\"generic.luck\\\",Amount:1.0,Operation:0,UUIDLeast:395066,UUIDMost:311230}],display:{Name:\\\"\u00a7b\u00a7lThe Ore Miner's favorite pickaxe\u00a7r\\\",Lore:[\u00a7r\u00a77\u00a7oAlways with Pickaxe who always digs up the ore by spirit.]},ench:[{id:32,lvl:2},{id:33,lvl:1},{id:34,lvl:4},{id:70,lvl:1}]}}}]},PersistenceRequired:1,CanPickUpLoot:1b,DeathLootTable:\\\"minecraft:chests/abandoned_mineshaft\\\"}\"}"}}",Text2:"{"text":""}",Text3:"{"text":""}",Text4:"{"text":""}"} 使ってみ
-
でんでん (Minecraft ID:denden0816)2017年1月18日Command Modderになれそうですね (MCreator使ったりするのが面倒だしJava知能が無いしコマンドしか知らないし良かったw)
-
Alice2017年2月4日記事に関係ない事なんですが最近マインクラフトPCのランチャーがアップデートされました。ですが自分を含めランチャーが新バージョンにならないのです。対処法をお教えしていただきたいです
-
匿名2017年2月5日私もまだアップデートされてません。一斉にアップデートではなく、2週間かけて段階的に全世界のプレイヤーに配信されるので、まだアップデートされていない人は沢山いるはずですよ
-
ゆっくりアスキーアートchannel2017年2月18日http://minecraft-diary.jp/blog-entry-1301.html ここに書いてありますよ