労働掲示板
掲示板の遊び方はお仕事を見てください。データパックで掲示板に関係するファイルは3種類あります。labor_board/levels.json がレベル、pet_task/ がお仕事カードの種類、loot_table/pet_task/ がお仕事カードを終えたときの報酬を決めます。
レベル
labor_board/levels.json は、掲示板が何レベルまであるか、各レベルで1日に何枚カードを貼るか、そのレベルに上げるのにいくらかかるかを決めます。
{
"levels": [
{ "slips": 3 },
{ "slips": 4, "price": 16 },
{ "slips": 5, "price": 32 }
]
}レベル1は掲示板を置いたばかりの状態なので、価格は書きません。レベルはもっと増やせて、各レベルで貼れるカードは最大31枚です。このファイルはひとつだけなので、変えるときはまるごと置き換えます。
お仕事カード
pet_task/ の下のファイル1つが、お仕事カード1種類です。MODには草むしり、上級草むしり、近接討伐、遠距離討伐、路上演奏の5種類が入っています。上級草むしりを例に見てみましょう。
{
"capability": "chiikawa:farmer",
"counter": "chiikawa:weed",
"icon": "minecraft:tall_grass",
"amount": { "type": "minecraft:uniform", "min_inclusive": 16, "max_inclusive": 32 },
"reward": "chiikawa:pet_task/advanced_weeding",
"weight": 2,
"min_level": 2,
"requires": { "qualification": "chiikawa:weeding", "min_rank": 3 }
}| フィールド | 意味 |
|---|---|
capability | どの職業が受けられるか。chiikawa:farmer、chiikawa:fencer、chiikawa:archer、chiikawa:musician |
counter | 何をすると進むか。下を見てください |
icon | 掲示板や画面に描かれるアイコン |
amount | どれだけやるか。固定の数でも、バニラの乱数の書き方でもOK |
reward | 終わったら何をもらえるか。ルートテーブルを指定します |
weight | 省略可。カードを貼るときに選ばれる重み。デフォルトは1 |
min_level | 省略可。掲示板が何レベルになったらこのカードを貼るか。デフォルトは1 |
requires | 省略可。受けるのにどの検定の何級以上が必要か |
counter は4種類あります。chiikawa:weed は雑草を1本むしる、chiikawa:pick_mushroom はキノコを1個採る、chiikawa:slay は敵対モブを1体倒す、chiikawa:play_music_second は1秒演奏する、です。
requires の min_rank は原作どおりの級で書きます。5がいちばん下の5級、1がいちばん上の1級で、3と書けば3級以上を持っている子が受けられます。
MOD標準のカードではキノコ採りを使っていないので、ちょうどいい例になります。自分の名前空間に data/my_pack/pet_task/mushroom_picking.json を新しく作ります。
{
"capability": "chiikawa:farmer",
"counter": "chiikawa:pick_mushroom",
"icon": "minecraft:red_mushroom",
"amount": { "type": "minecraft:uniform", "min_inclusive": 4, "max_inclusive": 8 },
"reward": "my_pack:pet_task/mushroom_picking"
}さらに報酬として data/my_pack/loot_table/pet_task/mushroom_picking.json を書けば、掲示板にキノコ採りカードが貼られるようになります。画面に出るカード名と進み具合はリソースパックの言語ファイルから来ていて、キーは pet_task.my_pack.mushroom_picking と pet_task.my_pack.mushroom_picking.amount です。後者は キノコを%s個採った のように書くと、%s がやる量に置き換わります。
報酬
報酬はバニラのルートテーブルで、loot_table/pet_task/ に置きます。出たものはそのままなかまの持ち物に入ります。お金を出すときはエメラルドを直接書かずに chiikawa:currency タグを書きましょう。そうすれば通貨を変えても報酬を書き換えずに済みます。
MODはルート条件 chiikawa:qualification も追加しています。なかまが持っている検定によって、そのプールを出すかどうかを決める条件です。草むしりカードがまさにこれで、5級を持っている子にはエメラルドを1個多く、4級ならさらに1個、と1級まで続きます。
{
"rolls": 1,
"conditions": [
{ "condition": "chiikawa:qualification", "qualification": "chiikawa:weeding", "min_rank": 3 }
],
"entries": [
{ "type": "minecraft:tag", "name": "chiikawa:currency", "expand": true }
]
}