概要
進捗を追加する。
※このチュートリアルを見たからと言ってMOD製作の進みが良くなるというわけではありません、そういう進捗ではありません。
(そうだったら良いのに)
前のチュートリアルまで実装している段階でのコードである。
ソースコードはこちら。
ソースコード
残念!ソースコードの追加実装などいらないのだよ!!
またまたjsonのみ。リソースパックと類似のシステムを使用するためこちらもソースコードの追加実装は不要である。
アセット
src/main/resources/assets/aluminiummod/advancements/に配置する
{
{
"display": {
"icon": {
"item": "aluminiummod:aluminium"
},
"title": {
"translate": "advancements.aluminiummod.root.title"
},
"description": {
"translate": "advancements.aluminiummod.root.desc"
},
"background": "aluminiummod:textures/blocks/aluminium_block.png",
"show_toast": false,
"announce_to_chat": false
},
"criteria": {
"takumi": {
"trigger": "minecraft:tick"
}
}
}
- aluminium.json[advancements]
{
"display": {
"icon": {
"item": "aluminiummod:aluminium_block"
},
"title": {
"translate": "advancements.aluminiummod.block.title"
},
"description": {
"translate": "advancements.aluminiummod.block.desc"
}
},
"parent": "aluminiummod:root",
"criteria": {
"creeperbomb": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "aluminiummod:aluminium_block"
}
]
}
}
}
}
(GitHub参照)
解説
rootとそれ以外は基本的に同様の動作を示す。 "parent"要素を追加しないと独自のタブを持つrootとなる。
各々の要素について解説する。
display
icon
アイコンとなるアイテム・ブロックを<MODID>:<レジスター名>で登録する。
なお、メタデータをアイテムに追加する際は次のように記載する。
"要素": {
"item": "minecraft:skull",
"data": 4
}
dataにItemStackのメタデータを登録する。
title,description
langファイルに登録したローカル名を登録する。
parent
rootでない進捗には親となる要素を追加する。<MODID>:<拡張子より前のファイル名>のかたちで書く。
criteria
進捗解除の為の条件を追加する。今回はアイテム入手による解除をした。
解除のための条件名をその下の要素で追加する。
trigger
解除するイベント。アイテム入手の時を指定している。
それ以外のイベント名はMinecraft本体のソースコードを参照されたし。
アイテムのときはその下のconditionsの要素内に入手したアイテムを入力する。
コメント
この項目に関する質問などをどうぞ。
最終更新:2017年10月25日 22:10