Veuillez dire à tous les développeurs de mod qui utilisent toujours cette ancienne version pour mettre à jour leurs mods.
Hookgen "recette" pour Terraria, résultant en un mod TML sur lequel d'autres mods peuvent dépendre.
Construit avec monomod.
Ce mod est une aide pour d'autres mods. Il suffit de l'installer si un mod en a besoin, il ne changera pas Terraria seul.
On . Terraria . Player . CheckMana += ( orig , player , amount , pay , blockQuickMana ) => {
// We can either make this act as a method replacement
// or just call our code around the original code.
// Let's double the mana cost of everything.
// We can pass on custom values.
bool spendable = orig ( player , amount * 2 , pay , blockQuickMana ) ;
// ... but give back half of it if it was spent.
if ( spendable && pay ) {
player . statMana += amount / 2 ;
}
// We can return custom values.
return spendable ;
}Pour un exemple étendu, jetez un œil à cet escroc.
Utilisez des "crochets" pour détecter quand une méthode s'exécute, modifiez la façon dont il s'exécute ou même la remplacer.
Les "crochets" sont automatiquement annulés chaque fois que votre mod décharge. Ceci est géré par TerrariaHooks pour vous.
Manipulez n'importe quelle méthode lors de l'exécution via il ... + = (...) => {...} en utilisant cecil et de nombreux aides.
Un merci spécial à des os de poulet pour les excellentes idées et commentaires en cours de route!
Utilisez RuntimeDeTour pour porter rapidement votre code "Balillage de méthode" existant.
Notez que cela vous oblige à annuler vos détours lors d'un déchargement.
Si vous avez besoin de plus d'informations, lisez le monomod runtimeDetour Readme.
Si vous souhaitez utiliser des terrariahooks dans votre mod:
TerrariaHooks.dll à partir de la dernière version.lib .build.txt , ajoutez modReferences = TerrariaHooksLoad mod.git clone --recursive https://github.com/0x0ade/TerrariaHookGen.git_input./TerrariaHookGen/bin/Debug/TerrariaHookGen.exe _input ../tModLoaderServer.exe -build 'path/to/TerrariaHooks' -eacCe référentiel surcomplera toute la procédure. Cela se résume à:
./MonoMod.RuntimeDetour.HookGen.exe --private Terraria.exe TerrariaHooksPre.dll
./ILRepack.exe /out:TerrariaHooks.dll TerrariaHooksPre.dll MonoMod. * .dll MonoMod.exe Lors de l'exécution des deux lignes ci-dessus dans le répertoire Terraria (avec toutes les dépendances présentes), elle génère TerrariaHooks.dll pour votre Terraria.exe .
Le seul but de ce référentiel est d'automatiser complètement le processus et de permettre la publication TerrariaHooks.dll en tant que mod TML.