May 2024 Stable Update

It is time for the May 2024 Stable Update. The tModLoader team and our amazing community of contributors continues to improve tModLoader. This month we've fixed a few crash conditions when using a large amount of mods, made some improvements to mod loading time, and made a major upgrade from using Dotnet 6 to Dotnet 8 for increased performance and capability. Mod makers can look forward to the new features of [url=https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12]C# 12[/url] and [url=https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8/overview]Dotnet 8[/url]. As always, if you are having issues of any sort, definitely don't hesitate to check out our [url=https://github.com/tModLoader/tModLoader/wiki/Basic-tModLoader-Usage-FAQ]FAQ on GitHub [/url] or reach out to us at [url=https://discord.com/invite/tmodloader]our Discord[/url]. [h1]New Changes' Highlights[/h1] The following is a list of the most noteworthy changes made for this release. As a reminder, modders should consult the [url=https://github.com/tModLoader/tModLoader/wiki/Update-Migration-Guide#v202403]Update Migration Guide[/url] to see how to adapt to the new changes after running tModPorter. [h1]New Features[/h1] [h2]API Changes[/h2] [b]Mirsario[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4037]Port tModLoader from .NET 6 to .NET 8[/url] [b]Mirsario[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4134]Refactored mod creation to use a file tree of templates[/url] [b]BasicallyIAmFox[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4135]Publicizes PlayerEyeHelper members[/url] [h1]Bug Fixes[/h1] [h2]Gameplay Fixes[/h2] [b]Rijam[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4124]Fix Splash Sound for Shimmer[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4105]Fix Gun Aim Alignment issue[/url] [b]Leon Gies[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4133]Fixed AltGr not working in chat. Special characters can now be typed in chat for many non-English users[/url] [h2]Quality of Life and Other Fixes[/h2] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4056]Fix server kick when reloading mods takes more than 2 minutes[/url] [b]Chicken-Bones[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4114]JIT mods in parallel on the thread pool to speed up mod loading[/url] [b]lhzlhz419[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4174]Fix typo causing tModLoader crash with Vulkan on Mac[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4086]Track and report lost player/world save data, will help identify mods causing lost data[/url] [b]NexusXe[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4091]Fix docker permission denied issue[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/a36f5f0941d708baf81ff23f1359b8b1bbb0ed08]Fix ShowWhatsNew feature, also fixes issue causing other notifications to not be shown[/url] [b]Golfing7[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4101]Minor performance improvement LoaderManager.Get[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/a74fa1afbecaedc91804fa4722da7dd5642044c6]Improve world select menu performance[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/c556ec58c5ff669da99d206a400188f6c01d152d]Fix open csproj button, fix forward slashes in save path on windows causing some issues[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4178]Provide better error messages for users currently on Terraria Undeluxe Edition beta[/url] [b]Mirsario[/b]: [url=https://github.com/tModLoader/tModLoader/commit/5229c3c02fb4d7eb95bd2f2a3d53b44b94fa7cae]Fixed an OverflowException thrown in case of >4GB texture memory usage.[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/9951249727b72a445ef1c1ec5dd7afc7eb7dff4b]Add link to more suggestions for workshop issues[/url] [h2]API Fixes and Changes[/h2] [b]BasicallyIAmFox[/b]: [url=https://github.com/tModLoader/tModLoader/pull/4138]Moved `BestiaryFilledPercent` in `Conditions` type[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/f8c0bfe65a5af4ecea07df14269380a686755380]Fix GetHealLife/Mana not being applied to tooltips as well as CanUseItem not being checked for mana potions.[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/b3d656d9492d4b646639b8cbb2567697d325d825]Use HelpLink from InnerExceptions of MultipleException[/url] [h1]Other[/h1] [h2]ExampleMod and API Documentation[/h2] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/34c1d30e1a63f1d287a85dbb52e391c6f619cb4d]Docs for Request and expert/master mode confusion[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/c227fc568aaea41209644c8546dc37e82b87dfb4]Document autoloading logic[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/92b66603a9c1a7a273dbd6b5093040c87a1fa63e]Document AutoloadEquipAttribute, message for autoloaded equip texture missing[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/175408ae610b5b6e5baed0b5aee0cfe2dd518d36]Document ChatHelper methods[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/cbff15fec375beccb6eb6aacc0d65322506fe328]Additional CanChooseAmmo example[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/14b090de033f866d9c6bee292f0bb71848f23c6f]Apply research sorting to examplemod[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/5333d0a39c2a38a9e5558d6471df9bc55d4cd5e1]Clarify GetFileBytes docs[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/84ec60780b683df816a2599fa78283a6300b91d5]Player.GetItem docs[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/a76df844b0b3bdc499179989931aefd143b367f9]ExtractinatorUse docs update[/url] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/f7afde1e033327aa056c20842d53a17cbde50a0f]NetMessage.SendTileSquare docs[/url] [h2]Localization[/h2] [b]JavidPack[/b]: [url=https://github.com/tModLoader/tModLoader/commit/de49ac2112b45f2d92749ef5201bc87fdf34228f]Fix InfoDisplay and DamageClass not populating localization files[/url]