MODの作り方/ディレクトリ構造について

Last-modified: 2021-12-09 (木) 20:30:15

MODフォルダとその構造

フォルダの名前

MODフォルダの名前は{mod-name}_{version-number}か{mod-name}の形でなければならない。zip圧縮したMODファイルの名前は{mod-name}_{version-number}の形のみ可能である。
例 test-mod_0.0.1.
この形でさえあれば付ける名前に制限はない。MODの名前とそのバージョンはinfo.jsonファイルで定義する。

内部ファイル

ロード中に次のファイルが自動で読み込まれる。

  • info.json: 必須。このファイルでMODの名前、バージョン、その他必要事項を定義する。[解説]参照。
  • changelog.txt: MODのバージョン履歴を書く。このファイルは必要な形式に従っていなければならない。
  • thumbnail.png: MODポータルやゲーム内のMODブラウザで表示されるサムネイル。144x144pxが望ましい。
  • settings.lua: MODのオプション設定に使われる。以下の2ファイルも同じ。settings-updates.lua settings-final-fixes.lua
  • data.lua: 起動時に読み込まれ、prototypeの定義に使われる。[解説]参照。以下の2ファイルも同じ用途だが、読み込まれる順番が異なる。data-updates.lua data-final-fixes.lua
  • control.lua: lua-api.factorio.comに解説されているAPIを使うためのファイル。ゲーム中の動作を設定できる。

子フォルダ

  • locale 各言語に対応する子フォルダを持つフォルダ。子フォルダの名前はそれぞれの言語に対応するコード。英語ならen。日本語はja。各子フォルダはその言語の翻訳に使われる、拡張子がcfgのファイルが入っている。[解説]参照。
  • scenarios: MODのシナリオを入れるフォルダ。
  • campaigns: MODのキャンペーンを入れるフォルダ。
  • tutorials: MODのチュートリアルを入れるフォルダ。
  • migrations: ゲームバージョンやMODバージョンが上がったときのprototypeの変更に使う。

構造の例。これはmy-armor-modというMODでバージョンは0.3.6である。

my-armor-mod_0.3.6.zip
|- FolderName/
  |- control.lua
  |- data.lua
  |- info.json
  |- thumbnail.png
  └─locale/
      └─ja/
          └─locale.cfg