tModLoader

tModLoader

Quality of Terraria
无法启用Mod,英文日志提示无法Hook
无法启用Mod,英文日志提示无法Hook
1.游戏版本 1.4.4.9 tModLoader版本2024.12.3.1
2.正常表现 (本来应该怎样):能够正常加载Mod和使用Mod
3.实际表现 (但实际上...):报错显示无法Hook和一直自动校验本地文件
4.如何复现这个问题, 最好能100%复现:加载Mod时就会一直报错
5.你已经为解决这个问题所采取的行动:卸载了人物模型资源包和字体替换Mod,仅保留了官方中文资源包
6.额外信息, 比如截图和日志:报错日志如下:


[16:28:52.828] [.NET TP Worker/DEBUG] [tML]: Hook Terraria.Main::UpdateUIStates(GameTime) added by ImproveGame
[16:28:52.829] [.NET TP Worker/WARN] [tML]: 静默捕获异常:
System.ArgumentException: Source method is generic, generic hooks are not supported
at Terraria.ModLoader.Core.LoaderUtils.ForEachAndAggregateExceptions[T](IEnumerable`1 enumerable, Action`1 action)
at Terraria.ModLoader.Mod.Autoload()
at Terraria.ModLoader.ModContent.<>c.<Load>b__45_0(Mod mod)
at Terraria.ModLoader.ModContent.LoadModContent(CancellationToken token, Action`1 loadAction)
at Terraria.ModLoader.ModContent.Load(CancellationToken token)
at Terraria.ModLoader.ModLoader.Load(CancellationToken token)
at Terraria.ModLoader.ModLoader.<>c__DisplayClass47_0.<BeginLoad>b__0()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

[16:28:52.829] [.NET TP Worker/WARN] [tML]: ImproveGame spent 43ms blocking on asset loading. Avoid using AssetRequestMode.ImmediateLoad during mod loading where possible
[16:28:52.830] [.NET TP Worker/INFO] [tML]: Marked tModLoader installation files as corrupt in Steam. On Next Launch, User will have 'Verify Local Files' ran
[16:28:52.830] [.NET TP Worker/INFO] [tML]: Disabling Mod: ImproveGame
[16:28:52.831] [.NET TP Worker/ERROR] [tML]: 该模组加载时发生错误 ImproveGame v1.8.0.6
该模组已被自动禁用。
此错误是由“ImproveGame.UIFramework.ModifyVanillaUI.TerrariaVanillaUIResetter”类引起的。
System.ArgumentException: Source method is generic, generic hooks are not supported
at MonoMod.RuntimeDetour.Hook.PrepareRealTarget(Object target, TrampolineData& trampoline, DataScope`1& scope) in /media/y/src/MonoMod/src/MonoMod.RuntimeDetour/Hook.cs:line 591
at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, MethodInfo target, Object targetObject, IDetourFactory factory, DetourConfig config, Boolean applyByDefault) in /media/y/src/MonoMod/src/MonoMod.RuntimeDetour/Hook.cs:line 562
at MonoMod.RuntimeDetour.Hook..ctor(MethodBase source, Delegate target) in /media/y/src/MonoMod/src/MonoMod.RuntimeDetour/Hook.cs:line 330
at Terraria.ModLoader.MonoModHooks.Add(MethodBase method, Delegate hookDelegate) in tModLoader\Terraria\ModLoader\MonoModHooks.cs:line 154
at ImproveGame.UIFramework.ModifyVanillaUI.TerrariaVanillaUIResetter.Load() in ImproveGame\UIFramework\ModifyVanillaUI\TerrariaVanillaUIResetter.cs:line 78
at Terraria.ModLoader.ModType.Terraria.ModLoader.ILoadable.Load(Mod mod) in tModLoader\Terraria\ModLoader\ModType.cs:line 34
at Terraria.ModLoader.Mod.AddContent(ILoadable instance) in tModLoader\Terraria\ModLoader\Mod.cs:line 165
at Terraria.ModLoader.Mod.<Autoload>b__118_5(Type t) in tModLoader\Terraria\ModLoader\Mod.Internals.cs:line 62
at Terraria.ModLoader.Core.LoaderUtils.ForEachAndAggregateExceptions[T](IEnumerable`1 enumerable, Action`1 action) in tModLoader\Terraria\ModLoader\Core\LoaderUtils.cs:line 129
--- End of stack trace from previous location ---