#author("2021-07-29T21:14:56+09:00","","")
#author("2021-07-29T21:15:55+09:00","","")
// ▼このページのdescriptionとKeywordです
#description(Going MediavalのProduction.jsonの編集方法についてまとめております。)
#keywords(Production.json,json編集,going medieval,ゴーイングメディーバル,日本語,ストラテジー,サバイバル,攻略)
#sitemap(0.8)
// ▲ここまで
// ▼ここから本文
///------------------------------------------------------------------------------
*Production.jsonの編集方法について [#about]
///------------------------------------------------------------------------------
~Production.jsonを編集する事で、生産品のレシピや対応ジョブ、対応設備、生産のスピードの編集をすることができます。

#contents

///------------------------------------------------------------------------------
**ファイルの場所 [#FileLocation]
///------------------------------------------------------------------------------
#code(php,menu,outline,icon,literal,nonumber){{
C:\Program Files(x86)\Steam\steamapps\common\Going Medieval\Going Medieval_Data\StreamingAssets\Resources\Production.json
}}

///------------------------------------------------------------------------------
**ファイルの説明 [#explanation]
///------------------------------------------------------------------------------
~Production.jsonで使用されている各種パラメータの説明になります。
注意点として、各値に整数を設定する場合は小数点を付けないようにしてください。
例)OK=1、NG=1.0

:productionId|
生産品の名称になります。多くの場合、その資源の英語表記が使われていますので、テキストエディタの検索機能などを利用して目的の資源を参照してください。
&color(red){&size(10){※こちらの値はゲーム固有の値となりますので、絶対に変更しないでください。};};

:interruptible|
生産に際して、一番最初に対応した人以外の住民が割り込んで作業できるかどうかを判断します。trueはOK、falseはNGになります。

:jobType|
生産できるジョブの種類になります。

:autoSpawn|
詳細は不明ですが、名称から推測すると生産を行った際に、自動的に生産品が地面へ置かれるかどうかの判定になるかと思われます。
※通常、生産が完了すると生産品が設備の周りに置かれます。

:passive|
詳細は不明です。

:produced|
生産する生産品をすることができます。
※副産物など、複数の生産品を指定することもできます。

:recipe|
生産品のレシピを設定することができます。

:productionSteps|
生産品をどの施設で生産するのか、また生産スピードや必要スキルなどを設定することができます。

///------------------------------------------------------------------------------
**目的別の編集例 [#edit]
///------------------------------------------------------------------------------
~生産品のレシピの編集方法を記載します。

///------------------------------------------------------------------------------
***生産品のレシピを変更する [#edit1]
~生産品のレシピを変更してみます。

:「豪華な料理」の例|
通常ですと豪華な料理は、[[料理の具材]](id=128)が12個、薬草(id=herbs)が1個、燃料(id=131072)が1個必要になります。
#code(php,menu,outline,icon,literal,number,1006...){{
      "recipe": [
        {
          "id": 128, //料理の具材
          "value": 12
        },
        {
          "id": "herbs", //薬草
          "value": 1
        },
        {
          "id": 131072, //燃料
          "value": 1
        }
      ],
}}
これを、料理の具材(id=128)が10個、薬草(id=herbs)は不要、燃料(id=131072)が1個必要という条件に変更してみます。
#code(php,menu,outline,icon,literal,number,1006...){{
      "recipe": [
        {
          "id": 128, //料理の具材
          "value": 10
        },
        {
          "id": 131072, //燃料
          "value": 1
        }
      ],
}}
///------------------------------------------------------------------------------
***死体の準備・焼却時間を編集し骨を減らす [#edit2]
~死体の準備・焼却時間を増減します。死体が増えると腐食や腐敗が進行し、骨が大量に発生してしまう問題がありますが、死体の準備・焼却時間を減らし迅速に死体を減らすことで骨の大量発生を抑制します。

:死体の準備時間を減らす例|
burn_body内のpreparingCarcass(1633行目):通常productionTimeは、5に設定されていますがこれを変更します。値が低いほど早く準備します。
#code(php,menu,outline,icon,literal,number,1633...){{
          "name": "preparingCarcass",
          "productionTime": 5, //ここの値を変更します。
}}

:死体の焼却時間を減らす例|
burn_body内のburningCarcass(1645行目):通常productionTimeは、300に設定されていますがこれを変更します。値が低いほど早く焼却されます。
#code(php,menu,outline,icon,literal,number,1645...){{
          "name": "burningCarcass",
          "productionTime": 300 //ここの値を変更します。
}}

///------------------------------------------------------------------------------
***各設備での生産速度を変更する(設備側) [#edit3]
~住民が各設備で生産をする速度を変更します。Production.jsonは、設備にかかわる情報のみ変更可能です。住民自体の速度変更に関しては、[[Attributes.json]]のページを参照してください。

:例)石灰石ブロックの製作速度を変更する|
#code(php,menu,outline,icon,literal,number,21...){{
      "productionSteps": [
        {
          "name": "cuttingStone",
          "productionTime": 15, //ここの値を変更
}}
~製作速度ですので値が0に近いほど早く製作されます。
&color(red){ただし、整数の場合は、小数点はつけないでください。バグります。};

///------------------------------------------------------------------------------
***生産量を変更する [#edit4]
~各設備で生産される生産量を変更します。

:例)石灰石ブロックの生産量を変更する|
#code(php,menu,outline,icon,literal,number,9...){{
      "produced": [
        {
          "blueprintID": "limestone_block",
          "amount": 20 //ここの値を変更
}}
&color(red){整数の場合は、小数点はつけないでください。バグります。};

///------------------------------------------------------------------------------
***邪魔な灰を焼却するレシピを作りたい [#edit5]
~どんどん溜まっていく灰ですが、これを焼却するレシピを作ります。これを行うには、本ページで紹介しているProduction.jsonと、[[ProductionBuildings.json]]の編集が必要になります。

~今回は''まきの山''の設備を使って灰を焼却したいと思います。まずは、Production.jsonを開き、まきの山を設定している箇所を探します。

:参考にする「まきの山」の設定(Production.json)|
#code(php,menu,outline,icon,literal,number,1606...){{
    {
      "productionId": "burn_body", //まきの山
      "interruptible": true,
      "ignoreProductionModeUI": [
        2
      ],
      "jobType": 1,
      "autoSpawn": true,
      "passive": false,
      "produced": [ //何を作るのか
        {
          "blueprintID": "ash", //灰の生産
          "amount": 250 //灰の生産量
        }
      ],
      "recipe": [ //レシピの設定
        {
          "id": 8192, //死体
          "value": 1 //死体の必要量
        },
        {
          "id": 131072, //燃料
          "value": 10 //燃料の量
        }
      ],
      "productionSteps": [
        {
          "name": "preparingCarcass",
          "productionTime": 5, //準備時間
          "producer": {
            "requiredSkills": [
              {
                "key": 8, //必要スキル
                "value": 0 //必要スキルのレベル
              }
            ]
          }
        },
        {
          "name": "burningCarcass",
          "productionTime": 300 //焼却時間
        }
      ]
    },
}}

~これをまるごとコピーし次の行へペーストします。次に、ペーストした方の情報を灰を焼却するように書き換えます。
&color(red){灰の生産量は、最小 1にしましょう。0にすると、運搬できない0スタックというスタックの山ができあがってしまいます。};

:「灰を焼却する」レシピとして編集(Production.json)|
#code(php,menu,outline,icon,literal,number,1650...){{
    {
      "productionId": "burn_ash", //他のIDと被らないように変更
      "interruptible": true,
      "ignoreProductionModeUI": [
        2
      ],
      "jobType": 1,
      "autoSpawn": true,
      "passive": false,
      "produced": [ //何を作るのか。
        {
          "blueprintID": "ash", //灰の生産 
          "amount": 1 //灰の生産量を1にする ※0にすると0スタックという謎のスタックができあがるので注意
        }
      ],
      "recipe": [ //レシピの設定
        {
          "id": "ash", //灰に変更
          "value": 100 //必要になる灰の量。数は各自調整してください
        } //燃料の部分を削除
      ],
      "productionSteps": [
        {
          "name": "preparingCarcass",
          "productionTime": 1, //準備時間を1へ変更
          "producer": {
            "requiredSkills": [
              {
                "key": 8, //必要スキル
                "value": 0 //必要スキルのレベル
              }
            ]
          }
        },
        {
          "name": "burningCarcass",
          "productionTime": 1 //焼却時間を1へ変更
        }
      ]
    },
}}

~以上でレシピの設定は完了となります。次に、生産する設備の設定になります。[[ProductionBuildings.json]]を開いてください。

:まきの山の設備の設定箇所へ移動(ProductionBuildings.json)|
#code(php,menu,outline,icon,literal,number,1747...){{
      "id": "pyre", //まきの山の設備
//中略
      "productions": [ //まきの山に設定されているレシピ
        "burn_body" //死体を焼却するレシピ
      ]
    }
  ]
}
}}

~死体を焼却するレシピの下に、先ほど追加した灰を焼却するレシピを設定します。

:まきの山の設備に「灰を焼却する」レシピを設定(ProductionBuildings.json)|
#code(php,menu,outline,icon,literal,number,1747...){{
      "id": "pyre", //まきの山の設備
//中略
      "productions": [ //まきの山に設定されているレシピ
        "burn_body", //カンマ「,」を忘れない
        "burn_ash" //灰を焼却するレシピを設定
      ]
    }
  ]
}
}}

~これで完成となります。

~実際のプレイ画面上では以下のように表示されます。新しいレシピ「灰を焼却する」用の画像がないため何やら袋のような画像が用意されているようです。またテキストも存在しないため変数名が表示されています。
:設備を開いた時の画像|
&ref(new_recipe1.png,nolink,設備を開いた時);
:レシピを開いた時の画像|
&ref(new_recipe2.png,nolink,レシピを開いた時);


~ここまでは、灰を1生産する方法を説明しましたが、そもそも何も生産しない方法もあります。次の通りです。

:「灰を焼却する」レシピとして編集(Production.json)|
:「灰を焼却する」レシピ(完全焼却)として編集(Production.json)|
#code(php,menu,outline,icon,literal,number,1650...){{
    {
      "productionId": "burn_ash", //他のIDと被らないように変更
      "interruptible": true,
      "ignoreProductionModeUI": [
        2
      ],
      "jobType": 1,
      "autoSpawn": true,
      "passive": false,          //この次の行にあった produced を削除
      "recipe": [ //レシピの設定
        {
          "id": "ash", //灰に変更
          "value": 100 //必要になる灰の量。数は各自調整してください
        } //燃料の部分を削除
      ],
      "productionSteps": [
        {
          "name": "preparingCarcass",
          "productionTime": 1, //準備時間を1へ変更
          "producer": {
            "requiredSkills": [
              {
                "key": 8, //必要スキル
                "value": 0 //必要スキルのレベル
              }
            ]
          }
        },
        {
          "name": "burningCarcass",
          "productionTime": 1 //焼却時間を1へ変更
        }
      ]
    },
}}
///------------------------------------------------------------------------------
~このように、producedを根こそぎ取り払うこともできますが、この場合上記2枚目の画像にある「生産された資源」の箇所が変数表示となります。

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS