【マイクラ】ランダム要素をルートテーブルで再現!|HFC機構

コマンドを使って何かをするとき、ランダム要素を取り入れたい時ありますよね。

バージョン1.8までは、基本的に「アーマースタンド」を利用して、セレクタ「@r」などでランダムに抽選してたりしていましたが...

バージョン1.9から追加された「ルートテーブル(Loot table)」をうまく使えば、ランダムに抽選し、指定されたコマンドを実行させたりも出来ます。しかも、アーマースタンドは不要なので回路もコンパクトにまとめられます。

今回は、そのランダム要素をルートテーブルで実現させる方法を紹介します。

スポンサーリンク

出来上がりはこんな感じ

もちろんこれだけではなく、アレンジ次第で色んなギミックを作る事が出来ますよ!

まずはルートテールをある程度知っておくとイイヨ

一応、この記事を見れば、ランダム要素については一通り分かるように書きますが、「ルートテーブル」のノウハウを知っておくと色々と役立ちマスオ~。

是非とも、こちらの記事を合わせて読んでね!

【マイクラ】ゾンビのドロップアイテムを変えてみよう!|loot table(ルートテーブル)
【マイクラ】ゾンビのドロップアイテムを変えてみよう!|loot table(ルートテーブル)
今回は、ルートテーブルの基本をおさえて、実際にゾンビのソースをいじってみたいと思います。 いじるだけじゃゲームに適応されません。ワールドデータに格納する所までやって終わろうと思い...

スポンサーリンク

ルートテーブルを書いてファイル配置

ルートテーブルを使ったランダム抽選法といっても色んなやり方があると思いますが、今回は「HFC(Hopper from chest)検知法」を使ってやっていきます。適当に名前を付けました^^;

「HFC検知法」とはどんなものかと言うと

ルートテーブルを使って、ランダムで中身が入っているチェストを設置し、それをホッパーに移動させ、そのホッパー内のアイテムが何かを検知し、それに合ったコマンドを実行させる仕組みです!

まずはルートテーブルを用意しましょう。

新規作成からメモ帳を作成して「example.json」のようにJson形式で保存します。

そこにルートテーブルを描いていきますが、メモ帳のままだと編集しづらいので、「sublime text 3」「サクラエディタ」などのテキストエディターを用意しておくといいです。

①例文(5パターンバージョン)

まずは、これをまるまるコピペしちゃってください。

もっとパターンを増やしたい場合は、6行~15行の文を60行と61行の間にどんどん足して、表示名の部分を「{Name:\"6\"}」と変更し、それを7,8,9...のように繰り返して増やしていきます。

今回はスライムボールを使用していますが、何でもいいです。

また「weight」の値は選ばれる比率を表しており、一つだけレア設定にしたいなら、それを「"weight": 1,」にして他4つを「"weight": 2,」にしたら、それぞれ確率は「1/9, 2/9, 2/9, 2/9, 2/9」になります。

出来上がったら、好きな名前「example.json」(.jsonは拡張子)で保存します。

「.minecraft\saves\新規ワールド\data」内に新規フォルダ「loot_tables」を作成。

「loot_tables」の中に新規フォルダ「lottery」を作成。

今作った「lottery」フォルダの中に今回作ったルートテーブルを入れます。

スポンサーリンク

コマンド回路を組み立てる

基本的にはこれだけでできます。

これはさっきGIFで見せたものの回路ですが、これを使って解説していきます。

抽選システム

まず「抽選システム」にコマブロが一個だけありますが、それは、ホッパーの上にのっかっているチェストの中身を更新するコマンドです。

/blockdata チェストの座標 {LootTable:"sumple:lottery"}

sumpleと「lotteryは、先ほど作成したフォルダ等の名前に合わせます。

このチェスト、ルートテーブルが仕込んであります。コマンドが実行されるたびに先ほど作成したルートテーブル通りにアイテムが配置されています。

そのアイテムが即座に下のホッパーに移動します。

抽選の結果

①でホッパー内のアイテムを検知し、②でホッパー内のアイテムをクリア。③以降は実行したいコマンドをつなげていきます。

①リピート 無条件 常時実行

/testforblock ホッパーの座標 hopper 0 {Items:[{id:minecraft:slime_ball,tag:{display:{Name:"1"}}}]}

1」の値は、「2,3,4,5...」のようにパターンごとに変えていきます。

②インパルス 無条件 動力が必要

/blockdata ホッパーの座標 {Items:[{}]}

ホッパー内に入っているアイテムをクリアします。

③チェーン 無条件 常時実行

この部分は、自分で決めます。上のGIFでは下記のコマンドを使用しました。

/tellraw @p {"text":"一等"}

これをパターン分だけ作って、完成です。

この仕組みを使ったガチャシステム

【マイクラ】ガチャガチャワールドつくったよ!|配布ワールド
【マイクラ】ガチャガチャワールドつくったよ!|配布ワールド
ガチャ好きにはちょっとワクワクするワールドを作成したので配布します! 簡単な作り方と、仕組みくらいは解説します! 遊び方 ただただ、ガチャガチャを引くワールド.....

まとめ

これを利用したら、いろんな事が出来るんじゃないでしょうか。ぜひ試してみてね!

最後に、もしどうしても分からないという方がいれば、記事のコメントまたは僕のツイッター(@KzKzKazz)のDMまで来ていただけたらできる範囲で対応しますので、気軽にどうぞ!

スポンサーリンク

オススメ記事

【マイクラ】ゾンビのドロップアイテムを変えてみよう!|loot table(ルートテーブル)
【マイクラ】ゾンビのドロップアイテムを変えてみよう!|loot table(ルートテーブル)
今回は、ルートテーブルの基本をおさえて、実際にゾンビのソースをいじってみたいと思います。 いじるだけじゃゲームに適応されません。ワールドデータに格納する所までやって終わろうと思い...
【マイクラPEも】コマンドブロックの基本的な使い方|コマンド解説シリーズ#2
【マイクラPEも】コマンドブロックの基本的な使い方|コマンド解説シリーズ#2
この記事は結構初心者向けに書いています!コマンド系のシリーズとしてやっていこうと思っているので、徐々に難しくしていく予定です!よければ確認してみてください! →コマンド解説シリー...
【マイクラ】自作リソースパックでテクスチャを書き換えよう!基礎編
【マイクラ】自作リソースパックでテクスチャを書き換えよう!基礎編
リソースパックとは簡単に説明するとテクスチャなどを自分好みに変更するための機能です。今回はそれを簡単に自作する方法を紹介します。 前に説明したことがあるんですが、分かりにくすぎて...
【マイクラ】超シンプルなジャンプ台の作り方!コマンド解説
【マイクラ】超シンプルなジャンプ台の作り方!コマンド解説
今回は、コマンドを使った簡易的なジャンプ台の作り方を解説します! ジャンプ台に乗った瞬間ひゅーんと飛ぶ、無駄なアクションは不要です ※バージョンは1.11を使用しています。 ...