【V3.0】Config XML の主な変更点 ― v2.6からのMOD移行ガイド

V3.0「Dead Hot Summer」は、見た目の新要素以上に MOD制作者にとって影響の大きいアップデートです。Data/Config 配下のバニラXMLが広範に作り直され、v2.6 向けに書いた xpath パッチの多くがそのままでは空振り(無反映)になります。クラッシュではなく「静かに効かなくなる」ケースが多いので、移行時は実験版で早めの動作確認をおすすめします。

この記事は、v2.6 → V3.0 の Data/Config 差分を実機適用直後に調査し、MOD移行で押さえるべき変更点をファイル別にまとめたものです。

全体像:v2.6 の 57ファイル → V3.0 は60ファイルリネーム7・新規3・内容変更45。下記はそのうち影響の大きいものを抜粋しています。

🔴 最優先:XUi フレームワークの大刷新

UI(XUi)系MODはほぼ確実に書き換えが必要です。クライアント参加(join)に直結するため最優先で対応してください。

  • フォルダ名 XUiXUi_InGame にリネーム。MOD側のパッチも Config/XUi/...Config/XUi_InGame/... へ移す必要があります。旧パスのままだとマージ先が無く、UI改変がまるごと無効化されます。
  • controls.xmltemplates.xml にリネーム(ルート要素 <controls><templates>)。/controls/... を指す xpath は /templates/... へ。
  • <ruleset> 階層を撤去window_group などが <xui> 直下へ移動。/xui/ruleset/.../xui/... に書き換え。
  • panelrect への大量置換。windows.xml だけで約260行の <panel><rect> 化=事実上 panel を全廃。経路に panel を含む xpath は不一致になります。disableautobackground 属性も多くが消滅。
  • anchor 値の命名統合(縦横の順序を統一し、Center 語を省略):
    • LeftBottomBottomLeft / RightBottomBottomRight / LeftTopTopLeft / RightTopTopRight
    • CenterTopTop / CenterBottomBottom / RightCenterRight / CenterCenterCenter
  • filledspritesprite type="filled" fillspritepad="true"。塗りバー(ステータスバー等)は通常の sprite に統合。
  • globalopacity="true/false"globalopacitymod="0"(意味も変化)。
  • バインディングの {値|once} サフィックス除去{staticonatlas|once}{staticonatlas} など。新バインディングシステム)。
  • 新ビュー video / scrollbar / scrollview を追加。force_hide 属性は廃止され、表示制御は通常の visible に一本化。可能な限り panel より rect 推奨

注意:panel → rect 化に伴い、別ファイル/別MODで append している同名 rect がバニラ rect と衝突しやすくなります。同名要素の重複は join 時の不具合の原因になるため、移行後に横断チェックを。

🔴 entitygroups.xml が正式XML要素に

旧テキスト形式 zombieBiker, .3 が、正式なXML要素 <e n="zombieBiker" p=".3" /> に戻りました(従来形式も当面は後方互換でサポート)。テキスト形式の構造を前提に xpath していると破綻するため、<entitygroup> 配下を要素単位で扱うよう書き換えます。

🔴 blocks.xml:専用クラス → CompositeTileEntity 統合

V3.0 最大の構造変更ファイル。多数の専用C#ブロッククラスが、*Class="CompositeTileEntity" +入れ子の `<property class=”TEFeature“>`** という合成フィーチャ方式へ統合されました。

  • 廃止クラス値:Loot / SecureLoot / QuestLoot / LandClaim / PlayerSign / DoorSecure / DrawBridge / CarExplode(系)など。
  • ふるまいは入れ子フィーチャで表現:ストレージ/ルート=TEFeatureStorageLootList を内包)、施錠=TEFeatureLockable、ドア=TEFeatureDoor、看板=TEFeatureSignable、土地保護=TEFeatureLandClaim、新規に TEFeaturePickup / TEFeatureCombine(コンバインステーション等)。
  • DamageBonus.head のようなドット区切りプロパティ → 入れ子 <property class="..."> 子要素へ再構成。Map.ColorMapColor などの改名も。

コンテナ・土地保護・作物・装備ボーナス系のブロックを触るMODは広範に影響を受けます。

🟠 entityclasses.xml / progression.xml:ルートと頭部ダメージ

  • LootListAlive / LootListOnDeathLootList に統合。死亡時/生存時のルートを別指定していたMODは要見直し。
  • 頭部ダメージの passive_effect 改名DamageModifier(head 指定)→ HeadshotDamageModifier。entityclasses・progression の両方に波及。
  • progression:罠スキルの上限が max 75 → 100 に。

🟠 items.xml / item_modifiers.xml:マグニチュードと技術ティア

  • アイテム・マグニチュード(オレンジ星)が新規 <stats><stat> ブロックとして多数の武器/道具に追加。書式は quality, lootstage, random chance, min, max(例:<stat name="EntityDamage" value="6,16,.3,.1,.5"/>)。MOD品質1-6 と二重に品質依存で乗るため、装備の数値を改変するMODは効果の重なりに注意。
  • 技術ティアタグ T0/T1Tags 先頭に追加され、新プロパティ PreviousTechItem が登場(コンバインステーションでの下位→上位連結に使用)。Tags を set/replace するMODは新タグを潰さないよう注意。
  • ToolCategory がドット記法 → クラス入れ子に:ToolCategory.Butcher<property class="ToolCategory"><property name="Butcher" .../></property>。旧ドット記法を狙う xpath は空振りします。

🟠 loot.xml / recipes.xml / traders.xml

  • loot:全コンテナから ignore_loot_abundance が撤去され abundance_type が付与。品質テンプレート名(q6Template 等)が統合・改名。名指し依存の xpath は要確認。
  • recipes:フォージ製錬がサンドボックス化し(use_smelter / replace_smelter)、同名レシピが二重化する場面あり。同名レシピを狙う xpath の当たり割れ・tags 上書きの副作用に注意。
  • traders:品質指定が 1,51,6 に、qualityItems 新設、一部トレーダーに is_vending1,5 の文字列前提セレクタは見直しを。

🟡 Localization:.txt → .csv + KeepLoaded 列

  • バニラの正本が Localization.txtLocalization.csv にリネーム。
  • ヘッダに KeepLoadedNoTranslateenglish の間に1列追加され、english 以降の全言語カラムが1列ずつ右へシフト
  • CSVの区切り/引用符仕様(カンマ区切り・, を含む値は " で囲む・色マークアップ [DECEA3]...[-])は従来から不変
  • MOD側の独自 Localization.txt(最小 Key,English,Japanese ヘッダ等)は列名駆動で読まれるため列追加の直接影響は受けない見込みですが、.txt 拡張子が V3.0 のMODローダーで引き続き読まれるかは実機確認を推奨します(読まれない場合は .csv 化が必要)。

🟡 サーバー設定:SandboxCode への集約

V3.0 の目玉システム Sandbox Options(サンドボックス設定)により、約150種のゲームルール(GameDifficulty / BloodMoon* / AirDrop* / LootAbundance / StormFreq / XPMultiplier など)が新規ゲーム画面の単一画面に統合され、結果が SandboxCode という1本の文字列にエンコードされます。

  • serverconfig.xml から個別プロパティ(StormFreq / LootAbundance 等)が消滅し、<property name="SandboxCode" value="..."/> に集約。これらを正規表現で1行差し替えていたツールは破綻します。
  • 新規 sandbox_overrides.xml は、プリセット定義 <preset code="...">項目ロック <sandbox_override option="..."/> を宣言するファイル(任意値の直接 override 用ではない)。code は Sandbox Options ウィンドウの「Copy Code」で採取する不透明コードです。
  • 値を動的に変えたい場合は、(a)段階ごとの SandboxCode をテーブル化して差し替える、または(b)setgamepref 系コンソールコマンドが該当設定で生きていればそれを使う、のいずれか。どちらが有効かは実機確認が先決です。
  • なお ServerDescription は独立プロパティとしてV3.0でも残存しています。

🟢 新規に使える枠

  • SignTech(看板POIの全面刷新):<sign> 系でカスタム看板テキストを活用可能。
  • taskboards(新タスクボード機構)。
  • 整形・フォルダ移動のみで実害が薄いファイル:shapes / materials / painting / npc / utilityai / archetypes / biomes / rwgmixer / vehicles / gamestages ほか多数。

移行チェックリスト(要点)

  1. XUi系の一括書き換え(最優先):パッチパス XUiXUi_InGamecontrols.xmltemplates.xml/xui/ruleset/xuipanelrect、anchor新名、filledspritespriteglobalopacityglobalopacitymod|once 除去。
  2. entitygroups の正式XML要素化に追従。
  3. blocks の CompositeTileEntity+TEFeature 統合に合わせて xpath を再設計。
  4. LootList 統合HeadshotDamageModifier 改名 に対応。
  5. マグニチュード×品質 の数値干渉を検証(装備の数値を触るMOD)。
  6. Localization.txt がロードされるか実機確認(必要なら .csv へ)。
  7. サーバー設定StormFreq/LootAbundance 直書きを SandboxCode 方式 or setgamepref へ作り直し。
  8. 起動はログ先頭のエラーから確認(blocks.xml のロード中断は「config not found」系の偽陽性を連鎖させます)。

より概要寄りの変更点(WebDashboardのコア統合、XUiの設計思想、ファイルリネーム一覧)は 【V3.0】MOD制作者向けの変更点 もあわせてどうぞ。

※本記事は実験版(B252相当)適用直後の調査に基づきます。正式版で挙動が変わる項目があるため、移行作業は必ず実機で検証してください。


関連: MOD制作の記事一覧

コメントする

お名前(ニックネーム)だけで投稿できます。ログイン・メール登録は不要です。お気軽にどうぞ。

※ AIの回答は管理者の確認後に表示されます。内容は不正確な場合があります。