Harmony / Гармония (1.4.3+)
Библиотека для исправления, замены и украшения методов .NET и Mono во время выполнения.
Библиотека предназначена для того, чтобы все моды в списке модов игрока использовали последнюю версию Harmony для минимизации конфликтов.
Также добавлен интерфейс отладки! Доступно через CTRL+ALT+H
Для версии игры выше 1.4.3
Установка
Этот модуль должен быть самым высоким в порядке загрузки. Любой другой модуль, который требует высшего приоритета( Better Exception Window, Community Patch, MCM и т.д.), должен быть загружен после этого мода.
Пример установки:
Для игроков
Этот мод предназначен для того, чтобы все моды в списке модов игрока использовали последнюю версию Harmony для минимизации конфликтов.
Для разработчиков модов
Вам по-прежнему необходимо ссылаться на Harmony как на пакет NuGet, не обязательно включать 0Harmony.dll в окончательный вывод /bin вашего модуля.
Вам нужно добавить это в свой Таким образом, игра гарантирует, что библиотека Harmony будет загружена до вашего мода.
Управление версиями
Модуль объединяет используемую версию Harmony и идентификатор сборки, которая опубликовала модуль. Идентификатор сборки просто добавляется в конец. 2.0.2.22 указывает, что используется Harmony 2.0.2.0, а 22 — это идентификатор сборки. 2.0.0.1025 указывает, что используется Harmony 2.0.0.10, а 25 — это идентификатор сборки.SubModule.xml
<DependedModules>
<DependedModule Id="Bannerlord.Harmony" />
</DependedModules>
Устранение неполадок
* Если игра вылетает при запуске, скорее всего, вы используете или использовали Fixed Launcher. При установке он копирует 0Harmony.dll, что препятствует работе Bannerlord.Harmony.
* Если вы предпочитаете использовать фиксированную программу запуска, используйте «Harmony для фиксированной программы запуска» вместо файла Harmony по умолчанию. Если проблемы не устранены, мы рекомендуем удалить Fixed Launcher и дождаться обновления!
* Если Fixed Launcher был удален, убедитесь, что в основной папке /bin игры нет следующих файлов (Mount & Blade II Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
О Harmony: Harmony предоставляет элегантный и высокоуровневый способ изменения функциональности приложений, написанных на C#. Он отлично работает в играх и хорошо зарекомендовал себя в таких играх, как: 7 Days To Die, BattleTech, Besiege, Cities:Skylines, Kerbal Space Program, Oxygen Not Included, Ravenfield, Rimworld, Sheltered, Stardew Valley, Staxel, Subnautica, The Ultimate Nerd Game, Total Miner, Unturned и многие другие.
Он также используется при модульном тестировании элементов управления WFP и во многих других областях.
Как это работает
Если вы разрабатываете на C# и ваш код загружается как модуль/плагин в хост-приложение, вы можете использовать Harmony для изменения функциональности всех доступных сборок этого приложения. В то время как другие библиотеки исправлений просто позволяют вам заменить исходный метод, Harmony делает еще один шаг вперед и дает вам:
• Способ сохранить исходный метод неповрежденным
• Выполнение вашего кода до и/или после исходного метода.
• Модифицируйте оригинал с помощью процессоров кода IL
• Несколько исправлений Harmony сосуществуют и не конфликтуют друг с другом
• Работает во время выполнения и не затрагивает никаких файлов
![Harmony [1.1, 1.2, 1.3]](https://i.ibb.co/r3v9MdF/Rimworld-mod-Harmony.jpg)



Соблюдай правила, не стесняйся спрашивать и комментировать. Вступай в дисскусию нашего королевства Модляндия.




