内容をスキップ

配布ワールド制作を変える。Advancements(進捗)自作完全ガイド #0 ~プロローグ~【Minecraft】

UPDATE :
Advancementsプロローグ

Minecraft バージョン1.12の最大の新要素、これまでの「実績」に代わる「Advancements(進捗)」。実績と同じように、ゲームを進めて目標を達成していく… のですが、大きく進化した点があります。
それは、Advancementsを自分で自由に作れるという点です。
編集するだけではありません。いくらでも追加でき、自分だけの進捗タブやツリーを作って、自分だけのクリア条件、自分だけのクリア報酬を設定できるのです。
1.12の「ファンクション」システムと組み合わせれば、配布ワールド制作に大いに役立つでしょう。

Advancementsの自作は非常に奥が深いので、記事は複数に分けて投稿します。#0の今回は、
そもそもAdvancementsってどんなシステム? 配布ワールド制作にどう役立つの?
という皆さんの疑問を解決します。

#1 タブやツリーの作成と表示設定 >>

※この記事の内容は2024年2月4日現在最新の「1.12-pre4」に準拠しています。今後仕様が変わる可能性もありますのでご注意下さい。

そもそもAdvancementsってどんなシステム? 何ができるの?

とは

バージョン1.12の新要素、「Advancements(進捗、進歩)」とはどんなシステムなんでしょうか。

 

実績と違ってタブで分かれており、途中から解除もできる

場所はどこ

1.12(のSnapShot)でゲームメニューを開くと、これまで実績があった場所に「Advancements」があります。クリックしてみましょう。

なんもない

何もありません。「実績」の場合はやるべき事が書かれていたのに…どうすればいいんでしょう?

とりあえず木を伐って作業台を作ってみて下さい。すると進捗の画面が更新され、「Minecraft」という名前の進捗を解除できます。

Adventure達成

エンティティ(Mobなどのブロックじゃない物体のこと)を倒したり、倒されたりしてみましょう。すると進捗画面に「Adventure」というタブが追加され、同時に「Adventure」という進捗が解除できます。
進捗はカテゴリごとに分類されており、それぞれのタブの最初の進捗の名前はタブ名と共通なのです。

途中からでも

Advancementsの特徴は、タブに分かれていることだけではありません。実績と違って、“前の進捗”を無視して途中からでも解除可能なのです。

いきなり解除

例えば、運良く宝箱からいきなりダイヤの装備品を入手したとします。するとAdventureタブの「Cover Me With Diamonds」が、前の進捗をガン無視して解除可能なんです!
しかもこれ、解除する進捗のタブが表示されていない状態でもいきなり解除可能なんです。実績は順番が正直面倒臭かったですからね。嬉しい!

 

自作すればこんなことができる!

こいつら全部

そして進捗システムの最大の特徴…それは全てがJSON文書でできているという点です! つまりは自分で自由に編集し、追加できるということ! これからの配布ワールド作成に大きく関わるシステムなんです。

こんな感じで自作

例えばこんな感じで、新しいタブを追加し、その中にオリジナルの”進捗ツリー”を構築できるんです。背景やアイコン、それぞれの進捗のタイプや名前などを何でも自由に設定可能。ワクワクするでしょ?

トリガーたち

カスタマイズできるのは見た目だけではありません。それぞれの進捗を解除する色々な「トリガー(trigger)」を選んで設定できます。一つの進捗に複数のトリガーを設定することも可能。

コンディションたち

トリガーには、それぞれ複数の「コンディション(conditions)」を設定できます。例えばトリガーが「placed_block(ブロックを置いた)」なら、「どのブロックを置いたのか」の条件を設定するのがコンディションです。LootTableの書き方を知っている方ならすんなり分かる仕組みですね。

 

リワード(報酬)としてコマンドを実行できる→コマンドブロックの代わりになる!

リワードとは

進捗を自作してもおまけ要素になるだけだよね? ― いえいえ、進捗システムはワールド制作における革命です。
なぜなら、進捗を達成した報酬として”複数のコマンドを実行”できてしまうのです! つまりコマンドブロックの塊をJSONファイルに置き換えられるということ!

ゾンビを爆発で倒すと

例えばこちらのJSON文書は、「ゾンビを爆発で倒す」進捗を設定したものです。リワードに「ダイヤをgiveする」「この進捗を非達成状態にする」コマンドを書いたファンクションのテキストファイルの場所を指定しているので、ゾンビを爆発で倒す度にダイヤモンドが与えられるわけです。配布ワールドに使えそうでしょ?

「ファンクション」システムの解説
function解説
https://mcthnk.com/pc-112-functions-guide/

これから解説していきます

ということで、この「Advancements(進捗)の自作完全ガイド」シリーズの記事では「配布ワールド制作に役立つ」Advancementsの作り方を解説していきます。次回は自作の基本、書くためのツールや保存場所、タブとツリーの作り方を解説します。

#1 タブやツリーの作成と表示設定 >>

ポスト
マイクラ思考編集部
YouTubeでマインクラフトの役立つ動画を投稿しています。クロスマルチプレイ対応のマイクラサーバー「くろまる」も運営中!

18件のコメント

  1. yu_sukeGO_256
    2017年5月6日
    おおお!ついに実績編集追加ですね!!配布ワールドで活用できそうです!
  2. ookiikuma
    2017年5月6日
    常時実行コマンドをAdvancementで実行する場合はトリガーにarbitrary_player_tickを使ったほうがトリガーがtickの時よりコマンド実行数減りますよ(てか画像の例だとマルチプレイ時に5秒じゃなくて2.5秒とかになりますしお寿司)
  3. 2017年5月6日
    知りませんでした><教えて下さりありがとうございます
  4. green bear
    2017年5月7日
    報告 1.11のreplayMODはoptifineと共存できましたよ! それと1.11の解説もしてくれるとありがたいです
  5. 河城翔(anatawa12)
    2017年5月7日
    1.12の正式版が出てからでも、「Advancements for 1.7.10」とかっていうmodが欲しい
  6. でんでん (Minecraft ID:denden0816)
    2017年5月7日
    実績→進捗
  7. RikuS3n
    2017年5月13日
    無理に1.7.10を使う必要はないと思うのですが...
  8. アヌビス
    2017年5月13日
    さんのコマンド力で配布ワールド作って配布して欲しいですヽ(*´∀`)ノ
  9. ookiikuma
    2017年5月14日
    1.12-pre2でarbitrary_player_tick廃止になってgameruleで常時実行できるようになりましたという報告?のような
  10. 神風紅茶
    2017年5月14日
    そうなのかすげぇぇぇえ! jsonだけ配布とかもできるのか
  11. xyz
    2017年5月14日
    とかって書いてあるからバージョンに拘ってるんじゃないと思いますよ
  12. reef8190
    2017年5月14日
    進捗どうですか?
  13. Garixy
    2017年5月16日
    僕たちで作るっていうのはどうですか!!
  14. アヌビス
    2017年5月21日
    じゃツイッター教えてくださいww☚(技術力0の人間)
  15. らっきー
    2017年5月24日
    advancementのrewardにfunctionを設定した場合、基本的には機能するのですが、@sや@pのセレクタを含ませた場合、機能しません。 @sを使用するexecuteコマンドをrewardに使いたいのですが、何か解決策はありますでしょうか?
  16. らっき
    2017年5月25日
    すみません、これはマイクラ自身の問題ではありませんでした。
  17. 河城翔(anatawa12)
    2017年6月12日
    1.7.10でmoddingとかmod入れて遊んでいるのでバージョンアップせずに新機能が欲しいのです。
  18. RikuS3n
    2017年7月16日
    1.7.10限定でバージョンアップ(1.8などにせずに)1.8以降にある要素を追加するModがほしいということじゃないですか?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です