Dígale a cualquier desarrollador de mod que todavía use esta versión anterior para actualizar sus modificaciones.
"Receta" de Hookgen para Terraria, lo que resulta en un mod TML en el que otras modificaciones pueden depender.
Construido con monomod.
Este mod es un ayudante para otras modificaciones. Simplemente instálelo si un mod lo necesita, no cambiará Terraria por sí solo.
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 ;
}
Para un ejemplo extendido, eche un vistazo a esta esencia.
Use "ganchos" para detectar cuándo se ejecuta un método, cambie cómo se ejecuta o incluso reemplazarlo.
Los "ganchos" se deshacen automáticamente cada vez que su mod se descarga. Esto es manejado por Terrariahooks para ti.
Manipule cualquier método en tiempo de ejecución a través de IL ... += (...) => {...} usando Cecil y muchos ayudantes.
¡Un agradecimiento especial a los pollos por las excelentes ideas y comentarios en el camino!
Use RuntimeDeTour para transferir rápidamente su código de "intercambio de métodos" existente.
Tenga en cuenta que esto requiere que deshace sus desvíos en la descarga.
Si necesita más información, lea el Monomod RuntimeDetour Readme.
Si quieres usar Terrariahooks en tu mod:
TerrariaHooks.dll
del último lanzamiento.lib
.build.txt
, agregue modReferences = TerrariaHooks
Load
mod.git clone --recursive https://github.com/0x0ade/TerrariaHookGen.git
_input
./TerrariaHookGen/bin/Debug/TerrariaHookGen.exe _input .
./tModLoaderServer.exe -build 'path/to/TerrariaHooks' -eac
Este repositorio se compone de todo el procedimiento. Se reduce a:
./MonoMod.RuntimeDetour.HookGen.exe --private Terraria.exe TerrariaHooksPre.dll
./ILRepack.exe /out:TerrariaHooks.dll TerrariaHooksPre.dll MonoMod. * .dll MonoMod.exe
Al ejecutar las dos líneas anteriores en el directorio de Terraria (con todas las dependencias presentes), genera TerrariaHooks.dll
para su Terraria.exe
.
El único propósito de este repositorio es automatizar el proceso por completo y permitir publicar TerrariaHooks.dll
como mod.