1. tModLoader
  2. News

tModLoader News

May 2025 Stable Update

Hello everyone! It is time for the May 2025 Stable Update.

We are once again grateful for the massive amount of community participation in developing and testing new features each month.

This month's release contains several notable features that mod makers can look forward to using. Features include brand new support for biome conversions and for custom ID sets as well as improved support for custom tile drawing and tile entities. The full listing of changes is detailed below.

Modders: There are several features of note currently in preview for next month that modders can test and provide feedback for. One new feature is the new UpdateVisibleAccessory and UpdateItemDye hooks. These new hooks along with the CustomVisualEquipType showcase show off how to properly implement custom player drawing for custom equip types. This will allow modders to draw these things in the correct and working manner. Another new feature is the custom ModType example in ExampleMod. This has been a frequently requested feature and we're happy to finally have an easy to follow example for this. We encourage mod makers to experiment with these new features on the preview branch and provide feedback this month so that they are ready for the stable release next month.

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.

Changelog

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.

Major Changes

[h2]New Features[/h2]
JavidPack: Custom and Named ID Sets ("content tags"). Mods can now create their own "Sets" and collaborate easily using them. IbanPlay: Biome conversion support. Added Convert() hook for ModBlockTypes, Tile/WallLoader.RegisterConversion(), and other related features JavidPack: Basic tile entity example and many more new helper methods to make working with tiles and tile entities easier JavidPack: ExampleChandelier and several new related ModTile hooks. Swaying tiles are now customizable.

[h2]API Changes[/h2]
Jacob Adams: ModMapLayer positioning can now be customized JavidPack: Added NPCID.Sets.DoesntDespawnToInactivityAndCountsNPCSlots

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
Solxan: Add warning message if subscribed workshop mod has been removed from workshop (Hotfix) Harper Stoeckle: Fix incorrect text rendering in several places Solxan: Only show community announcements in-game Solxan: Use DisplayNameClean if available for Missing and New Mods messages Ben-tal: Fix Missing Sound Mappings, fixing some sounds that were not playing correctly

[h2]API Fixes and Changes[/h2]
JavidPack: Fix vanilla frost and pumpkin moon music priority JavidPack: Fix issue with using MonoModHooks.DumpIL on methods with generic parameters JavidPack: Fix issue with game update methods being called on server before any player connects CornHusker89: Add check for broken tModLoader methods when verifying mod assemblies, fixing misleading error messages JavidPack: Fix instanced item drops becoming stuck while using NPCLoader.blockLoot JavidPack: Expose ContentSamples.AddItemResearchOverride, Fix ContentSamples.CreativeResearchItemPersistentIdOverride not clearing JavidPack: Fix mods located outside ModSources folder showing up twice in menu Chicken-Bones: TagSerializableSerializer is now able to find subtype serializers in dll references Tyfyter: Let damage classes inherit generic prefixes IbanPlay: Made critter cage lids account for multi-column spritesheets Lion8cake: TileLoader.DrawEffects now called after drawData.colorTint/finalColor assignment Mirsario: Fixed NPC BuffLoader.Update not accounting for buffIndex changes JavidPack: Fix crash from bad build.txt values (Hotfix)

Other

[h2]ExampleMod and API Documentation[/h2]
hezuo1hao: Localize hard-coded text within ExampleMod Thanatos: Fix ExampleSoul item not rendering at the expected full brightness JavidPack: Various Documentation Updates: 1, 2

[h2]Localization[/h2]
Fish: Chinese RazzSG: Russian

We would also like to mention that we have volunteers translating our monthly release announcements into Chinese, Russian, Brazilian Portuguese, Polish, and Spanish. If you would like to help translate these announcements into another supported language, please reach out on Discord.

April 2025 Stable Update

Hello everyone! This last month tModLoader hit an exciting new player count record. We had 56,000 players playing at the same time! We look forward to even more users enjoying playing tModLoader as new mods continue to come out and existing mods continue to update.

It is time for the April 2025 Stable Update.

A notable change for this month's release is the AddSpecialDraw changes for tile rendering. We hope mod makers read the pull request description and apply the fixes to their own tiles if relevant. The full listing of changes is detailed below.

There are several features of note currently in preview for next month. One such feature is support for various biome conversion methods and classes. Another feature is greatly streamlined ModTileEntity code as well as a fully documented BasicTileEntity example. We've added support for customizing swaying tiles as well, allowing mods to make fully functional Chandeliers and other tiles. And finally, this preview also includes support for "custom ID sets", or content tags. This feature has been highly requested for a long, long time and we are excited to see mods use it. We encourage mod makers to experiment with these new features on the preview branch and provide feedback this month so that they are ready for the stable release next month.

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.

Changelog

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.

Major Changes

[h2]New Features[/h2]
JavidPack: TileCounterType.CustomSolid/NonSolid support for AddSpecialDraw, fix blurry example relic tile visuals JavidPack: Added TileID.Sets.NegatesFallDamage for tiles like cloud that prevent fall damage JavidPack: Localize custom player death messages (PlayerDeathReason.ByCustomReason)

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
JavidPack: The warning for family share limitations can now be dismissed permanently. Solxan: Maintaining the monthly release automations

[h2]API Fixes and Changes[/h2]
Ebon: description_workshop.txt now generates by default when creating mods Chicken-Bones: Fix an issue preventing accurate log messages JavidPack: Mod.GetPacket error message clarification, additional related docs

Other

[h2]ExampleMod and API Documentation[/h2]
JavidPack: ExampleMod now uses the newer and simpler collection initializer syntax JavidPack: Various Documentation Updates: 1, 2, 3, 4, 5

[h2]Localization[/h2]
RazzSG: Russian

We would also like to mention that we have volunteers translating our monthly release announcements into Chinese, Russian, Brazilian Portuguese, Polish, and Spanish. If you would like to help translate these announcements into another supported language, please reach out on Discord.

tModLoader peaks at 56k players


tModLoader has peaked at 56,583 concurrent players on 22 March 2025 which is 5 years after release.
View charts and more statistics on our website.

March 2025 Stable Update

Hello everyone!

It is time for the March 2025 Stable Update.

Once again we are impressed with the amount of community participation driving many of the features and bug fixes present in this month's release. Notable changes for this month's release include highly requested changes to tree shaking hooks and changes to modded music volume options. There are also many other fixes to help mod makers identify and fix programming errors. The full listing of changes is detailed below.

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.

Changelog

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.

Major Changes

[h2]New Features[/h2]
Rijam: Vanilla Tree Shaking Hooks Ebon: Added MusicID.Sets.SkipsVolumeRemap[] to allow modded music to play at full volume tomat: Enable developer features for local mods built from outside of "Mod Sources" folder

[h2]API Changes[/h2]
Kogsey: Minor Decraft Fixes Narnia: Added ModCommand IsCaseSensitive property

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
JavidPack: Added help message for confusing situation when a mod disables itself during host and play. Fix issue where server process wouldn't close properly. JavidPack: Fix critter spawn location while in reverse gravity James Puleo: Fix network lag caused by Shimmer buff James Puleo: Fix Skeletron Prime's Laser Arm not shooting lasers as often as expected in Multiplayer JavidPack: Add status text for "Backing up player file" to help diagnose player saving issues Alice H.: More robust Bash launch script code

[h2]API Fixes and Changes[/h2]
JavidPack: Fix various ProjectileLoader/NPCLoader.ReceiveExtraAI exception messages, optimize message size, and reorder modded and global bytes in message James Puleo: Fix `PlayerDisconnect` hook being called with bogus player JavidPack: Fix potential infinite loop with angler quests JavidPack: Prevent modder mistake of dllReferences duplicating a modReferences entry in build.txt JavidPack: Silence "BadImageFormatException: Read out of bounds"-errors in exception logging. Chicken-Bones: Fix line numbers in first chance exceptions Silencersn: Fix an incorrect banner log warning

Other

[h2]ExampleMod and API Documentation[/h2]
JavidPack: Clean up more of Old folder Mirsario: Increased ExampleBiome track's volume due to XACT remapping. JavidPack: Add documentation warning against misuse of Item.SetNameOverride ScalarVector: Update documentation of ModifyDamage hooks to clarify they should not include side effects JavidPack: Various Documentation Updates: 1, 2, 3

[h2]Localization[/h2]
RazzSG: Russian

We would also like to mention that we have volunteers translating our monthly release announcements into Chinese, Russian, Brazilian Portuguese, Polish, and Spanish. If you would like to help translate these announcements into another supported language, please reach out on Discord.

February 2025 Stable Update

Hello everyone!

It is time for the February 2025 Stable Update. The tModLoader team and our amazing community of contributors are back in the swing of things working on new features and fixes for tModLoader this month. Notable changes for this month's release include improvements to startup time and various other fixes. We also intend to enable the Steam Runtime this month for Linux users in an effort to make running tModLoader more compatible across different Linux systems. Please don't hesitate to get in touch if this change breaks anything for you.

For mod makers, features of note currently in preview for next month include expanded tree shaking hooks and expanded shimmer recipe decrafting control.

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.

Changelog

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.

Major Changes

[h2]New Features[/h2]
tomat: Speed up start-up times by postponing .tmod file hash verification

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
Michael Scott: Fix UpdatePlayerLuckFactors network message

[h2]API Fixes and Changes[/h2]
covers1624: Fix dotnet detection under steam runtime on Linux tomat: Allow the fullBright parameter of ModPlayer.DrawEffects to work as expected tomat: Filter actual Mod-extending types to only include non-abstract types Tygyh: Update vulnerable dependencies

Other

[h2]Localization[/h2]
Tomasz: Polish Pixelnando: Brazilian Portuguese

We would also like to mention that we have volunteers translating our monthly release announcements into Chinese, Russian, Brazilian Portuguese, Polish, and Spanish. If you would like to help translate these announcements into another supported language, please reach out on Discord.