コンテンツにスキップ
Stellaris v3.0 対応 翻訳

建造物のMOD制作

バージョンについて

原文の基本定義は3.0基準ですが、末尾にPhoenix 4.0で必要になった区域・ゾーン移行手順が追記されています。

本ページは建造物と区域のMOD制作を扱います。

概要

建造物には最低2ファイルが必要です。common/buildings内の定義ファイルと、localisation内の言語ファイルです。独自アイコンはgfx/interface/icons/buildingsへ配置できます。区域も似ていますが、惑星画面で積み重ねて表示され、common/districtsに定義します。本ページは主に建造物定義を扱います。

building_sample_monument = {
}

等号の左側が他ファイルから参照する建造物ID、波括弧内が費用・維持費・前提条件などの挙動です。名称と説明は定義に含めず、IDから決まるキーをローカライズファイルで指定します。

building_sample_monument: "Sample Building"
building_sample_monument_desc: "Description of sample building."

詳細はローカライズのMOD制作を参照してください。惑星管理画面は通常、建造物IDと同名の画像をgfx/interface/icons/buildingsから探し、見つからなければエラーログへ記録します。ただし定義でicon属性を設定しなければその画像は使われず、汎用アイコンになります。詳しくはアイコンのMOD制作を参照してください。

データ構造

プロパティ 建造物 区域
base_buildtime = <int> 建設日数。アップグレード先では、その建造物へのアップグレード日数にもなります。 建設日数。
icon = <building_key> 任意。gfx/interface/icons/buildings内の拡張子なしファイル名。省略時は建造物IDと同名のDDSを使います。 同左。
category = <category_key> 建設GUIで絞り込みに使える分類。ゲーム内の表示順でpop_assembly、government、resource、manufacturing、research、trade、amenity、unity、armyの9種類のうち1つを指定します。 使用不可。
capital = <yes/no> 既定no。首都建造物かどうか。yesならadd_to_first_building_slot = yesの要塞よりも前に置かれます。 使用不可。
branch_office_building = <yes/no> 既定no。支社建造物として扱うか。 使用不可。
can_build = <yes/no> 既定yes。建設可能か。首都建造物とアップグレード後の建造物はnoです。 使用不可。
can_demolish = <yes/no> 既定yes。解体可能か。首都建造物はnoです。 使用不可。
can_be_ruined = <yes/no> 既定yes。建造物スロット不足で廃墟化しうるか。 使用不可。
can_be_disabled = <yes/no> 既定yes。手動で無効化できるか。首都建造物はnoです。 使用不可。
planetary_ftl_inhibitor = <yes/no> 既定no。技術研究後に惑星FTL妨害装置になるか。要塞が使用します。 使用不可。
position_priority = <int> 既定200。小さいほど前方のスロットへ配置。同値は建設順。0は首都、100は駐屯地・要塞・惑星シールドジェネレーター・一部の国是/起源建造物です。 使用不可。
base_cap_amount = <int> 既定は上限なし。惑星上の同種建造物上限。 使用不可。
empire_limit = { base = <int> modifier = { add/factor = <int> <trigger> } } 帝国内の同種建造物上限。既定は無制限。係数-1で上限を除去できます。 使用不可。
is_capped_by_modifier = <yes/no> 既定no。上限増加補正を生成します。yesかつbase_cap_amount未指定なら基礎上限0。 既定yes。区域上限増加補正を生成します。
min_for_deposits_on_planet = <int> / max_for_deposits_on_planet = <int> 使用不可。 正確な挙動は不明。銀河生成時に目指す補正適用前の最小・最大区域数らしいものの、実際には尊重されません。バニラの最小は1または3、最大は常に15です。
prerequisites = { "<tech_key>" } 建設前提技術のリスト。 同左。
show_tech_unlock_if = { <conditions> } 偽なら前提技術のツールチップから建造物を隠します。 使用不可。
upgrades = { "<building_key>" } アップグレード先。複数指定可。 使用不可。
potential = { <conditions> } 惑星に建設可能な候補か。偽ならGUIから隠します。 偽ならGUIから隠し、惑星から除去するかconvert_toの区域へ置換します。惑星種別の判定にはis_planet_classではなくuses_district_setを使います。
show_on_uncolonized = { <conditions> } 使用不可。 惑星に所有者がいないときにGUIへ表示する条件。たとえばハイブ意識にはその帝国用の区域(Hive District)、通常帝国には都市区域を表示します。惑星スコープで、FROMは入植候補の帝国です。惑星種別はuses_district_setで判定します。
allow = { <conditions> } 偽ならGUIに無効状態で表示します。hidden_trigger = { OR = { owner = { is_ai = no } <conditions> } }と組み合わせ、AI専用の建設規則も設定できます。 偽なら建設を禁止し、convert_toの区域へ置換します。
abort_trigger = { <conditions> } 真になると建設キューから除去します。 使用不可。
ruined_trigger = { <conditions> } 真になると廃墟化します。 使用不可。
destroy_trigger = { <conditions> } 真になると惑星から除去、またはconvert_toの建造物へ置換します。 使用不可。
conversion_ratio = <float> 使用不可。 置換時の区域数倍率。例として0.5なら10区域が5区域へ変換され、小数は切り捨てます。
convert_to = { <key> } destroy_trigger成立時の置換候補建造物。 potentialまたはallowを満たさない場合の置換候補区域。
planet_modifier = { <modifiers> } 惑星へ適用する補正。 同左。
triggered_planet_modifier = { potential = { <triggers> } <modifiers> } potentialが真のときだけ適用する惑星補正。複数指定可。惑星スコープ。 同左。
country_modifier = { <modifiers> } 帝国へ適用する補正。資源サイロ、使館、支社建造物などが使用します。 使用不可。
triggered_country_modifier = { potential = { <triggers> } <modifiers> } potentialが真のときだけ適用する帝国補正。複数指定可。惑星スコープ。 使用不可。
resources = { <economy_unit> } カテゴリ、建設費、維持費、生産を定める経済単位。 同左。
triggered_desc = { trigger = <conditions> text = "<localisation_key>" } 追加ツールチップ。バニラでは全職業が埋まったときの総生産を要約する職業説明に使います。triggerは任意(既定は真)の惑星スコープ条件、textはローカライズキー。職業説明は通常job_<job_key>_effect_desc形式(例: job_culture_worker_effect_desc)です。複数指定可。 同左。
on_queued = { <effects> } 建設キュー追加時の効果。アップグレードとして追加された場合は不適用。惑星スコープ。 同左。
on_unqueued = { <effects> } 建設キューから除去されたときの効果。アップグレードの場合は不適用。惑星スコープ。 同左。
on_built = { <effects> } 完成時の効果。惑星スコープ。 同左。
on_destroy = { <effects> } 破壊・解体時の効果。惑星スコープ。 同左。
ai_weight = { factor/weight = <int> modifier = { factor/weight = <float> <conditions> } } AIが建設する可能性。複数補正可。2.6以降、AIに他の経済計画がない場合のみ使われ、バニラでは支社建造物だけが使用します。 同左。
ai_resource_production = { <resource_key> = <int> trigger = { <conditions> } } AIが生産可能と評価する資源。複数指定可。 同左。

バニラの建造物と区域は通常、資源を直接生産せず職業を提供します。

自動生成される補正

is_capped_by_modifierを使う建造物・区域には次の補正が生成されます。

  • <building_or_district_key>_max_add = <int> — 惑星上の同種建造物/区域の最大数を増加します。

例

費用・維持費・生産

次の建造物は鉱物100・エネルギー100を費やし、240日で完成します。完成後は毎月エネルギー2を維持費として消費し、食料4と鉱物2を生産します。合金、消費財、影響力、出土品、研究、戦略資源、統合力なども使えますが、生産倍率ではなく固定値で指定します。

building_sample = {
    base_buildtime = 240
    resources = {
        category = planet_buildings
        cost = { minerals = 100 energy = 100 }
        upkeep = { energy = 2 }
        produces = { food = 4 minerals = 2 }
    }
}

条件付き維持費・生産

upkeepとproducesには条件付きブロックも記述できます。宣言した各資源について従来値を置き換えますが、ブロック内にない資源は変わりません。まず無条件の基礎維持費を定義するのが適切です。

building_sample = {
    base_buildtime = 240
    resources = {
        category = planet_buildings
        cost = { minerals = 100 energy = 100 }
        upkeep = { energy = 2 }
        upkeep = {
            trigger = { num_districts = { type = district_farming value >= 2 } }
            energy = 4
            minerals = 1
        }
        produces = { food = 4 minerals = 2 }
        produces = {
            trigger = { num_districts = { type = district_farming value >= 2 } }
            food = 8
        }
    }
}

職業を介した資源生産

多くの建造物は資源を直接生産せず、惑星の職業数を増やします。無条件ならplanet_modifierを使えますが、通常帝国・ハイブ・機械などで職業が異なるため、triggered_planet_modifierが適しています。すべてのブロックが検査され、breakで後続検査を止めることはできません。

building_sample = {
    base_buildtime = 240
    resources = {
        category = planet_buildings
        cost = { minerals = 100 energy = 100 }
        upkeep = { energy = 2 }
    }
    triggered_planet_modifier = {
        potential = { exists = owner owner = { is_regular_empire = yes } }
        modifier = { job_farmer_add = 2 }
    }
    triggered_planet_modifier = {
        potential = { exists = owner owner = { is_gestalt = yes } }
        modifier = { job_agri_drone_add = 2 }
    }
}

成長速度や志向魅力なども補正できます。帝国全体へ適用する場合はcountry_modifierまたはtriggered_country_modifierを使います。 その他の補正は補正一覧を参照してください。

アップグレード

改善版へのアップグレードには追加の建造物定義が必要です。通常は元の定義を複製してID末尾に番号を付けます。アップグレード版を通常の建設候補から隠すにはcan_build = noを指定します。元建造物のupgradesへ次段階のIDを追加し、次段階側の建設時間と費用がアップグレード時間・費用になります。

building_sample_1 = {
    base_buildtime = 240
    resources = {
        category = planet_buildings
        cost = { minerals = 100 energy = 100 }
        upkeep = { energy = 2 }
    }
    upgrades = { building_sample_2 }
    triggered_planet_modifier = {
        potential = { exists = owner owner = { is_regular_empire = yes } }
        modifier = { job_farmer_add = 2 }
    }
    triggered_planet_modifier = {
        potential = { exists = owner owner = { is_gestalt = yes } }
        modifier = { job_agri_drone_add = 2 }
    }
}

building_sample_2 = {
    base_buildtime = 240
    can_build = no
    resources = {
        category = planet_buildings
        cost = { minerals = 100 energy = 100 }
        upkeep = { energy = 3 }
    }
    triggered_planet_modifier = {
        potential = { exists = owner owner = { is_regular_empire = yes } }
        modifier = { job_farmer_add = 3 }
    }
    triggered_planet_modifier = {
        potential = { exists = owner owner = { is_gestalt = yes } }
        modifier = { job_agri_drone_add = 3 }
    }
}

バニラでは使われませんが、複数のアップグレード先も指定できます。その場合、黄色いアップグレードアイコンから候補パネルが開きます。アップグレード可能な全段階へbase_cap_amountを設定してはいけません。最初の段階だけに設定すれば後段へ引き継がれます。

Phoenix 4.0の区域・ゾーンスロット・ゾーン

Phoenix 4.0は区域へゾーンスロットとゾーン(区域特化)を追加し、3.14にはなかった主要区域を導入しました。ゾーンスロットは区域に建設できるゾーンを指定します。たとえば都市区域のslot_city_governmentは、6建造物スロットと複数種の建造物を許可するzone_defaultを受け入れます。

詳細は区域のMOD制作およびcommon/zones/99_HOW_TO_ZONE.txtを参照してください。

3.xから4.0への移行

独自区域がある場合は次を行います。

  1. 各区域セットの主要区域を決め、その区域へdefault_starting_district = yesを追加します。
  2. 独自の主要区域にslot_city_government、slot_city_01、slot_city_02、または独自版の3スロットを持たせます。
  3. すべての区域へゾーンスロットを指定します。
  4. 区域セット内の区域を5種類から4種類へ減らします。バニラが都市区域を主要区域とし、主要区域を変更するゾーンから合金生産職を与える構成などを参考にします。
  5. 4.0ではすべての建造物に建造物セットが必要です。バニラのセットまたは独自名のセットへ整理します。

バニラ区域を直接変更していたMODでは、ゾーンとゾーンスロット側の変更も検討してください。この領域のMOD間互換性は、原文執筆時点で既知の課題です。


出典: Stellaris Wiki — Building modding(原文更新日: 2025年6月17日、版ID 107479)
翻訳日: 2026年9月18日 / 対応バージョン: 3.0(Phoenix 4.0移行情報を含む)
本ページは原文Wiki(CC BY-SA 3.0)の内容を翻訳した非公式ファン翻訳です。