一個用於在執行時間修補、取代和修飾 .NET 和 Mono 方法的函式庫。旨在確保玩家模組清單中的所有模組都使用最新版本的 Harmony,從而最大限度地減少衝突。我們還添加了調試 UI!現已推出。
筆記這是非官方的發行版本。
和諧建立此庫的目的是為了更輕鬆地管理外部庫相依性。
模組的倉庫 -
騎馬與砍殺2:領主和諧.
Bannerlord.Lib.Harmony 針對 Mod 製作者的公告原來的
和諧圖書館現已全部
支援 我們使用的是 netstandard2.0,所以我們回退到了它。
叉 該庫現已棄用。
安裝此模組應置於載入順序的首位。任何其他需要置於首位的模組(例如 Better Exception Window、ButterLib、MCM 等)都應在此模組之後載入。
玩家須知
此模組旨在確保玩家模組清單中的所有模組都使用最新版本的 Harmony,以最大程度地減少衝突。
致模組製作者我們新增了調試介面!可透過 CTRL+ALT+H 存取。您仍然需要將 Harmony 作為 NuGet 套件引用,不需要在模組的最終 /bin 輸出中包含 0Harmony.dll。
你需要把這個加到你的…
子模組.xml <DependedModules>
<DependedModule Id="Bannerlord.Harmony" />
</DependedModules>這樣一來,遊戲就能確保在你的模組載入之前先載入 Harmony 函式庫。
版本控制
該模組結合了所使用的 Harmony 版本和發布該模組的建置 ID。建置 ID 直接加入到模組末尾。
2.0.2.22 表示正在使用 Harmony 2.0.2.0,22 是建置 ID。
2.0.0.1025 表示正在使用 Harmony 2.0.0.10,25 是建置 ID。
我們曾考慮採用 Rimworld 的方法來引入我們自己的版本系統,但這無法清楚地偵測模組包含的 Harmony 版本。使用者報告所用模組的版本比檢查/傳送組件版本要容易得多。
故障排除解壓縮文件時遇到問題?請透過 Vortex 安裝,或下載
7-zip.
請勿使用 Windows 應用程式商店的任何內容。.
我們還加入了一篇關於…的文章 如何安裝和使用 7-zip!如果遊戲啟動時崩潰,很可能是因為您正在使用或曾經使用過 Fixed Launcher。安裝後,它會複製 0Harmony.dll 文件,這會導致 Bannerlord.Harmony 無法正常運作。
* 如果已卸載或從未安裝過修復啟動器,請檢查以下檔案是否不在遊戲主 /bin 資料夾中(《騎馬與砍殺2》)。
Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
關於Harmony 提供了一種優雅且高級的方式來修改用 C# 編寫的應用程式的功能。它在遊戲領域表現出色,並在《
七日殺、戰鬥科技、圍攻、城市:天際線、坎巴拉太空計畫、缺氧、雷文菲爾德、環世界、庇護所、星露穀物語、Staxel、深海爭霸戰、終極宅男遊戲、全面礦工、未轉變者 還有更多。
它也用於世界糧食計劃署控制措施的單元測試以及許多其他領域。
工作原理如果您使用 C# 進行開發,並且您的程式碼會作為模組/外掛程式載入到宿主應用程式中,則可以使用 Harmony 來更改該應用程式中所有可用組件的功能。其他補丁庫僅允許您替換原始方法,而 Harmony 更進一步,為您提供:
• 一種保持原有方法完整性的方法
• 在原始方法之前和/或之後執行您的程式碼
• 使用 IL 程式碼處理器修改原始程式碼
• 多個 Harmony 音色可以共存,彼此之間不會衝突
• 在運行時運行,不會修改任何文件
文件請查看
文件.
貢獻帕爾代克 我們在這個項目及其支持上投入了數千小時。因此,每一個小小的行動都至關重要:
• 讚此帖
Stack Overflow 的回答• 在您的開發者社群中廣而告之
• 成為
GitHub贊助商 或
Patreon這個項目利用了…
MonoMod.Common 圖書館
0x0ade.