[MC1.12]MOD製作チュートリアル > 進捗の追加

概要

進捗を追加する。
※このチュートリアルを見たからと言ってMOD製作の進みが良くなるというわけではありません、そういう進捗ではありません。(そうだったら良いのに)
前のチュートリアルまで実装している段階でのコードである。
ソースコードはこちら。

ソースコード

残念!ソースコードの追加実装などいらないのだよ!!
またまたjsonのみ。リソースパックと類似のシステムを使用するためこちらもソースコードの追加実装は不要である。

アセット

  • root.json[advancements]
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"
          }
        ]
      }
    }
  }
}
 

  • langファイル
(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