tModLoader - March 2024 Stable Update
tModLoader changelog game banner

March 2024 Stable Update

Date: 2024-03-01 02:01:39

It is time for the March 2024 Stable Update!

The tModLoader team and our amazing community of contributors continues to improve tModLoader. This month's release mainly contains bug fixes.

This month we've continued our work to harden multiplayer by updating the server host scripts, made several improvements to Mod Config support, and fixed a dozen or so bugs.

As always, if you are having issues of any sort, definitely don't hesitate to check out our FAQ on GitHub or reach out to us at our Discord.

Important Feature in Preview



This month we will be testing a major rework of how mods are loaded and synced on the [c]preview-v2024.02[/c] beta branch. When joining a server, a new menu will inform the user about pending mod downloads and config changes. Modders should read the How does this affect modders? section of the pull request. Users will be happy to know that local mods will no longer override workshop mods, reducing potential errors from loading outdated mods significantly. The new UI will greatly help users avoid lengthy mod reloads in multiplayer. See this video to see the new UI in action. We hope to perfect this user experience in anticipation for next months release.

New Changes' Highlights



The following is a list of the most noteworthy changes made for this release. As a reminder, modders should consult the Update Migration Guide to see how to adapt to the new changes after running tModPorter.

New Features


API Changes


Destructor_Ben: Description Parameter Interpolation
Destructor_Ben: Added TileDefinition class
direwolf420: Added Player.hasGemRobe

Bug Fixes


Quality of Life and Other Fixes


John Baglio: Implement Caching for Mod.GetContent() Results
turtletowerz: Docker and Management Script Bugfixes
JavidPack: -skipselect now works on server launches
JavidPack: Additional ControlledFolderAccessDetected logging
JavidPack: Fix issue causing the workshop menu to display improperly
JavidPack: Fix WaspNest accessory not resetting properly
Chicken-Bones: Remove redundant and erroneous PPID reassignment in launch script
Solxan: Fix Author Search in Mod Browser
JavidPack: Add log message to indicate which mod's config is triggering reload in MP join
Chicken-Bones: Fix a missing load time performance optimization when building global hook lists.
JavidPack: Clarify serverconfig.txt being automatic default
JavidPack: Fix Display Issue for Sonar Buff and pickup counts when fishing with multiple lures
JavidPack: Fix Mods Not Loading for some GOG users

API Fixes and Changes


Chicken-Bones: Update MonoMod
JavidPack: Added HitModifiers.DisableKnockback to fix Flat modifier applying to knockBackResist==0 NPC
JavidPack: Fix issue with ModProjectile.CooldownSlot not working correctly.
JavidPack: Language workshop tags will persist with some leniency.
Michael Scott: Fix modded toilets not granting fishing bonus
Destructor_Ben: Config List UI fixes
JavidPack: Fix sorting in Mod Config List menu
JavidPack: Show class name in GetLoadableTypesException when inheriting
JavidPack: Fix some errors being attributed to System.RuntimeType
JavidPack: Clarify AddMusicBox Errors

ExampleMod & API Documentation


JavidPack: WorldGen Documentation
JavidPack: Tile and other Documentation
JavidPack: Fix FewFromRulesRule ctor typo (chanceDenominator)
Clay Sweetser: Minor punctuation changes
JavidPack: Update Projectile.noDropItem documentation for 1.4 changes
JavidPack: Update various life regen and related hook documentation
Destructor_Ben: Add docs to ModTile.MineResist and ModTile.MinPick