間違いなどがあったら指摘していただけるとうれしいです。質問もお待ちしています。
predicate使用のためのコマンド
execute as @a[predicate=predicatetest:locatedindesert] run title @s title "砂漠にいる"
locatedindesert.json
{
"condition": "minecraft:location_check",
"predicate": {
"biome": "minecraft:desert"
}
}
killzombieinnoon.json
{
"display": {
"icon": {
"item": "minecraft:zombie_head"
},
"title": "昼間にゾンビ撃破",
"description": "昼間にゾンビを倒す",
"background": "minecraft:textures/block/dirt.png",
"show_toast": true,
"announce_to_chat": true
},
"criteria": {
"requirement": {
"trigger": "minecraft:player_killed_entity",
"conditions": {
"player": [
{
"condition": "minecraft:time_check",
"value": {
"min": 2000,
"max": 9000
}
}
],
"entity": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"type": "minecraft:zombie"
}
}
]
}
}
}
}
※predicate単独で使いやすいものに関しては太文字にしています
| 選択条件(英語) | 条件や使用場面 |
|---|---|
| all_of | 設定した条件のすべてを満たしたら… |
| any_of | 設定した条件の一つでも満たしたら… |
| block_state_property | advancementやloottableで使用 |
| damage_source_properties | advancementで使用 |
| entity_properties | エンティティに関する条件 |
| entity_score | エンティティのスコアに関する条件 |
| inverted | predicateの条件を反転させる |
| killed_by_player | 殺されたエンティティを間近で見ていたら達成されるらしい |
| location_check | 座標を検知する |
| match_tool | advancementやloottableで使用される |
| random_chance | 一定確率で条件を達成 |
| random_chance_with_looting | ドロップ増加に影響するらしい |
| reference | 別のpredicateファイルを参照する |
| survives_explosion | 爆心からの半径に応じて達成率が変わる |
| table_bonus | エンチャントのレベルに応じた確率で達成されるかどうか決まる |
| time_check | 時間に応じて達成されるか決まる |
| value_check | 特定の数値を調べて、それに応じて達成するかどうか決める |
| weather_check | 天気に応じて達成されるかどうか決まる |
| カスタムできる内容 | 何ができるか |
|---|---|
| icon item | 進捗の真ん中に表示されるアイコンを設定できる。modのアイテムも指定できる? |
| icon NBT | 進捗の真ん中に表示されるアイテムのNBTをいじれる |
| title | 進捗の名前を設定できる |
| description | 進捗の説明を変更できる |
| background | 背景画像を選べる。基本はminecraft:textures直下を選択する。これを背景画像にしたい!というのがあったらコメント欄までお願いします |
| frame | 進捗のランクを設定できる。task:進捗、goal:目標、challenge:挑戦 |
| shot toast | 進捗達成時に、右上に表示させるか選べる |
| announce to chat | 進捗達成時に、チャット欄に表示させるか選べる |
| hidden | 隠し進捗(達成されるまで表示されない進捗)にするかどうか選べる |
| parent advancement | その進捗の前提条件となる進捗(線でつながってる左側にある進捗)を選べる。Jsonファイルを指定する。 |
動画内で何度か紹介した、ファイルの指定について説明します。 動画内では、コマンドの中でlocatedindesert.jsonを指定していますが、もちろんほかのファイルも選択できます。たとえばbbbb.jsonを指定することもできます。 ところが、locatedindesert.jsonはpredicatetest/predicatesの直下にあります。これではpredicatesの直下のファイルしか選択できません。 それ以外のファイルはどうすべきでしょうか?例えば、aaaというフォルダの中のpredicatesの中にtestフォルダを作り、そのなかにsuken.jsonがあったらどうしましょう? それの記述の仕方は、aaa:test/sukenのように表記するのです。まず1つめだけは:(コロン)で表記し、それ以外は/(スラッシュ)で表記します。これのサンプルも、ダウンロードできるようにしておきます。 結構説明が難しかったのでわからない点があればコメントで質問お願いします!