Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mod broken with latest API changes of TModLoader #177

Open
StealthyKamereon opened this issue Oct 2, 2023 · 0 comments
Open

Mod broken with latest API changes of TModLoader #177

StealthyKamereon opened this issue Oct 2, 2023 · 0 comments

Comments

@StealthyKamereon
Copy link

The current mod version v3.1.2 is broken with TML version above v2023.8.3.1.

The breaking change is the extra-jump API added by TML.

Below the stack-trace :

System.MissingFieldException: Field not found: 'Terraria.Player.accFlipper'.
   at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode) in Z:\Users\aaron\Source\Repos\MonoModReorg\MonoMod\src\MonoMod.Core\Interop\CoreCLR.V60.cs:line 50
   at MonoMod.Core.Platforms.Runtimes.Core21Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** pNativeEntry, UInt32* pNativeSizeOfCode) in Z:\Users\aaron\Source\Repos\MonoModReorg\MonoMod\src\MonoMod.Core\Platforms\Runtimes\Core21Runtime.cs:line 184
   at System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(RuntimeMethodHandleInternal method, IntPtr* pInstantiation, Int32 cInstantiation)
   at System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(RuntimeMethodHandleInternal method, IntPtr* pInstantiation, Int32 cInstantiation)
   at System.Runtime.CompilerServices.RuntimeHelpers.PrepareMethod(RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation)
   at Terraria.ModLoader.Core.AssemblyManager.ForceJITOnMethod(MethodBase method) in tModLoader\Terraria\ModLoader\Core\AssemblyManager.cs:line 405
   at Terraria.ModLoader.Core.AssemblyManager.<>c__DisplayClass23_0.<JITAssemblies>b__1(MethodBase method) in tModLoader\Terraria\ModLoader\Core\AssemblyManager.cs:line 378
   at System.Linq.Parallel.ForAllOperator`1.ForAllEnumerator`1.MoveNext(TInput& currentElement, Int32& currentKey)
   at System.Linq.Parallel.ForAllSpoolingTask`2.SpoolingWork()
   at System.Linq.Parallel.SpoolingTaskBase.Work()
   at System.Linq.Parallel.QueryTask.BaseWork(Object unused)
   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()
   at System.Threading.Thread.StartCallback()

[19:31:46.992] [.NET ThreadPool Worker/WARN] [tML]: Silently Caught Exception: 
Terraria.ModLoader.Exceptions.JITException: 
In Fargowiltas.DevianttDialogueTracker+<>c.<AddVanillaDialogue>b__8_28, Field not found: 'Terraria.Player.accFlipper'.

   at Terraria.ModLoader.Core.AssemblyManager.JITAssemblies(IEnumerable`1 assemblies, PreJITFilter filter) in tModLoader\Terraria\ModLoader\Core\AssemblyManager.cs:line 398
   at Terraria.ModLoader.Core.AssemblyManager.JITMod(Mod mod) in tModLoader\Terraria\ModLoader\Core\AssemblyManager.cs:line 355
   at Terraria.ModLoader.ModContent.<>c.<Load>b__43_0(Mod mod) in tModLoader\Terraria\ModLoader\ModContent.cs:line 283
   at Terraria.ModLoader.ModContent.LoadModContent(CancellationToken token, Action`1 loadAction) in tModLoader\Terraria\ModLoader\ModContent.cs:line 377
   at Terraria.ModLoader.ModContent.Load(CancellationToken token) in tModLoader\Terraria\ModLoader\ModContent.cs:line 282
   at Terraria.ModLoader.ModLoader.Load(CancellationToken token) in tModLoader\Terraria\ModLoader\ModLoader.cs:line 126
   at Terraria.ModLoader.ModLoader.<>c__DisplayClass46_0.<BeginLoad>b__0() in tModLoader\Terraria\ModLoader\ModLoader.cs:line 106
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.<>c.<.cctor>b__271_0(Object obj)
   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.Tasks.Task.ExecuteEntryUnsafe(Thread threadPoolThread)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
   at System.Threading.Thread.StartCallback()

[19:31:47.093] [.NET ThreadPool Worker/ERROR] [tML]: An error occurred while loading Fargowiltas v3.1.2
It has been detected that this mod was built for tModLoader v2023.6.25.31
However, you are using tModLoader v2023.8.3.1
The mod will need to be updated to match the current tModLoader version, or may be incompatible with the version of some of your other mods. Click the 'Open Web Help' button to learn more.
The mod(s) have been automatically disabled.
Terraria.ModLoader.Exceptions.JITException: 
In Fargowiltas.DevianttDialogueTracker+<>c.<AddVanillaDialogue>b__8_28, Field not found: 'Terraria.Player.accFlipper'.

   at Terraria.ModLoader.Core.AssemblyManager.JITAssemblies(IEnumerable`1 assemblies, PreJITFilter filter) in tModLoader\Terraria\ModLoader\Core\AssemblyManager.cs:line 398
   at Terraria.ModLoader.Core.AssemblyManager.JITMod(Mod mod) in tModLoader\Terraria\ModLoader\Core\AssemblyManager.cs:line 355
   at Terraria.ModLoader.ModContent.<>c.<Load>b__43_0(Mod mod) in tModLoader\Terraria\ModLoader\ModContent.cs:line 283
   at Terraria.ModLoader.ModContent.LoadModContent(CancellationToken token, Action`1 loadAction) in tModLoader\Terraria\ModLoader\ModContent.cs:line 377
   at Terraria.ModLoader.ModContent.Load(CancellationToken token) in tModLoader\Terraria\ModLoader\ModContent.cs:line 282
   at Terraria.ModLoader.ModLoader.Load(CancellationToken token) in tModLoader\Terraria\ModLoader\ModLoader.cs:line 126
@StealthyKamereon StealthyKamereon changed the title Mob broken with latest API changes of TModLoader Mod broken with latest API changes of TModLoader Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant