1. tModLoader
  2. News

tModLoader News

September 2025 Stable Update

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

But first, here is a collage of new mods released this past month. There were 390 new mods this month! Have you tried any of these mods yet? Find any hidden gems? Be sure to regularly check the workshop for newly released mods, we're positive you'll always find something fun and interesting to try out. Click here to see the most popular new mods from this month.



As always we are grateful for the massive amount of community participation in developing and testing new features each month.

This month's release contains new interaction options for NPC and projectiles, as well as a full rework of our code analyzer now called tModCodeAssist. The full listing of changes is detailed below.

Modders: We'd like to encourage modders to experiment with the new ModAchievement feature that is currently available on the preview branch. We know modded achievements have been a highly requested feature for some time, so we are excited to see mods use them. We encourage mod makers to experiment with this and other 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]
BasicallyIAmFox: tModCodeAssist (formerly tModLoader.CodeAssist) has been reworked and is now directly included in tModLoader releases. It will now be able to receive frequent updates. This is the code analyzer that fixes various code issues, most notably it fixes "magic numbers" to their correct ID values. BasicallyIAmFox: (Mod|GlobalNPC).PreHoverInteract hooks. Lets modders override or piggyback off of right clicking on or hovering over an NPC. JavidPack: Add ExampleInteractableProjectile and ProjectileID.Sets.IsInteractable. Projectiles can now be targeted by smart select and draw a smart select highlight.

[h2]API Changes[/h2]
Ebonfly: An icon_small.png will now generate by default when creating mods. The icon_small will now show up in the config listing Destructor_Ben: Add opt-out of mod building in tModLoader.targets

Bug Fixes

[h2]API Fixes and Changes[/h2]
JavidPack: Fix wrong item issue with Player.QuickMana_GetItemToUse, Void Bag, and CanUseItem JavidPack: Fix support for manually setting bestiary stars Mirsario: Additional updates for uncapping sound effect pitch JavidPack: Update HookGen

Other

[h2]ExampleMod and API Documentation[/h2]
JavidPack: Add ExampleVine

[h2]Localization[/h2]
Fish: Chinese Fabricio-CL: French RazzSG: Russian

We would also like to mention that we have volunteers translating our monthly release announcements into several other languages. If you would like to help translate these announcements into a supported language, please reach out on Discord.

August 2025 Stable Update

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

But first, some news. This last month we hosted our first official mod jam on our Discord server and it was a mind-blowing success. The theme was "Game Tribute" and we were impressed with how many high quality submissions we had. We thank everyone who participated and hope it was fun and a great practice! We encourage players to check out the mod jam submissions on the workshop here. If you are interested in participating in the next mod jam, be sure to come to Discord and grab the "ModJam Ping" role to be notified.

Also, here is a collage of new mods released this past month. There were over 400 new mods this month! Have you tried any of these mods yet? Find any hidden gems? Be sure to regularly check the workshop for newly released mods, we're positive you'll always find something fun and interesting to try out. Click here to see the most popular new mods from this month.



As always we are 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, such as the highly requested ModConfig.SaveConfig feature. The full listing of changes is detailed below. Users will be happy to know that this release fixes many sound issues, most notably sounds cutting each other off or stopping early.


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]
Destructor_Ben: Add ModConfig.SaveChanges Chicken-Bones: More sound fixes and new SoundStyle options

[h2]API Changes[/h2]
JavidPack: Support and showcase Otherworld alternate music logic KaidenJoy: Negative NPCIDs now compatible with NPCDefinition

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
Harper Stoeckle: Fix escape not working while inputting text on on non-Windows platforms JavidPack: Fix bug causing 2x2 jungle plants to be invisible JavidPack: Fix Sky Dragon's Fury's alternate attack not being affected by melee speed JavidPack: Fix an issue with ShadowFlameHexDoll and use speed hooks.

[h2]API Fixes and Changes[/h2]
Jacob Adams: Support paint spraying for any sized tile JavidPack: NPCDefinition ordering now uses bestiary ordering. Colored slimes now draw in color. JavidPack: Add ShadowFlame to Main.debuff CactusDuper: Fix LongMoss missing from TileID.Sets.IgnoredByGrowingSaplings

Other

[h2]ExampleMod and API Documentation[/h2]
JackerAcid: Improve MessageID Documentation and other netcode methods JavidPack: Update docs to discourage using buggy FindChestByGuessing method JavidPack: Documentation explaining item usage and item animation fields JavidPack: Various Documentation Updates: 1, 2, 3, 4, 5, 6, 7, 8, 9

We would also like to mention that we have volunteers translating our monthly release announcements into several other languages. If you would like to help translate these announcements into a supported language, please reach out on Discord.

July 2025 Stable Update

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

But first, here is a collage of new mods released this past month. Have you tried any of these mods yet? Be sure to regularly check the workshop for newly released mods, we're positive you'll always find something fun and interesting to try out. Click here to see the most popular new mods from this month.



As always we are 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, such as loadout support for modded accessory slots new hooks for tile preview rendering. The full listing of changes is detailed below. Users can use a new chat command (/purgeunloaded) to remove unloaded tiles in worlds that are from mods they are no longer using.

Modders: There are several features of note currently in preview for next month that modders can test and provide feedback for. The most impactful change in preview this month relates to a large batch of fixes we've made to various vanilla sounds. These fixes should finish bringing all sounds to parity with vanilla behavior. These changes might influence existing mod logic as well, so be sure to test out sounds in your mods after reading the porting notes. 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]
Adrian Lück: Add equipment loadouts support for ModAccessorySlot queue: Tile Placement Preview Draw Hooks Ebonfly: ModNPC.DeathMessage, ModNPC.ModifyDeathMessage(), and NPCID.Sets.IsTownChild

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
JavidPack: Fix another map file saving issue if loading corrupted map file JavidPack: Finish implementing deleting unloaded tiles feature, add VanillaFallbackOnModDeletion examples

[h2]API Fixes and Changes[/h2]
JavidPack: Fix ModProjectile.GlowTexture not drawing for projectiles with multiple frames JavidPack: Fix wall blending (Main.wallBlend) issues for modded walls JavidPack: Fix ModGore permanently transforming into vanilla gore in some situations IbanPlay: Fix incorrect tile update check in Worldgen.TileFrame()

Other

[h2]ExampleMod and API Documentation[/h2]
JavidPack: Fix ExampleStatue to flip like other statues. JavidPack: TileID.Sets.BreakableWhenPlacing/ReplaceTileBreakUp documentation and correct ExampleMod usages TerrorPenguin: Update ExampleBar to break properly when above another hammered bar tile JavidPack: Add note about ItemID.Sets.Deprecated not being fully supported yet JavidPack: Various Documentation Updates: 1, 2, 3

[h2]Localization[/h2]
Fish: Chinese 1, 2 RazzSG: Russian

We would also like to mention that we have volunteers translating our monthly release announcements into several other languages. If you would like to help translate these announcements into a supported language, please reach out on Discord.

June 2025 Stable Update

Hello everyone! We've hit another impressive milestone this last month. The workshop now has over 10,000 mods available! That's amazing! Be sure to regularly check the workshop for newly released mods, we're positive you'll always find something fun and interesting to try out.

Each month hundreds of new mods are released, each a result of countless hours of work put into them by their creators. Here is a collage of the icons of most of the new mods released this last month alone.



It is time for the June 2025 Stable Update.

We are once again grateful for the massive amount of community participation in developing and testing new features each month. Modders can look forward to new hooks and learning examples showcasing new capabilities. Some notable new features include a full custom ModType example in ExampleMod and new hooks for properly implementing custom equipment layers and draw flags. The full listing of changes is detailed below.

Preview: There are several features of note currently in preview for next month that modders can test and provide feedback for. One new feature is equipment loadout support for ModAccessorySlot. We'd like to encourage modders to test this new feature so we know it is ready for release. Other features in preview include support for custom death messages for town NPC and bosses as well as support for clearing a world of tiles from unloaded mods. Please 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]
Ebon: UpdateVisibleAccessory and UpdateItemDye hooks for items, CustomVisualEquipType example showcase JavidPack: Added a Custom ModType Example to ExampleMod JavidPack: Added Player.breathEffectiveness to facilitate "extends underwater breathing" effects

[h2]API Changes[/h2]
Ebon: Uncapped sound effect pitch property Ebon: Long and ulong type support for ModConfig Ebon: Added (Mod|Global)Wall/ModPlayer.CanBeTeleportedTo() to support preventing teleporting to specific locations Jacob Adams: Expose MapOverlayDrawContext state for use in custom map layers

Bug Fixes

[h2]Quality of Life and Other Fixes[/h2]
Solxan: Show a message if a subscribed workshop mod has been delisted JavidPack: Deleting a mod will no longer scroll back to top of the mods menu JavidPack: Fix clipboard feature not properly clearing existing clipboard data JavidPack: Fix text wrapping not working for Main.NewText when zoomed in or out JavidPack: Mods with only hidden NPC will no longer show up in the bestiary filters

[h2]API Fixes and Changes[/h2]
Chicken-Bones: Throw exception when player draw layers attempt to position relative to other movable layers Silencersn: Fix a game crash caused by attempting to save special list types JavidPack: Make some requested wind and tile drawing related fields/methods public

Other

[h2]ExampleMod and API Documentation[/h2]
stormytuna: Add documentation noting which hooks are called where in multiplayer Ebon: ExampleCameraModifier added, showcasing a custom camera modifier

JavidPack: Various Documentation Updates: 1, 2, 3

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

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.

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.