ノーマルビュー

Received — 2020年6月17日 ナポアンのマイクラ

マインクラフトのゲーム機版が消えるまで

2020年6月17日 10:53

マインクラフトはかつて、パソコンでしか遊べないゲームでした。しかし2011年にスマホ向けに「ポケットエディション」が配信。トイレの中で遊んでいるPVを覚えている人はいますか? まだ開発が始まったばかりですし、スマホの性能も今とは大違いですので、当時のPEの内容はPC版には遠く及びませんでした。

そして2012年5月に、初のゲーム機版である「Minecraft: Xbox 360 Edition」が発売されます。先述したとおり、これは4J Studiosが移植開発を担当しました。ゲーム機版はできるだけPC版に近い内容を目指して開発されており、当時はPEとゲーム機版では内容の差は一目瞭然でした。

ところがスマホ版は爆発的な人気になり、プレイヤーはどんどんアップデートを求めるようになります。Mojangもそれは認識しており、結果PEは驚異的な速さでアップデートがされ、どんどん要素が充実していきました。

一方で、色々なゲーム機でマイクラを遊びたいという要望も絶えません。みるみるうちにマイクラを遊べるゲーム機が増えていきました。ユーザーの要望にちゃんと応えてくれるMojangと4Jは素晴らしい会社ですよね。

そうそう、MicrosoftがMojangを買収したことを忘れてはいけませんね。2014年のMSによる買収以来、PEの開発にMicrosoft Studiosが参加し、Windows10へPEが移植されました。(スマホとWin10のクロスマルチプレイはこの頃からできていました) またPEは0.12~1.0までの怒涛の大型アップデートを経て、ゲーム機版にない要素まで追加され、もはやJava版にすらない要素まで追加されはじめました。何ページにも渡るアップデート内容をまとめていた頃が懐かしい。

アプリ進化しすぎ

色々な機種に移植されたゲーム機版。進化しまくったスマホ版。「ゲーム機とスマホで一緒に遊べたらいいのに…!」それは多くのクラフターにとっての夢でした。そこで開発陣はとある妙案を思いつきます。

ゲーム機で動かせばよくね

「スマホ版をゲーム機で動かせばいいのでは…?」

そう、昨年のE3で発表された「Better Together Update」は、ざっくり言えば「スマホ版をゲーム機に移植するプロジェクト」なんです。

昨年の9月にPC版は「Java版」になりました。スマホ版の名前が「Minecraft」になり、さらにXboxOneに新しい「Minecraft」が配信されました。

そして2018年6月21日。幾度もの延期を経て、ついにNintendoSwitchに、『Minecraft』が配信されました。めっちゃ壮大なストーリーでしょ?

これが現在のグループ分けです。PS4は当初、クロスマルチプレイには参加できませんでしたが、現在は統合版が配信されたため、問題なく一緒にプレイできます。

投稿 マインクラフトのゲーム機版が消えるまでasobinon に最初に表示されました。

統合版のfillコマンドの置換・設置モードについて [Minecraft]

2020年6月17日 09:32

悪用は厳禁だが、マインクラフトではどうしても「ブロックを一気に置きたい」という場面に遭遇する。そんな時に便利なのが「fill」コマンドだ。この記事では、スイッチやスマホの統合版Minecraftにおける「fillコマンド」の使い方を解説する。

fillコマンドの構文

//指定したブロックで領域の全てまたは一部を埋める
/fill <始点x y z> <終点x y z> <設置するブロックのID> [設置するブロックのデータ値] [既存のブロックの扱い] [置換するブロックのID] [置換するブロックのデータ値]

 

始点x y z と 終点x y z (必須)

ブロックで埋める領域の向かい合う角の座標を指定する。相対座標を使って、コマンドの実行場所から相対的に領域を指定することもできる。(相対座標の書き方はこちらを参照)

領域は指定された座標よりプラス方向に拡張される。このため、値が小さい方の座標は領域の境界になり、大きい方の座標より1つ大きい座標まで領域になる。よって、領域は

(大きいx - 小さいx + 1) × (大きいy - 小さいy + 1) × (大きいz - 小さいz +1 )

となる。

例えば、0 0 0 0 0 0と書いた場合、領域は無くなるのではなく、体積が1ブロック(幅1ブロックの立方体)の領域を指定する。0 0 0 1 1 1や1 1 1 0 0 0は体積が8ブロック(幅2ブロックの立方体)の領域を指定する。

 

設置するブロックのID (必須)

領域を埋めるブロックのIDを指定する。(Java版と違いminecraft:を付けるとエラーになるので注意)

 

設置するブロックのデータ値 (任意)

領域を埋めるブロックのデータ値を指定する。

 

既存のブロックの扱い (任意)

以下の中から1つを選んで書く。指定しない場合はreplaceになる。

destroy : 指定された範囲を全て埋める。既存のブロック(種類が変わってないものも含めて)はエンチャントされていないシャベルまたはピッケルで破壊された扱いになり、アイテム化する。(ツタのようなハサミでしか採取できないブロックはドロップしない。液体ももちろんドロップしない。)

hollow : 指定した範囲で箱を作るように、外側だけブロックを設置し、中身は空気になる。(中身のブロックは消される) もし領域が小さすぎて内側に相当するブロックが無い場合は、replaceのように動作する。

keep : 指定範囲内の空気のみを、指定したブロックに置き換える。(既存のブロックはそのまま保持される)

outline : hollowのように箱を作るが、中は元のブロックが残される。

replace : 指定範囲内の、後述する[置換するブロックのID]引数で指定したブロックだけを置き換える。

 

置換するブロックのID と 置換するブロックのデータ値 (任意)

この引数は、[既存のブロックの扱い]がreplaceの時のみ有効。
置換するブロックのIDとデータ値を指定する。データ値を指定しない場合は、データ値に関係無くIDが合致するブロックが置換される。IDもデータ値も指定しない場合は、領域内の全てのブロックが置換される。

 

使用例

画像1
/fill ~ ~ ~ ~3 ~3 ~10 stone 0 hollow

コマンドを実行した座標から南に10m、横幅が4メートルの石のトンネルを作る。なおトンネルの入口と出口は自分で壊さないといけない。

画像2

/fill ~ ~ ~ ~10 ~10 ~10 concrete 0 replace stone

コマンドを実行した座標の南東と上に10mの範囲内の、焼石をコンクリートに置換する。

投稿 統合版のfillコマンドの置換・設置モードについて [Minecraft]asobinon に最初に表示されました。

asobinonについて

2020年6月17日 07:06

asobinonをご覧の皆さん。突然編集者が変わってしまい申し訳ありません。

現在、ナポアンは勉強のため更新を控えています。そのため、私、0505Keitanが代理で管理をすることになりました。

これからもasobinonをよろしくお願いいたします。

投稿 asobinonについてasobinon に最初に表示されました。

Received — 2020年6月16日 ナポアンのマイクラ

ナポアンドットコムリニューアル!

著者:2687e8
2020年6月16日 21:14

ナポアンドットコムはこれからも進化していく...。

ナポアンドットコムはnoteとは別にマインクラフト攻略サイトとして新しく生まれ変わります!

編集者も増やしていくのでご期待ください!

投稿 ナポアンドットコムリニューアル!ナポアンドットコム に最初に表示されました。

マイクラ完全新作「ダンジョンズ」5月26日発売。日本語対応も確定

2020年4月1日 14:03

Mojang ABとXbox Game Studiosによる新作「マインクラフト: ダンジョンズ」の発売が、海外で5月26日に決定した。新型コロナウイルスの流行による発売延期を示唆していたが、やっと発売日が落ち着いた。価格はたったの「19.99ドル」。ストーリーモードと違って日本語に翻訳されることが確定しているので安心しよう。

 

マイクラダンジョンズ、世界情勢を鑑みて発売時期の変更を示唆

かつては「4月中の発売」を目指して開発されていたが、昨今のパンデミックでどうしても開発体制を見直す必要があり、発売時期の変更が示唆されていた。

 

製品の詳細と発売日

Gather your friends and gear up for adventure: Minecraft Dungeons is coming out May 26th on Nintendo Switch, PlayStation 4, Windows, Xbox One and Xbox Game Pass! Pre-order your copy now:

https://t.co/A2UnaxJtzypic.twitter.com/q9VTPXs2Ps

— Minecraft Dungeons (@dungeonsgame) March 31, 2020

昨日ついに発売日が発表された。5月26日。TLoU2やゼノブレイドリマスターと同じ週。

A great many of you signed up for our limited closed beta, and the randomly-selected lucky participants have now received an email with further instructions. For more info about Minecraft Dungeons, please check out our FAQ:

https://t.co/1pHNOPK98upic.twitter.com/u8a3XpTweN

— Minecraft Dungeons (@dungeonsgame) March 25, 2020

先日一部の人だけが参加できるクローズドベータテストが開始され、同時に価格など製品の詳細が公開された。概要をまとめると

  • 通常版は19.99ドル
  • ヒーローエディションは29.99ドル。将来的に発売される2つのDLCが含まれる
  • Nintendo Switch/PS4/Xbox One/Windows10対応
  • PC/XboxのXbox Game Pass加入者は追加料金無しで遊べる
    • さらにDLCが最大10%割引される
  • まだ全プラットフォームでの予約は始まっていない
  • クロスプラットフォームプレイは将来のアップデートで対応

その価格から「買ったら終わりのダウンロードソフト」のような印象を受けるが、上記サイトには「無料アップデートの配信を予定している」と明記されているので安心しよう。

Minecraft Dungeons FAQ – Home
https://help.minecraft.net/hc/en-us/articles/360041345271-Minecraft-Dungeons-FAQ

その他の詳細な製品情報は上記サイトをチェックしよう。(英語)

 

ローカライズは大丈夫?→大丈夫です

公式サイトはちゃんと翻訳されている。

今日のニンテンドーダイレクトで、日本語に翻訳されたマインクラフトダンジョンズの画面が初めて公開されました。価格等は未定ですが、ストーリーモードのような日本無視作品にはならないので安心ですねhttps://t.co/fmfv9QYKv6 pic.twitter.com/I7BxthvMoC

— NAPOAN.COM (@napoandotcom) March 26, 2020

そして肝心のゲーム内容も、しっかり翻訳されていることが先日のニンテンドーダイレクトミニで確定した。ちゃっかりCERO: Aのレーティングももらっている。ストーリーモードみたいなことにはならないから安心だ!

投稿 マイクラ完全新作「ダンジョンズ」5月26日発売。日本語対応も確定asobinon に最初に表示されました。

CDの曲がiPhoneで再生・ダウンロードできない時の対処法

2020年3月28日 00:15

macOSのミュージックアプリ(旧iTunes)でCDを取り込んだものの、iPhone/iPadでダウンロードや再生ができない。曲名が表示されているのに「この曲が同期されていないデバイスがあります」と出てしまう。そんな時は拡張子をm4aにそろえて、それでもダメなら変換し直してみよう。

せっかくPCに曲を取り込んで、ライブラリ同期もONにしたのに、iPhoneで見るとダウンロードされていない。

再生できないし、ダウンロードしようとしても「この曲が同期されていないデバイスがあります」と出てしまう。そんな時はどうすべきなのか紹介する。

 

まずは拡張子をチェック

こちらが今回「パソコンで聞けるのにスマホで聞けない」問題が発生したCD。原因は「iOSのミュージックアプリが.mp4の拡張子を音楽として認識してくれない」ことである。macOS側では何の警告も出ないので、余計ややこしい。パット見では問題がないのである。

同期に問題がある音楽を右クリックして、「情報を見る」を押してみよう。

「ファイル」をクリック。AACではなく「MPEG-4ビデオファイル」となってしまっている。PCやウォークマンはこのままでも再生できるが、iPhone/iPadでは再生できないのだ。

「ファイル」タブの下の方には、アドレスが書かれている。そこを右クリックして、「Finderで表示」をクリックしよう。

するとこんな感じで「全部MP4になっている」はずだ。mp4もm4aも中身は変わらないが、iOSはなぜか「mp4」を無視してしまう。

そこで、ファイルの拡張子をAppleの「m4a」にそろえてみることにした。

 

MacのFinderで拡張子を一気に変える方法

Finderメニューの「環境設定」を開く。

「拡張子を変更する前に警告を表示」のチェックを外す。

MP4ファイルを全部選択して右クリック。「○○項目の名前を変更...」をクリック。

「mp4」を「m4a」に置換する。(もしかしたらmp4という名前の入った音楽があるかもしれないので、両方にドットを付けたほうがいいかもしれない)

これでmp4がm4aに変わった。しかし...

 

それでもダメなら「AACバージョンを作成」をクリック

筆者の場合はなぜかm4aに変えただけではiOSに同期されなかった。最終手段として、PC側で変換し直すことにした。

ミュージックアプリ(PC)で曲を全選択。

「ファイル」→「変換」→「AACバージョンを作成」。ファイルの複製が心配だが、筆者の場合は勝手に新しいファイルで置換された。

流石にApple側で変換してもられば、iPhoneでも無事再生できるはずだ。もしここで同期がうまく行かない場合、PC側のミュージックの環境設定で「ライブラリ同期」をオン・オフしてみよう。

 

投稿 CDの曲がiPhoneで再生・ダウンロードできない時の対処法asobinon に最初に表示されました。

マイクラダンジョンズ、世界情勢を鑑みて発売時期の変更を示唆

2020年3月18日 13:38

マインクラフトの開発元Mojangによる新作ゲーム「マインクラフト: ダンジョンズ」の開発体制が、新型コロナウイルスに少なからぬ影響を受けているようだ。公式Twitterによれば、開発チームは「4月中の発売」を目指しているものの、同時に発売時期の変更を示唆している。

 

発売時期の変更を示唆

As we’re working from home to do our part in protecting our community, our workflows will unfortunately be impacted. We’re working hard to deliver Minecraft Dungeons in April, but we’re also re-evaluating our timeline to make sure we bring you the best game possible. Stay tuned! pic.twitter.com/77964UwFpB

— Minecraft Dungeons (@dungeonsgame) March 17, 2020

「コミュニティを守る役目を果たすため、リモートワークを実施していますが、ワークフローが不運ながら影響を受ける見通しです。マインクラフト: ダンジョンズを4月中にお届けできるよう全力を尽くしていますが、同時に、最良のゲームをお届けできるように予定の見直しも行っています。詳しい情報は後ほど!」

 

Minecraft Dungeons について | Minecraft
https://www.minecraft.net/ja-jp/about-dungeons/

公式サイトの表記は「2020年春」となっているが、現在開発チームは「4月」を目標に開発を進めているとのこと。しかし昨今のパンデミックの影響は避けられず、当然当初の予定に変更が生じている。

 

公式Twitterでは新情報が随時公開されている

Burn them all! With the right combination of weapons, armour and enchantments, you’ve got everything you need to turn your enemies to toast. pic.twitter.com/F4X0u8es21

— Minecraft Dungeons (@dungeonsgame) March 4, 2020

公式Twitter(英語のみ)では、装備のカスタマイズやエンチャントについてよく分かる動画が公開されている。炎の矢、めっちゃつよそう

Enchantments make everything better! And when it comes to hammering your way through a zombie horde: a whole lot more electrifying. pic.twitter.com/ob8fBMEAMb

— Minecraft Dungeons (@dungeonsgame) March 11, 2020

こちらは本編にない「ハンマー」と、雷を落とすエンチャントの紹介。これらが本編に輸入される時は来るのだろうか。

マイクラダンジョンズ: 自動生成を取り入れたレベルデザインの詳細が公開

「マインクラフト: ダンジョンズ」は、NintendoSwitch/PS4/Windows10/XboxOneで発売予定。発売時期については公式Twitterを随時チェックしよう。

投稿 マイクラダンジョンズ、世界情勢を鑑みて発売時期の変更を示唆asobinon に最初に表示されました。

新しいXboxでマイクラを動かすとこうなる。詳細なスペックが公開

2020年3月16日 22:30

あらゆるゲームが劇的に変わる可能性を秘めた、次世代機「Xbox Series X」の詳細なスペックがお披露目された。NVME SSDや最大120FPSのサポートが目玉だが、ビジュアルで分かりやすい部分として「ハードウェアアクセラレーテッドDirextXレイトレーシング(DXR)」が挙げられる。Xbox公式サイトにて分かりやすい具体例が掲載されているので、簡単に紹介する。

 

Xbox Series X: A Closer Look at the Technology Powering the Next Generation
https://news.xbox.com/en-us/2020/03/16/xbox-series-x-tech/

Xbox公式Twitterおよび公式サイトにて、一斉に「Series X」のスペックの詳細や、用語解説の記事が公開された。同時にEuroGamerのテック部門「Digital Foundry」にて超絶詳しい解説が投稿されているので、英語に明るい人はそちらもチェックしてみて欲しい。

 

これ、ゲーム機です

以下の画像は同じくDigital Foundryの動画より。マインクラフトが「DXR」でいかに変化するか見てみよう。

 

詳細なスペック

「PS4 Proとほぼ同じ高さで、横と奥が15センチ」である。

CPU 8x Cores @ 3.8 GHz (3.66 GHz w/ SMT) Custom Zen 2 CPU
GPU 12 TFLOPS, 52 CUs @ 1.825 GHz Custom RDNA 2 GPU
Die Size 360.45 mm2
Process 7nm Enhanced
メモリ 16 GB GDDR6 w/ 320mb bus
メモリ帯域幅 10GB @ 560 GB/s, 6GB @ 336 GB/s
内部ストレージ 1 TB Custom NVME SSD
I/O スループット 2.4 GB/s (Raw), 4.8 GB/s (Compressed, with custom hardware decompression block)
拡張ストレージ 1 TB Expansion Card (matches internal storage exactly)
外部ストレージ USB 3.2 External HDD Support
光学ドライブ 4K UHD Blu-Ray Drive
パフォーマンスターゲット 4K @ 60 FPS, Up to 120 FPS

 

 

高い処理能力によって可能になったDXR対応

これはXbox Series XのSoCである。AMDのZen2 CPUとRDNA2クラスGPUにより、現時点で地球上のゲーム機で最強の処理能力を誇るわけだが、その恩恵は単なる「解像度とフレームレートの向上」だけにとどまらず、新たなテクノロジーの導入を可能にした。

 

Minecraftのテクニカルディレクター・Clayton Vaught氏によるデモである。(実際のゲーム内容ではない) ドット絵で描かれていた立体が、DXRを適用すれば、もはや「画面の向こうにブロックが存在する」かのような現実感のある風景に様変わりする。

DXRによって、光源(溶岩)と物体の距離や光の反射はリアルタイムで計算される。マインクラフトのようなインタラクティブなゲームでも、「リアルっぽい」ではなく「実際の計算を元にした」リアルな光の表現が可能となるのだ。

 

開発中の画像だが、「Gears 5」はSeriesX版が開発中で、もちろん次世代のスペックに合わせて様々な変更が取り入れられている。具体的には、

  • OneXで30FPSだったカットシーンが4K60FPSで動作
  • ロード時間が劇的に高速化
  • コンタクトシャドウ(物体の影に深みを与える)、植物それぞれのシャドウが友好に

などなど。そして開発中のGears5(SX版)は既に100FPS以上で動作しており、現在マルチプレイモードで120FPS動作ができるよう改善中とのこと。もはやPCである。

何より素晴らしいのは、Gears5のSX版は、One版所有者なら無料で入手可能という点だ。果たしてPS5の互換でも同様の試みがなされるか、気になって眠れない!

 

クイックレジュームがすごい

素早くゲームを再開できる恐ろしい機能のデモ。未来だ。

 

公式サイトを読もう!英語だけど

公式サイトでは他にも、遅延を最小化するための様々な工夫など、語り尽くせないSeriesXの魅力が解説されている。コンソールゲーマーは英語の勉強がてら読破しよう。

投稿 新しいXboxでマイクラを動かすとこうなる。詳細なスペックが公開asobinon に最初に表示されました。

リアルイベント「Minecraft Festival」が来年に開催延期、アプデ生放送は継続

2020年3月16日 13:41

日本語で開催告知がなかったため、あまり多くの人に知られないままの中止となった。

Minecraftのリアルイベント「Minecraft Festival」は当初、今年の9月末にフロリダ州オーランドでの開催が予定されていた。しかし昨今の新型コロナウイルスの流行により準備に支障が生じていることから、開催が「2021年秋」に延期された。ただ、アップデート内容などを発表する「Minecon Live」改め「Minecraft Live」は、9月に放送が予定されている。

 

フェスティバルってなんだよ

Interactive exhibits, competitive tournaments, exclusive merch and all your favourite creators: we’ll take a small break from inflating square balloons to tell you all about the event of the year: Minecraft Festival!

https://t.co/gHdEUNDkMcpic.twitter.com/8wZk3xdgH1

— Minecraft (@Minecraft) February 27, 2020

日本語で発表されなかったためあまり話題にならなかったが、先月末にこのような画像とともに「Minecraft Festival」の開催が発表された。記事の内容を簡単に紹介する。

Welcome to Minecraft Festival | Minecraft
https://www.minecraft.net/ja-jp/article/welcome-minecraft-festival
  • 9月末に「Minecraft Festival」を開催するよ!
  • 何千人ものゲストを招待!
  • 展示やトーナメント、限定商品の販売などなど!
  • コンテンツクリエイターやMojangの開発者に会えるよ!
  • 参加者全員にBE/JE両方で使えるマントをあげるよ!
  • 3日間開催するよ!

また、昨年も開催された「MINECON Live」が「Minecraft Live」に改名されたこともこの記事で発表された。なおMinecraft Liveは当初、フェスティバル会場から直接放送する予定だった。

またチケットの価格表も掲載され、1日60ドル、3日まとめて165ドルで一般チケットが販売されるほか、限定バッジや早期入場が付いた「ゴールドパッケージ」、加えてラウンジ利用権などが付いた「ダイヤモンドパッケージ」の販売も発表された。今見るとなかなか強気の価格設定だな。

 

「2021年秋」に開催延期

Home - Minecraft Festival
https://www.minecraftfestival.com/

You were excited. We were excited. But after conversations with our partners, we’ve had to make the difficult decision to postpone Minecraft Festival. All is not lost, though: Minecraft Live will still be streaming plenty of exciting announcements!

https://t.co/7fQMAbCdIZpic.twitter.com/xtCrd1lns6

— Minecraft (@Minecraft) March 5, 2020

今年開催を予定していたMinecraft Festivalですが
来年に延期することになりました

Minecraft Liveは開催予定ですので
9月のライブ配信をお楽しみに!

詳細に関しては以下のリンクをご確認くださいhttps://t.co/rs9tQSTeua pic.twitter.com/XatMLIHGJL

— Minecraft Japan (@minecraftjapan) March 9, 2020

延期の告知は日本語でも発表されている。

我々のパートナーやプロデューサー、出展予定の方々は世界中にいらっしゃるため、直接会って話し合うなど、現在は必要な協力体制を十分に築けない状況となっています。このような状況がいつまで続き、いつ必要な協力体制がまた築けるかが正確にわからないため、Minecraft Festival を延期するという結論に至りました。

Home - Minecraft Festival
https://www.minecraftfestival.com/

公式サイトも併せて更新され、開催時期は「2021年秋」に変わった。

 

ゲーム関連イベントの変更が相次ぐ

マインクラフトだけでなく、様々なゲームに関連するイベントに、新型コロナウイルスの流行が影響している。最もインパクトが大きいものは「E3中止」である。文字通り、「中止」。

E3 has always been an important moment for Team Xbox. Given this decision, this year we'll celebrate the next generation of gaming with the @Xbox community and all who love to play via an Xbox digital event. Details on timing and more in the coming weeks https://t.co/xckMKBPf9h

— Phil Spencer (@XboxP3) March 11, 2020

Xbox Series-Xの発売が待ち遠しいXboxに関しては、オンラインイベントの開催が発表されている。他の例を挙げれば、スクウェア・エニックスやUbisoftも別の方法での発表を検討中だ。

注目のSIEは、未だに沈黙を守り続けている。こんな状態で堂々と発表会は開催できないだろうから、ソニーファンは忍耐が必要になるだろう。(なおPS4は2月20日に発表された)

E3中止を受けたゲームメーカー各社の対応。スクエニ、任天堂が新たな方法を、マイクロソフト、ユービーアイなどがオンライン発表の検討を表明 - ファミ通.com
https://www.famitsu.com/news/202003/12194436.html

色々と不安なことが多いが、健康が第一。どうしても暇なら、当サイトが無料開放しているRealmで遊んでみることをおすすめする。

投稿 リアルイベント「Minecraft Festival」が来年に開催延期、アプデ生放送は継続asobinon に最初に表示されました。

「Loot Table (ドロップ表)」の使い方 Part3 エラーへの対処法

2020年2月22日 12:50

Loot Table解説のPart3です。今回は、ドロップ表自作においてエラーが出た際の対処法を解説します。Part1およびPart2も合わせてご覧ください。

 

自作ルートテーブルのエラーを確認する手順と、各種エラーの原因

SublimeText最高

Loot tableの書き方はマスターできましたか。設定項目が豊富なので、色々設定していくうちにjsonが半端じゃない長さになるはずです。私にとってはSublime Textの構文チェック機能の有り難みを改めて感じることができました...

アイテムが出てこない場合は

しかしテキストエディタに頼ってもミスをする時だってあります。頑張ってルートテーブルを書いたのに、アイテムが出てこない... そんな時は次の点を確認しましょう。

  • プレイ中にLoot tableのJSONを編集したなら → F3+Tキーを押そう
  • 押してもアイテムが出てこない → 以下の手順でログを確認しよう


EditProfileから設定変更

エラーログを確認するには、マイクラを起動する前にランチャーで「Edit Profile」から設定画面を開きます。「Launcher Visibility」にチェックを入れて、Keep the launcher openを選んでSave Profileをクリックします。

 

JSONの記法が間違っている場合のエラーメッセージと対処法

エラーログを確認しよう

するとゲーム内でルートテーブルを読み込んだ際に、エラーログがランチャーに表示されます。... at line 26と書かれているので、読み込んだルートテーブルの26行目に異常があるということです。

コンマ忘れに気付いた

jsonファイルを開いて、該当する行を探すとありました。カッコの間のコンマを忘れていました。

よくやるミス

他によくやってしまうミスとして、「カッコ内の最後の項目にコンマを付けてしまう」がありますね。項目を追加したけれどやっぱりいいや、と消した際にコンマを消し忘れるんですよ。

 

「Couldn't find resource table ○○」エラーの対処法

ルートテーブルを指定する際のエラー

Couldn't find resource table ○○というエラーが出た場合は、コマンドでルートテーブルを指定した際の、ファイル名やフォルダーの指定が間違っていたということです。

フォルダーの構造とファイル名に注意

セーブデータの「data」→「loot_tables」フォルダ内の構造とファイル名と、ルートテーブルを指定する記述が合致しているか確認しましょう。

おさらい: Loot tableを指定するコマンドのNBTタグの書き方
  • チェスト/トラップチェスト/ホッパー/チェスト付きトロッコ/ホッパー付きトロッコの場合:
    {LootTable:"フォルダ名:ファイル名(.json抜き)"}
  • Mobのドロップアイテムとして指定する場合:
    {DeathLootTable:"フォルダ名:ファイル名(.json抜き)"}
※フォルダの中にさらにフォルダを作った場合は、「フォルダ:フォルダ/フォルダ/ファイル名(.json抜き)」という風に書きます。

 

参考にさせて頂いたページ様

Loot table - Minecraft Wiki
http://minecraft.gamepedia.com/Loot_table
1.9 - Custom Loot Tables - Minecraft Forum
http://www.minecraftforum.net/forums/minecraft-discussion/redstone-discussion-and/command-blocks/2546347-1-9-custom-loot-tables
▲LootTableのJSONの記法が使用例とともに分かりやすく解説されています。Skylinerwさん、素晴らしい解説をありがとうございました!
(その他、公式Wikiの様々なページの情報をもとに執筆しました。)

投稿 「Loot Table (ドロップ表)」の使い方 Part3 エラーへの対処法asobinon に最初に表示されました。

「Loot Table (ドロップ表)」の使い方 Part2 JSONの書き方と条件分岐

2020年2月22日 12:50

Loot Table解説のPart2です。今回はJSONの書き方を解説します。「運効果を持っていればこのアイテムが出やすい」「スコアボードの値に応じてアイテムを出す」「燃やして死んだらアイテムのNBTタグを変える」「アイテムにランダムで指定したエンチャントを付ける」など、様々な「function」と「condition(条件)」の使い方を解説しています。Part1Part3も合わせてご覧ください。

[2020/2/22追記] 1.14仕様に更新しました。1.13以前ではこの方式は使えないので注意してください。

 

ここからは、オリジナルのLoot table(ドロップ表)を自作する手順とJSONファイルの書き方を解説します。サンプルをコピペして少しずつ弄っていけば誰でも思い通りのルートテーブルが作れるはずなので、是非諦めずに自作に挑戦してみてください。

(簡単にJSONを生成するツールもありますが、また別の機会に紹介するかもです)

 

LootTableを作成する場所とは。セーブデータ内のフォルダの構造を解説

「データパック」の作成手順/フォルダ構成/使い方 (Java版1.13)
データパック作成解説
https://napoan.com/data-pack-perfect-guide/

まずは▲の記事を参考に、あなたのワールドの中に「データパック」を作ってください。

データパックを作る際に名前空間フォルダを作りますが、バニラのルートテーブルを上書きしたい場合は「minecraft」に、そうでない場合は英数字で好きな名前を付けてください。

そして名前空間フォルダの中に、loot_tablesという名前のフォルダを作成します。

loot_tablesフォルダの中にルートテーブルのJSONを入れていくわけですが、この中にさらにフォルダを作成して、JSONを整理することもできます。もちろんloot_tablesフォルダ直下にJSONを入れても構いません。

そこに新規テキストファイルを作成して、小文字の英数字とアンダーバーで名前を付け、末尾に.jsonを付けてください。

 

jsonの編集にはメモ帳ではなく高機能なテキストエディタを使おう

テキストエディタについて

作成したJSONファイルをいよいよ編集していくのですが、ここで注意点を1つ。Windows付属の「メモ帳」はおすすめしません。こういう文書ファイルでは一文字のミスも許されませんから、自動整形だとか構文チェックをしてくれる多機能なエディタでjsonファイルを開くことをお勧めします。

ちなみに私は「Sublime Text 3」にMaterialってテーマを適用して使ってます。

 

ルートテーブルの基本の書き方。アイテムのスロット数と出現確率を設定するには

まずは以下のサンプルをコピペしてjsonに貼り付けてみましょう。

{
    "pools": [
        {
            "rolls": 3,
            "bonus_rolls":2,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stone",
                    "weight": 2
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1
                }
            ]
        }
    ]
}

基本的な書き方が分かっていただけたかと思います。「pools」の中に「entries」があり、その中にアイテムを書いていくんです。

  • "pools": [] - 四角カッコの中にアイテムのパターンを書きます。
    • "rolls": 数値 - 出現する項目の数を設定します。アイテム自体の数量ではなく、例えばチェストなら占有するスロットの数です。
    • "bonus_rolls": 数値 - バージョン1.9で追加された「運(luck)」効果を持っていた際に追加で出てくるアイテムの数です。luck効果は/effect @p minecraft:luck 100 0 trueで自分に付与できます。
    • "entries": [] - 四角カッコの中にアイテムなどの項目を書きます。
      • "type": "タイプ" - アイテムの場合は"item", 他のルートテーブルを呼び出す際は"loot_table", 何もない場合は"empty"と書きます。
      • "name": "何か" - typeをitemにした場合はアイテムID、loot_tableにした場合はminecraft:chests/nether_bridgeのようにloot tableを指定します。
      • "weight": 数値 - そのアイテムの出やすさです。weightが多いほど出やすく、少ないほどレアになります。
サンプル1の結果

"roll": 数値でアイテムの量(というよりスロットの数)を指定するのですが、いつも同じ数のアイテムが出てくるってつまらないですよね。出てくるアイテムの量をランダムにするにはどうすれば良いのでしょうか。

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stone",
                    "weight": 2
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1
                }
            ]
        }
    ]
}

違いがお分かり頂けましたか? そう、「"rolls"」の中にさらにカッコが増えてますね。その中に「"min"」「"max"」の値を書くことで、出てくるアイテムの最小の量と最大の量を設定できるんです。「"bonus_rolls"」の数値も同じように最小値と最大値を設定できます。


「Quality」の意味

バージョン1.9では「luck」という新効果が追加されたことはご存知ですよね。この運効果が付いている間だけ、特定のアイテムが出てくる確率を上げる(=特定のアイテムの量を増やす)にはどうすれば良いのでしょうか。

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stone",
                    "weight": 2
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "quality": 5
                }
            ]
        }
    ]
}

"quality": 数値という項目をダイヤモンドに設定しています。すると以下のようにアイテムの出やすさが増えます。

"quality"を設定した際のluck効果のレベルに応じたアイテムの出やすさの変化の式
アイテムの出やすさ: "weight"の値 + ("quality"の値 × luck効果のレベル)

例えば"weight"が3"quality"が5プレイヤーの「運」がレベル2だった場合は「3+(5*2) = 13」となり、最終的なアイテムの出やすさは「13」となります。プレイヤーの運レベルが高ければ、"quality"をちょっと変えただけで大きく出やすさが変わるんです。

1ページ目でも述べましたが、このルートテーブルをチェストなどに設定した場合は「初めて開けて中身を見た時」にluck効果を持っていればアイテムが増えます。設置/設定時の効果は中身の決定に影響しません。

 

アイテムのまとまり、「pool」とは

{
    "pools": [
        {
            "rolls": 11,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stone",
                    "weight": 10
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1
                }
            ]
        },
        {
            "rolls": 3,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stick",
                    "weight": 2
                },
                {
                    "type": "item",
                    "name": "minecraft:paper",
                    "weight": 1
                }
            ]
        }
    ]
}

▲このルートテーブルでは、"pool": []の中に複数のまとまり(pool)がありますよね。こういう風に複数のpoolに分けて書くことで、アイテムの出やすさ(weightとquality)の比較をバラバラに行えるんです。

poolの意味

上記ルートテーブルでは、「焼石:ダイヤ=10:1」「棒:紙=2:1」という2つの「pool」で別々に出やすさの比較が行われます。上手に「pool」を分けて、アイテムの出やすさを思い通りに操りましょう。

 

基本的な「functions」の使い方

名前を付けたりなど、NBTタグを設定したりしたい

アイテムを出現させることはできたものの、アイテムはすっぴんのまま。エンチャント効果を付けたり、NBTタグを使って名前や説明文を付けたりスタック数を設定したりするにはどうすれば良いのでしょうか。

 

アイテムにランダムまたは指定したエンチャント効果を指定した確率で付与するには

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stone",
                    "weight": 2
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond_chestplate",
                    "weight": 1,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:enchant_randomly",
                            "enchantments": [
                                "minecraft:protection",
                                "minecraft:fire_protection",
                                "minecraft:unbreaking"
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

ここで新しく「functions」が出てきました。この「functions」内に色々書けば各種設定ができるわけです。上記ルートテーブルでは"function": "minecraft:enchant_randomly"と書くことで「enchant_randomly(ランダムにエンチャントする)」機能を設定しています。その下に"enchantments": ["エンチャントID","エンチャントID"]と書けば付与されるエンチャントの種類を指定できます。上記の場合は耐性、火炎耐性、耐久力エンチャントの内1つだけが付与されます。

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stone",
                    "weight": 2
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond_chestplate",
                    "weight": 1,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:enchant_randomly"
                        },
                        {
                            "function": "minecraft:enchant_randomly"
                        },
                        {
                            "function": "minecraft:enchant_randomly"
                        }
                    ]
                }
            ]
        }
    ]
}

"enchantments"を指定しない"minecraft:enchant_randomly"を書けば、そのアイテムに適合するエンチャントがそれぞれ1つだけ付与されます。上記のように書けば適合するエンチャントが3つ付くわけです。

 

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond_chestplate",
                    "weight": 1,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:enchant_with_levels",
                            "levels": 30
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond_leggings",
                    "weight": 1,
                    "quality": 5,
                    "functions": [
                         {
                            "function": "minecraft:enchant_with_levels",
                            "levels": {
                                "min": 10,
                                "max": 30
                            },
                            "treasure": true
                        }
                    ]
                }
            ]
        }
    ]
}

▲今度は"minecraft:enchant_with_levels"というfunctionを使ってみましょう。"levels"で指定したレベルに応じたエンチャント効果が付与されます。最小レベルと最大レベルを指定することも可能です。また、"treasure": trueと書けば「Mending(修繕)(修繕)」や「Frost Walker(氷上歩行)」などのトレジャーエンチャント(エンチャント台では付けられない効果)も出てくるようになります。

 

アイテムの数(スタック内の量)を指定するには

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_count",
                            "count": 5
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:gold_ingot",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                         {
                            "function": "minecraft:set_count",
                            "count": {
                                "min": 1,
                                "max": 5
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

"minecaft:set_count"を使えば、"count"アイテムの数を指定できます(スタックされた数)。これも最小値と最大値を指定可能。

一つの項目に何個も書いてしまった場合は、最後に書いてある数値が適用されます。

 

アイテムのデータ値を指定するには

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:wool",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:set_data",
                            "data": 5
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:wool",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:set_data",
                            "data": {
                                "min": 6,
                                "max": 10
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

羊毛など、同じIDでも色々な種類があるアイテムは「データ値」で種類を指定しますね。ルートテーブルでは、"minecraft:set_data"というfunctionでデータ値を指定します。"data"の数値にはもちろん最小値と最大値を指定できます。

一つの項目に何個も書いてしまった場合は、最後に書いてある数値が適用されます。

※1.13ではデータ値が廃止されるため、このfunctionは使えません

 

アイテムのダメージ値を指定するには

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond_shovel",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:set_damage",
                            "damage": 0.5
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond_pickaxe",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:set_damage",
                            "damage": {
                                "min": 0.2,
                                "max": 0.9
                            }
                        }
                    ]
                }
            ]
        }
    ]
}
耐久値を設定

道具アイテムの残りの耐久値は"minecraft:set_damage"というfunctionで設定します。"damage"の値は0~1までで、1なら耐久値が満タンで、0なら残りの耐久値が無し、つまり壊れているという意味です。

一つの項目に何個も書いてしまった場合は、最後に書いてある数値が適用されます。

 

アイテムのNBTタグを指定するには

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond_shovel",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:set_nbt",
                            "tag": "{ench:[{id:32,lvl:3}]}"
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:diamond_pickaxe",
                    "weight": 2,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:set_name",
                            "name": "つよいツルハシ"
                        },{
"function": "minecraft:set_lore", "lore": [{"text":"使ってみなよ"}]
}
                    ]
                }
            ]
        }
    ]
}
NBTタグを設定するには

普段giveコマンドなどで使っているNBTタグをルートテーブル内で使うには"minecraft:set_nbt"というfunctionを使います。"tag"内にNBTタグを書くのですが、ダブルクオーテーションを使う際はバックスラッシュでエスケープするのを忘れずに!

ちなみに、一つの項目に何個もNBTタグを書いた場合は合成されます。しかし同じNBTタグが複数書かれていたら、最後に書かれている物が適用されます。

※2020年2月22日追記 名前と説明文は"minecraft:set_name"および"minecraft:set_lore"で指定する形式に変わっています。natu様、ご指摘ありがとうございました。

 

アイテムの属性(手に持つ/装備すると発動する効果)を指定するには

属性を設定したアイテムとは

アイテムのNBTタグの「AttributeModifiers」はご存じですか。だいぶ前の記事で解説した、「手に持ったり装備したりするとHPなどの能力が強化される」やつです。ルートテーブルでは、あの機能をわざわざNBTタグに書かなくても「function」として設定できるんです。

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond_chestplate",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_attributes",
                            "modifiers": [
                                {
                                    "attribute": "generic.maxHealth",
                                    "name": "Add health!",
                                    "amount": {
                                        "min": 2,
                                        "max": 5
                                    },
                                    "operation": "addition",
                                    "slot": [
                                        "chest"
                                    ]
                                },
                                {
                                    "attribute": "generic.attackDamage",
                                    "name": "Add power!",
                                    "amount": {
                                        "min": 2,
                                        "max": 5
                                    },
                                    "operation": "addition",
                                    "slot": [
                                        "chest"
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

"minecraft:set_attributes"というfunctionを使えば能力の変化を設定できます。

  • "modifiers: []" - 四角カッコの中に効果を書きます。それぞれの効果は1つづつカッコで囲みます。
    • "attribute": "属性名" - 効果名を書きます。公式Wikiの属性一覧ページを参考にして下さい。
    • "name": "好きな名前" - 自由に属性の名前を書きます。書かなければエラーになるので必ず何か書いて下さい。
    • "amount": {"min": 最小値, "max": 最大値} - 効果の強さを指定します。"amount": 数値 と書けば一定の強さの効果になります。
    • "operation": "効果の働き方" - 効果の増減の計算方法を指定します。
      • "addition" - 増減結果 = 元の値 + amountの数値
      • "multiply_base" - 増減結果 = 元の値 + (元の値 × amountの数値)
      • "multiply_total" - 増減結果 = 元の値 × (1 + amountの数値)
    • "slot": ["スロット名"] - アイテムを持つ/装備する場所を指定します。"mainhand","offhand","head","chest","legs","feet"が指定できます。
      1つの効果に複数スロットを指定しても、適用されるのはランダムでどれか1つなのでご注意下さい!

計算式についてはこちらのページが大変参考になりました: Minecraft Japan Wiki - コマンド/データタグ

「ドロップ増加(looting)」エンチャントを使って倒した際のアイテム増加量を設定するには

{
    "pools": [
        {
            "rolls": {
                "min": 1,
                "max": 5
            },
            "bonus_rolls": {
                "min": 1,
                "max": 3
            },
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "quality": 5,
                    "functions": [
                        {
                            "function": "minecraft:looting_enchant",
                            "count": 5
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:gold_ingot",
                    "weight": 1,
                    "quality": 5,
                    "functions": [
                         {
                           "function": "minecraft:looting_enchant",
                            "count": {
                                "min": 2,
                                "max": 10
                            }
                        }
                    ]
                }
            ]
        }
    ]
}

"minecraft:looting_enchant"というfunctionに"count"で値を設定すれば、「ドロップ増加」エンチャントの付いた剣でMobを倒した際に、「ドロップ増加」のレベル × 設定した値の分だけドロップアイテムの数が増えます。

一つの項目に何個も書いた場合は、数値が合計されます。

 

基本的な条件(conditions)の書き方

それぞれのアイテムにエンチャントを付けたり数を指定したりする方法はもうマスターできたかと思います。次は、それぞれの「pool(まとまり)」やアイテムが出現する「条件」、すなわち「conditions」の書き方を解説します。

なんと「プレイヤーに倒された時だけダイヤモンドを落とす」「エンティティのスコアに応じてデータ値やNBTタグを決める」など色々ハイテクなことが出来ちゃいます。うまく活用すれば可能性は無限大...!

 

プレイヤーに倒されたかどうかの条件

{
    "pools": [
        {
            "rolls": 5,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:stick",
                    "weight": 1
                }
            ],
            "conditions": [
                {
                    "condition": "minecraft:killed_by_player",
                    "inverse": true
                }
            ]
        },
        {
            "rolls": 3,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1
                }
            ],
            "conditions": [
                {
                    "condition": "minecraft:killed_by_player"
                }
            ]
        }
    ]
}

▲「pool(まとまり)」を2つ用意しています。それぞれのpoolに"conditions: []"「このまとまりが出現する条件」を設定してあります。

"minecraft:killed_by_player"というconditionでは、「プレイヤーに倒されたか」を条件に出来ます。"inverse": trueと書けば条件を反転でき、ここでは「プレイヤーに殺されていない場合は棒を出す」仕様になっています。

 

{
    "pools": [
        {
            "rolls": 3,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "conditions": [
                        {
                            "condition": "minecraft:killed_by_player"
                        }
                    ]
                },
                {
                    "type": "item",
                    "name": "minecraft:stick",
                    "weight": 1,
                    "conditions": [
                        {
                            "condition": "minecraft:killed_by_player",
                            "inverse": true
                        }
                    ]
                }
            ]
        }
    ]
}

condition(条件)はpoolごとではなく"entries": []内の項目ごとにも設定できます。上記ルートテーブルではプレイヤーに倒されたらダイヤモンド、それ以外の場合は棒を落とします。

 

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_name",
                            "name": "倒してくれてありがとう",
                            "conditions": [
                                {
                                    "condition": "minecraft:killed_by_player"
                                }
                            ]
                        },
                        {
                            "function": "minecraft:set_name",
                            "name":"僕は自滅しちゃったよ",
                            "conditions": [
                                {
                                    "condition": "minecraft:killed_by_player",
                                    "inverse": true
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

▲さらになんと"functions": []のfunctionそれぞれに条件を設定できるんです。上記ルートテーブルでは、プレイヤーが倒した際は「倒してくれてありがとう」、自滅してドロップする時は「僕は自滅しちゃったよ」という風に同じアイテムでも名前を死に方によって切り替える、という超絶ハイテクなことを実現しちゃってます。バニラでこんな事ができるようになるとは...

 

それぞれのpool、項目、functionの出現確率を設定するには

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_name",
                            "name" :"70%の確率で出るダイヤモンド"
                        },
                        {
                            "function": "minecraft:set_lore",
                            "lore": [{"text":"50%の確率でこの説明文が追加される"}],
                            "conditions": [
                                {
                                    "condition": "minecraft:random_chance",
                                    "chance": 0.5
                                }
                            ]
                        }
                    ],
                    "conditions": [
                        {
                            "condition": "minecraft:random_chance",
                            "chance": 0.7
                        }
                    ]
                }
            ]
        }
    ]
}

"minecraft:random_chance"というconditionを使えば、"chance"で指定した値が出現確率になります。"chance"は0~1まで指定可能で、例えば"chance": 0.5なら50%の確率でそのpoolや項目やfunctionが適用されるわけです。

 

「ドロップ増加」エンチャント使用時の出現確率の増加量を設定するには

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_name",
                            "name":"70%の確率で出るダイヤモンド"
                        },
                        {
                            "function": "minecraft:set_lore",
                            "lore" :[{"text":"50%の確率でこの説明文が追加される"}],
                            "conditions": [
                                {
                                    "condition": "minecraft:random_chance_with_looting",
                                    "chance": 0.5,
                                    "looting_multiplier": 0.05
                                }
                            ]
                        }
                    ],
                    "conditions": [
                        {
                            "condition": "minecraft:random_chance_with_looting",
                            "chance": 0.7,
                            "looting_multiplier": 0.1
                        }
                    ]
                }
            ]
        }
    ]
}

先程解説した"minecraft:random_chance""minecraft:random_chance_with_looting"に置き換えれば、追加で"looting_multiplier"という値が設定可能になります。この"looting_multiplier"は「ドロップ増加エンチャントのレベルに応じて増えるchance値の量」を意味しています。

ドロップ増加エンチャント使用時のrandom_chanceの量を求める式
出現確率: "chance"の値 + ("looting_multiplier"の値 × ドロップ増加のレベル)

例えば本来の"chance": 0.7のアイテムに"looting_multiplier": 0.1を設定して、ドロップ増加レベル3の剣で倒した場合は0.7 + (0.1*3) = 1.0ということで出現確率は100%になるんです。

 

倒した人/Mobや倒されたMobの状態(燃えているかどうか)を条件にするには

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_name",
                            "name":焼死した証",
                            "conditions": [
                                {
                                    "condition": "minecraft:entity_properties",
                                    "entity": "this",
                                    "properties": {
                                        "minecraft:on_fire": true
                                    }
                                }
                            ]
                        },
                        {
                            "function": "minecraft:set_name",
                            "name":"焼死してない証",
                            "conditions": [
                                {
                                    "condition": "minecraft:entity_properties",
                                    "entity": "this",
                                    "properties": {
                                        "minecraft:on_fire": false
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

▲"minecraft:entity_properties"という条件で、倒した人/Mob、倒されたMobがどんな状態だったかを条件にできます。"entity""this"と書けば倒されたMob、"killer"と書けばそいつを倒した他のMob、"killer_player"と書けばそいつを倒したプレイヤーの状態を条件にします。今のところ判定できるのは「火が付いているか: true/false」だけです。

 

倒した人/Mobや倒されたMobのスコアボードの値を条件にするには

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:diamond",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:set_name",
                            "name":"test1が1だった証",
                            "conditions": [
                                {
                                    "condition": "minecraft:entity_scores",
                                    "entity": "this",
                                    "scores": {
                                        "test1": 1
                                    }
                                }
                            ]
                        },
                        {
                            "function": "minecraft:set_name",
                            "name":"test1が1でtest2が1以上3以下だった証",
                            "conditions": [
                                {
                                    "condition": "minecraft:entity_scores",
                                    "entity": "this",
                                    "scores": {
                                        "test1": 1,
                                        "test2": {
                                            "min": 1,
                                            "max": 3
                                        }
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

▲"minecraft:entity_scores"を使えば、なんと倒されたMobなどのスコアボードの値を条件にドロップアイテムを決められるんです! これは革命的でしょ。entity_propertiesの時と同様、"entity"に"this"と書けば倒されたMob、"killer"と書けばそいつを倒した他のMob、"killer_player"と書けばそいつを倒したプレイヤーのスコアを条件にします。

"scores: []"内には複数のオブジェクトを書くことができ、それぞれ最小値と最大値も設定できます。これとscoreboardコマンドを合わせて使えば、例えば「○○を装備して倒せばダイヤモンドが落ちる!」など複雑なシステムが作れますね。ワクワクしてきちゃった。

 

Mobを焼いて殺した際に精錬済みのアイテムが出てくるようにするには

焼死時に精錬済みのドロップアイテムを出すには

例えば牛を殺した際、普通なら生肉が出てきますが、焼いて殺せば焼き肉が出てきますよね。こんな「焼死時は精錬したアイテムが出てくる」機能をLoot tableで使ってみましょう。例えば「原木」をドロップするルートテーブルがあるとすれば、焼死時は原木を精錬した「木炭」が出てくるようになります。

{
    "pools": [
        {
            "rolls": 1,
            "entries": [
                {
                    "type": "item",
                    "name": "minecraft:log",
                    "weight": 1,
                    "functions": [
                        {
                            "function": "minecraft:furnace_smelt",
                            "conditions": [
                                {
                                    "condition": "minecraft:entity_properties",
                                    "entity": "this",
                                    "properties": {
                                        "minecraft:on_fire": true
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

▲アイテムに応じた精錬済みアイテムを出すには、"minecraft:furnace_smelt"というfunctionと、先程解説した"minecraft:entity_properties"というcondition(条件)を合わせて使います。上記ルートテーブルをMobに設定すれば、普通に死んだ場合は原木、燃え死んだ場合は木炭を落とします。


Part3では、アイテムが出てこない場合の対処法を解説します。 >>

 

参考にさせて頂いたページ様

Loot table - Minecraft Wiki
http://minecraft.gamepedia.com/Loot_table
1.9 - Custom Loot Tables - Minecraft Forum
http://www.minecraftforum.net/forums/minecraft-discussion/redstone-discussion-and/command-blocks/2546347-1-9-custom-loot-tables
▲LootTableのJSONの記法が使用例とともに分かりやすく解説されています。Skylinerwさん、素晴らしい解説をありがとうございました!
(その他、公式Wikiの様々なページの情報をもとに執筆しました。)

投稿 「Loot Table (ドロップ表)」の使い方 Part2 JSONの書き方と条件分岐asobinon に最初に表示されました。

Hytale: 対応ゲーム機・MOD・対象年齢など、よくある質問まとめ

著者:user002
2020年2月22日 12:05

2021年リリース予定の「Hytale(ハイテール)」について、よくある質問とその回答をまとめた。開発中のため未確定な部分も多いが、プレイスタイルを検討する手がかりになれば幸いだ。

 

 

※以下のQ&Aは、2020年2月22日 12:05時点のHytale公式サイトの情報に基づいています。

 

ゲーム内容に関する質問

リリース日は?

2021年。(2020年2月22日現在)

2018年12月に公開されたFAQでは「プレイヤーの期待と我々の野望に値する第一印象をお届けすることを確実にしたい」「開発体制を強化しているので安心して」とされていた。それから約一年が経過してもリリース予定時期ははっきりしなかったが、2019年11月の開発進捗報告において、「プロジェクトの規模と高い目標を鑑みて、Hytaleは2021年にみなさんがプレイ可能になる」と発表された。

同時に、「これが皆さんの予想より長いことは認識しているが、我々の作れる最高のゲームを届ける責任があり、必要な期間について現実的に考えることが重要」「コミュニティの皆さんの関心が、我々が目標を追うことの大きな助けになっている」とも書かれており、無責任に予定を後ろ倒しにしているわけではないことはよくわかる。

 

どんなモードが含まれているの?

メインのモードは3つ。

アドベンチャーモード
自動生成されるファンタジー世界を、一人もしくはフレンドと一緒に冒険できる。
ミニゲーム
PvPとco-op(協力プレイ)のスキルを競い合う。
クリエイティブツール
様々な種類のコンテンツを、プレイヤー自身が作れる。

 

マインクラフトと同様、コミュニティサーバーを作ることができる。サーバーでは思い通りのやり方でHytaleを楽しむことが可能だ。各ゲームモードの詳細は、公式サイトで詳しく解説されている。

 

どのプラットフォーム(機種)で遊べるの?

対応が確定している機種
  • PC(Windows)
  • Mac
サーバーなら動かせる
  • Linux

 

この他のプラットフォーム(スイッチやPS4などのゲーム機)については、「開発中に可能性を検討する」とされている。同時に「今はPCとMac向けの開発にフォーカスしている」とも。

 

日本語には対応する?

未定。「続報をお待ち下さい」とのこと。

 

ユーザー名/プレイヤー名をあらかじめ決めたいんだけど

Hytaleのユーザー名は重複ができない仕様となることが発表されている。

なお2018年12月のFAQに「今後数ヶ月内のどこかのタイミングでユーザー名予約システムが使えるようになる」とあるが、未だにシステムは公開されていない。

 

レーティング(対象年齢)はどうなる?

まだ審査はされていないが、(ESRBの)「T」を想定しているとのこと。これは米国における「13歳以上対象」だが、日本のCEROの基準はESRBと異なるためなんともいえない。

出血や欠損表現といった要素は現在公開されているスクリーンショット・動画では見当たらないので、そこまで高い対象年齢になることはないだろう。

 

ペアレンタルコントロール機能は実装される?

「オンライン上の支払いやカスタムコンテンツへのアクセスを制限できる包括的なツールを実装予定」とされている。同時に、「他のオンラインゲームと同様、お子さんが触れるコンテンツや他人との交流 に注意してほしい」と開発側は呼びかけている。

 

無料ゲームになるのか、有料ゲームになるのか?

「ビジネスモデルの詳細はまだ確定していない」「決まったら詳細をお伝えする」とのこと。

ちなみに、似たゲームで「無料」といえばTroveを思い浮かべる人も多いだろう。「Trove」は基本プレイ無料ながら、レベル上げ短縮などのゲーム内課金で収益を上げている。

 

フレンドのワールドに参加できる?

答えは「イェス」。フレンドリスト機能があり、今遊んでいるサーバーが表示されるだけでなく、フレンドの世界に参加することもできる。

 

ベータ版は出るの?

Beta Sign-up – Hytale
https://hytale.com/signup

▲こちらのリンクからメールアドレスを入力することで、ベータ版の事前登録ができる。実施時期などは発表されていない。

 

マイクラのHypixelサーバーのミニゲームとの違いは?

「名前が似ているな」と思っていた方も多いかもしれないが、なんと「Hytale」は「Hypixel」を開発していた人達によって作られているのだ!(厳密にはRiot Gamesと共同開発)

すでにサーバーがあるのに、どうして独立したゲームを作ろうと思ったのか。その理由は「最初からミニゲームを前提にシステムを作ること」にある。

  • Hytaleは、ミニゲームを前提として設計されている。すなわち開発側とコミュニティのクリエイターがより自由に創造性を発揮できる
  • Hypixelサーバーの開発はマインクラフトのシステムに制約されていた

また、システムをミニゲーム前提で開発したことで、チート対策・クライアントの最適化など、マインクラフトではできなかった様々なことが可能になっている。

 

マイクラのHypixelのミニゲームサーバーは終了するの?

答えは「ノー」。Hypixelのサーバーのサポートは、今と同じように続行される。公式サイトによれば、2016年の時点で、HypixelチームからHytaleへメンバーが移動していたのだ。

 

HypixelのデータをHytaleに移行できる?

残念だが、Hytaleは完全に新しいゲームなので、移行できるものは無い。

 

Hypixel Inc. とHypixel Studiosの違いは?

  • Hypxel Inc. ― Hypixelサーバーを運営する会社
  • Hypixel Studios ― Hytaleを開発するために作られた会社

 

Hytaleの開発についての最新情報を得たい

公式サイトでも最新情報は随時公開されるが、以下にハイテール公式のSNSアカウントをまとめたので、合わせてチェックしよう。(現時点で日本語の情報発信はされていない)

 

PvPについてもっと知りたいんだけど

PV等で、PvPについては深く触れられていない。これは開発チームが「PvPコミュニティが我々に高い期待を寄せていて、リクエストやフィードバックに応えられる機会を確保したい」からだそうだ。彼らは同時に、PvPを楽しく公平にするために、コミュニティのリーダーや専門家と協議している。

 

技術的な質問

Hytaleは何のエンジンで動いているの?

「専用のカスタムビルトエンジン」で動いているとのこと。既存の汎用的なゲームエンジンでは、Hytale開発チームが作りたいハイエンドなブロックゲームを作れないと判断したそうだ。

なお公式サイトによると、クライアントはC#、サーバーはJavaで書かれている。

 

二段階認証は実装される?

アカウント作成時に、任意でアプリを介した二段階認証が使えるとのこと。

 

MODには対応する?

Hytaleは「最初からユーザーがコンテンツを作る」ことを前提に開発されている。つまり、マインクラフトとは「MOD」の意味が根本的に異なる。悪用防止のため、ゲームクライアントのプログラムを改ざんすることは禁止され、バージョンも1つしか選べない。

Hytaleはそこに「ユーザーがコンテンツを作れる」機能が加わっているが、システムは普通のゲームと変わらない。つまり「Hytaleは自由度の高いオンラインゲームで、マイクラJava版だけが特別なゲーム」ということ。

こちらは公式サイトで公開されているロード画面だ。カスタマイズコンテンツは、サーバー接続時に必要に応じて自動でダウンロードされ、クライアント側に適用される。

結論として、Java版における「MOD」に相当するものはなく、代わりにアプリ版マインクラフトの「アドオン」をサーバー側に導入するのに近いことができる、と考えればいいだろう。

 

じゃあ一体何をカスタマイズできるの?

Hytaleではクライアントは改造できないが、サーバー側のコンテンツは改造できる。現時点で分かっている限りでは、以下の項目をカスタマイズ可能だ。

  • テクスチャ
  • アニメーション
  • 武器やキャラクターのモデル
  • 天候

 

例えば「天候」については、強力なカスタマイズ用UIで簡単に空の色などを決めることができる。マインクラフトなら画像編集ソフトなどが必要な部分も、Hytaleならゲーム内のUIでカスタマイズ可能なのだ。

 

自分でサーバーを運営できるの?

答えは「イェス」だ。アドベンチャーモード、ミニゲーム、それ以外のサーバーも作成可能とのこと。

こちらは開発中のサーバーブラウザ画面だ。モードや言語、タグでサーバーを絞り込んだり、お気に入りに登録したり、並び替えができるとのことだ。

 

公式サーバーはどこに設置される?

できる限り低遅延でプレイできるよう、プレイヤーの接続先を簡単に切り替えられるようにしているとのこと。

 

必要最小スペックは?

未定。

2018年末のFAQでは「ローエンドのオンボードノートPCで、デフォルトの描画距離でプレイできる」と書かれている。(Intel Iris Graphicsとかのこと) 同時に、ハイスペックPC向けのグラフィック設定も用意しているとのこと。

 

YouTuber/ブロガーなどに関する質問

Hytale公式の画像や動画をチャンネルで使っていい?

答えは「イェス」だ。PVを含めて、公式サイトの動画や画像はリアクション、分析、コメンタリーの目的なら使用可能だ。

 

スクショ、壁紙、コンセプトアートが欲しい

Media – Hytale
https://hytale.com/media

こちらのメディアページで、公式のスクリーンショット、壁紙、コンセプトアートを閲覧可能だ。

Blog – Hytale
https://hytale.com/news

ブログページでも随時新しいスクリーンショット等が公開されているので、チェックしよう。

 

Hytaleのコンテンツを収益化していい?

2018年12月のFAQによれば、以下の通りだ。

あなたのHytaleに関するコンテンツやサービスを作成し、収益化することが可能です。ゲーム内コンテンツの作成に関するルールとガイドライン、我々のIPに関する基本的なやっていいこと・だめなことの簡単な一覧を公開する予定です。これらのルールは、ユーザーのセキュリティの改善、過激なコンテンツの防止、迷惑行為の排除などを目的とし、我々のサーバー運営の経験とコミュニティメンバーとの協議の上で作られる予定です。我々のガイドラインは同意しやすいものになるでしょう。Hytaleの目標の中心は、すべてのコンテンツクリエイターに可能性を与えることであり、各クリエイターの情熱がクリエイター自身をサポートできるようにすることを我々は望んでいます。

投稿 Hytale: 対応ゲーム機・MOD・対象年齢など、よくある質問まとめナポアンドットコム に最初に表示されました。

「村人が視界に入ったら即終了」にヤラセ疑惑。そもそもパクリではないかという指摘も

著者:ryo 2687e8
2020年2月22日 08:42

「村人が視界に入ったら即終了するMinecraft実況」に、ヤラセ疑惑が浮上している。動画内で「シード値はランダム」と言いながら、実際はすでに用意されたワールドを使っていた可能性が高いのだ。

「村人が視界に入ったら即終了」にヤラセ疑惑。そもそもパクリではないかという指摘も by ナポアンドットコム

Received — 2020年6月8日 ナポアンのマイクラ
Received — 2020年6月7日 ナポアンのマイクラ

【速報】Hytale、動物がうんこ可能 - 2020年1月の開発進捗が公開

著者:user001
2020年1月30日 09:17

2021年へのリリース延期でコミュニティに驚きをもたらしたHytale開発チームが、さらなるサプライズを持ってきた。開発の進捗を伝える記事の2020年1月29日版で、「うんこ」が登場したのである。ジョークではなく文字通り「うんこ」で、農業システムの一部ではあるが、ゲームにデフォルトで「うんこ」が実装されているというのは中々面白いことになりそうだ。

【速報】Hytale、動物がうんこ可能 - 2020年1月の開発進捗が公開 by Metgebra

Received — 2020年5月23日 ナポアンのマイクラ

マイクラダンジョンズ: 自動生成を取り入れたレベルデザインの詳細が公開

著者:user001
2020年2月22日 06:45

Minecraft公式チャンネルにて、「Minecraft Dungeons(マイクラダンジョンズ)」のレベルデザイン(フィールド設計)について開発者が詳細に解説する動画が公開された。彼らがあえてレベルを「環境」と呼んでいる理由、自動生成と手作りのエリアをいかにして組み合わせているのかなど、興味深い内容が盛り沢山だ。

マイクラダンジョンズ: 自動生成を取り入れたレベルデザインの詳細が公開 by Metgebra

Received — 2020年5月20日 ナポアンのマイクラ

「村人が視界に入ったら即終了」にヤラセ疑惑。そもそもパクリではないかという指摘も

著者:ryo2687e8
2020年2月22日 08:42

「村人が視界に入ったら即終了するMinecraft実況」に、ヤラセ疑惑が浮上している。動画内で「シード値はランダム」と言いながら、実際はすでに用意されたワールドを使っていた可能性が高いのだ。

「村人が視界に入ったら即終了」にヤラセ疑惑。そもそもパクリではないかという指摘も by Metgebra

❌