Une bibliothèque pour le correctif, le remplacement et la décoration. Les méthodes NET et Mono pendant l'exécution. Conçu pour s'assurer que tous les mods de la modlist d'un joueur utilisent la dernière version de Harmony pour minimiser les conflits. Nous avons également ajouté une interface de débogage! Disponible
NotesIl s'agit d'une distribution non officielle du
Harmoniebibliothèque créée pour avoir un moyen plus simple de gérer les dépendances des bibliothèques externes.
Le dépôt du mod -
Bannerlord.Harmonie.
Annonce de Bannerlord.Lib.Harmony pour les moddeursOriginal
Harmoniebibliothèque désormais entièrement
prend en chargele netstandard2.0, nous y sommes donc revenus.
fourchettede la bibliothèque est désormais obsolète.
InstallationCe module doit être le plus haut dans l'ordre de chargement. Tout autre module nécessitant d'être placé en haut (Better Exception Window, ButterLib, MCM, etc.) doit être chargé après ce module.
Pour les joueurs
Ce mod est destiné à garantir que tous les mods de la liste de mods d'un joueur utilisent la dernière version d'Harmony pour minimiser les conflits.
Pour les moddeursNous avons ajouté une interface de débogage ! Disponible via CTRL+ALT+H.Vous devez toujours référencer Harmony en tant que package NuGet, il n'est pas nécessaire d'inclure 0Harmony.dll dans la sortie /bin finale de votre module.
Vous devez ajouter ceci à votre
Sous-module.xml
De cette façon, le jeu s'assurera que la bibliothèque Harmony est chargée avant votre mod.
Gestion des versions
Le module combine la version Harmony utilisée et l'identifiant de build ayant publié le module. L'identifiant de build est simplement ajouté à la fin.
2.0.2.22 indique que Harmony 2.0.2.0 est utilisé et 22 est l'ID de build.
2.0.0.1025 indique que Harmony 2.0.0.10 est utilisé et 25 est l'ID de build.
Nous avons envisagé d'utiliser l'approche Rimworld pour introduire notre propre système de versions, mais cela ne permet pas de détecter clairement la version d'Harmony contenue dans le module. Il est plus simple pour l'utilisateur de signaler la version du module utilisé que de vérifier la version de l'assembly ou de l'envoyer.
Dépannage* Vous rencontrez des difficultés pour extraire l'archive ? Installez-la via Vortex ou téléchargez-la.
7 zips.
N'UTILISEZ RIEN DE L'APP STORE DE WINDOWS.
Nous avons également ajouté un article surcomment installer et utiliser 7-zip!* Si le jeu plante au démarrage, vous utilisez probablement ou utilisiez Fixed Launcher. Une fois installé, il copie le fichier 0Harmony.dll, ce qui empêche Bannerlord.Harmony de fonctionner.
* Si Fixed Launcher a été désinstallé ou n'a jamais été installé, vérifiez que les fichiers suivants ne se trouvent pas dans le dossier principal /bin du jeu (Mount & Blade II
Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
- 0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
À proposHarmony vous offre un moyen élégant et performant de modifier les fonctionnalités des applications écrites en C#. Il fonctionne parfaitement dans les jeux et est bien établi dans des titres comme
7 jours pour mourir, BattleTech, Assiéger, Cities:Skylines, Programme spatial Kerbal, Oxygène non inclus, Ravenfield, Rimworld, Sheltered, Stardew Valley, Staxel, Subnautica, Le jeu de nerd ultime, Total Miner, Unturnedet bien d'autres encore.
Il est également utilisé dans les tests unitaires des contrôles du PAM et dans de nombreux autres domaines.
Comment ça marcheSi vous développez en C# et que votre code est chargé sous forme de module/plugin dans une application hôte, vous pouvez utiliser Harmony pour modifier les fonctionnalités de tous les assemblys disponibles de cette application. Alors que d'autres bibliothèques de correctifs se contentent de remplacer la méthode d'origine, Harmony va encore plus loin et vous offre :
• Un moyen de conserver la méthode originale intacte
• Exécutez votre code avant et/ou après la méthode d’origine
• Modifier l'original avec les processeurs de code IL
• Plusieurs patchs Harmony coexistent et n'entrent pas en conflit les uns avec les autres
• Fonctionne au moment de l'exécution et ne touche aucun fichier
DocumentationVeuillez consulter le
documentation.
ContribuerpardeikeNous avons consacré des milliers d'heures à ce projet et à son soutien. Chaque petit geste compte donc :
• Votez pour ceci
réponse de StackOverflow• Faites passer le message dans vos communautés de développeurs
• Devenez un
Sponsor GitHubou un
PatreonCe projet utilise le grand
MonoMod.Commonbibliothèque par
0x0ade.