Укажите реальные требования#

Базовый XML-мод не должен требовать стороннюю библиотеку только потому, что она используется в другом проекте. Добавляйте зависимость, когда ваш код или ресурсы действительно от неё зависят.

Пример обязательного DLC в content.xml:

XML
<dependency id="ego_dlc_split" optional="false" />

Если используется корпус или ресурс DLC, проверьте также правильный путь целевого файла. Патч ресурса другого расширения требует учёта его пространства файлов; это не всегда такой же путь, как у базовой игры.

Один атрибут - несколько модов#

Два корректных diff могут менять одно поле. Итог определяется эффективным документом после загрузки расширений. Проверяйте его и фактическое значение в игре, а не только наличие собственного файла.

Сначала протестируйте минимальный набор зависимостей, затем целевой набор совместимости. Сохраняйте точный список модов для воспроизведения конфликта.

Уникальные идентификаторы#

Префикс расширения нужен для macro, component, wares, MD-скриптов и событий UI. Текстовые страницы тоже могут конфликтовать. Переименование файла не меняет автоматически внутренние ID.

Обновления X4#

Сверяйте Breaking Changes и реальные файлы новой сборки. Официальный список не описывает каждое изменение внутренних Lua-скриптов UI, поэтому перехваты меню требуют отдельной проверки.

Для новой версии повторите короткий сценарий по затронутому риску: загрузка, изменённое значение, UI-действие или создание нового корабля. Сохранения проверяйте отдельно.