Harap beri tahu pengembang mod yang masih menggunakan versi lama ini untuk memperbarui mod mereka.
Hookgen "Resep" untuk Terraria, menghasilkan mod TML yang dapat bergantung pada mod lain.
Dibangun dengan monomod.
Mod ini adalah penolong untuk mod lain. Instal saja jika mod membutuhkannya, itu tidak akan mengubah Terraria sendiri.
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 ;
}
Sebagai contoh yang diperluas, lihat intinya.
Gunakan "Hooks" untuk mendeteksi ketika metode berjalan, ubah cara menjalankan atau bahkan menggantinya.
"Hooks" secara otomatis dibatalkan setiap kali mod Anda membongkar. Ini ditangani oleh Terrariahooks untuk Anda.
Memanipulasi metode apa pun saat runtime melalui IL ... += (...) => {...} menggunakan Cecil dan banyak pembantu.
Terima kasih khusus kepada Chicken-Bones untuk ide-ide hebat dan umpan balik di sepanjang jalan!
Gunakan runtimedetour untuk dengan cepat port kode "Metode Swapping" Anda yang ada.
Perhatikan bahwa ini mengharuskan Anda untuk membatalkan jalan memutar di Bongkar.
Jika Anda memerlukan info lebih lanjut, baca monomod runtimedetour readme.
Jika Anda ingin menggunakan Terrariahooks di mod Anda:
TerrariaHooks.dll
dari rilis terbaru.lib
Anda.build.txt
Anda, tambahkan modReferences = TerrariaHooks
Load
mod Anda.git clone --recursive https://github.com/0x0ade/TerrariaHookGen.git
_input
./TerrariaHookGen/bin/Debug/TerrariaHookGen.exe _input .
./tModLoaderServer.exe -build 'path/to/TerrariaHooks' -eac
Repositori ini terlalu merawat seluruh prosedur. Itu bermuara pada:
./MonoMod.RuntimeDetour.HookGen.exe --private Terraria.exe TerrariaHooksPre.dll
./ILRepack.exe /out:TerrariaHooks.dll TerrariaHooksPre.dll MonoMod. * .dll MonoMod.exe
Saat menjalankan dua baris di atas di direktori Terraria (dengan semua dependensi hadir), itu menghasilkan TerrariaHooks.dll
untuk Terraria.exe
Anda.
Satu -satunya tujuan repositori ini adalah untuk mengotomatiskan proses sepenuhnya, dan untuk memungkinkan penerbitan TerrariaHooks.dll
sebagai mod TML.