1. tModLoader
  2. News

tModLoader News

December 2023 Stable Update

It is time for the December 2023 Stable Update!

The tModLoader team and our amazing community of contributors has been hard at work improving tModLoader. This month's release mainly contains bug fixes and new capabilities for modders. In particular the Mod Browser is more reliable, in-game pop-up notifications are now possible, and mod publishing has been extended to contributors.

A recently added news button on the main menu will link you to the latest tModLoader update news, such as this announcement. If you ever see the button flashing, be sure to click on it to read about the latest news from tModLoader.

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 News for Mod Makers


As a reminder, as of today any modder added as a "Contributor" to a mod on the Steam workshop will be able to publish updates for the mod directly. We encourage mod owners to ensure that all contributors act responsibly with this new capability. We look forward to this feature enabling mods to more reliably update to fix bugs that arise.

New Changes' Highlights


The following is a list of the most noteworthy changes made for this release.

Bug Fixes

[h2]Gameplay Fixes[/h2]
Chicken-Bones - Fix Swords that shoot having wrong rotation for 1 tick. (ChangeDir now updates itemRotation correctly) Michael Scott - Fix hardmode bars incorrectly dropping in Dungeon Crate JavidPack - Terraria logo swap easter egg now only affects original Terraria menu. JavidPack - Fix item swap incorrectly checking digit keys instead of assigned hotkey. JavidPack - Fix "0% critical strike chance" tooltip on thrown water items.

[h2]Quality of Life and Other Fixes[/h2]
JavidPack - Show latest news on main menu Solxan - Improve Mod Browser reliability by fixing a capitalization issue Solxan - More Mod Browser reliability changes JavidPack - Fix Steam Deck physical keyboard input issues (Mid-Month hotfix update) JavidPack - Fix crash when visiting mod config menu (Mid-Month hotfix update) Ibrahim Hussein - Show most recent build time for a mod in develop mods menu. JavidPack - Add instructions to confusing diagnostic menus JavidPack - Error logs now have less duplicate entries JavidPack - Switching back from mistakenly enabling Proton, which is not recommended, will no longer require manually deleting the dotnet folder

[h2]API Fixes and Changes[/h2]
Solxan - Allow Contributors to publish updates to Steam Workshop mods tomat - Add Support for Custom In-Game Notifications LoLXD8783 - Support loading Effects with .fxc files JavidPack - tModPorter can now be launched from in-game on Mac and Linux Lion8cake - Sunflowers, Pumpkins, and Fallen Logs now honor AnchorValidTiles to determine what tiles they can exist on BlinDeex - Add Getters for UIScrollbar visible view sizes values JavidPack - Added Tilemap/Main.tile indexer for Point16 JavidPack - Add Point TagSerializer Lacewing - Update outdated .Net 6.0 SDK install instructions JavidPack - Various documentation updates: WorldGen.KillTile, Mod.HandlePacket, Pully and direction

[h2]ExampleMod[/h2]
Mirsario - ExampleStatue ported David F - Fix ExampleTravelingMerchant Not Saving Shop Items David F - Fix ExampleTravelingMerchant Shop Not Functioning On Servers JavidPack - Restore ExamplePerson npcChatCornerItem example

Localization
Doodlinka - Russian RazzSG - Russian Fish - Chinese Lacewing - Chinese Steam Store Page Wolf Igmc4 - Spanish

November 2023 Stable Update

It is time for the November 2023 Stable Update!

It has been another exciting month. This month's release contains fixes for various gameplay inconsistencies with Terraria. Dye visuals, boss item drops, bomb damage, tool speed, and echo coating have all received fixes to match Terraria behavior. We are extremely grateful to the users that reported these issues to us. The mod configuration menu has been reworked to be less confusing for mods with multiple configuration pages.

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 News for Mod Makers


We have exciting news for modders working in a team. Modders added as a "Contributor" to a mod on the Steam workshop will soon be able to publish updates for the mod to the workshop directly. Mod owners should take some time this month to ensure that everyone listed as a "Contributor" on the Steam workshop for your mod is trustworthy enough for this responsibility. Please remove any contributors that do not meet this standard.

The feature for contributor publishing will be active November 21st starting with our preview releases to provide time to act. Please spread the word to other mod teams you know that might not have seen this announcement.

We look forward to this feature enabling mods to more reliably update to fix bugs that arise.

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.

Bug Fixes

[h2]Gameplay Fixes[/h2]
Rijam - Fix many boss bag and crate item drops JavidPack - Fix even more boss and crate item drops. Fix some droprate calculations. Mirsario - Fix several dyes that were previously broken. Fix cos method for hlsl/shader code. Chicken-Bones - Fix favorited status of items transferring to hand when stack is split. JavidPack - Fix issue with mana regeneration.

[h2]Quality of Life and Other Fixes[/h2]
turtletowerz - Improve and fix the Dedicated Server scripts and instructions Destructor_Ben - Config menu has been reworked to be less confusing stormytuna - Fix mana cost item tooltip to show adjusted values JavidPack - In-game config change messages can now be localized properly. Chicken-Bones - Fix SDL driver fallbacks on Linux. Should help some Linux launch issues. Mirsario - Added Tantamount's patron set

[h2]API Fixes and Changes[/h2]
Destructor_Ben - ModConfig.AcceptClientChanges now has a NetworkText parameter JavidPack - Fix a .hjson file issue for mods with underscores in their name. Edoan - BuffDefinition added for use in ModConfig. JavidPack - Mod.GetLocalization method added for modder convenience. Rijam - Added TileID.Sets.CanPlaceNextToNonSolidTile to allow Living Fire-style modded tiles, tiles that place next to non-solid tiles. Destructor_Ben - Fix an issue causing temp files to appear in Visual Studio and trigger unnecessary rebuilds. JavidPack - Documentation Destructor_Ben, Chicken-Bones - Add parameterless constructor to NPCBestiaryDrawModifiers Chicken-Bones - Fix melee speed affecting tool use speed Lion8cake - Fix remix hardmode passes missing from ModifyHardmodeTasks Destructor_Ben - Added Item.ChangePlayerDirectionOnShoot for items to not change player direction on shoot.

[h2]ExampleMod[/h2]
Kogsey - Ported ExampleCritter JavidPack - Fix Example torch and other flames not getting hidden with echo coating

Localization
RazzSG - Russian

Upcoming Regular Update Announcement (11/2023)

An update has been scheduled for the first week of 11/2023

The update contains several changes to the API for modders.
At time of writing, the community spot check of a selection of mods suggests no mod breakage in this update.

For more information on any of these changes, please consult Our Discord

October 2023 Hot Fixes

The October 2023 release of tModLoader, v2023.08, has been updated with the following bug fixes as of Hot Fix version v2023.08.3.3:
  1. Fixed issues with automatically unloading Monomod edits - Chicken-Bones
  2. Fixed Issues with servers loading new worlds - JavidPack
  3. Fixed issues with Auto Select functionality and hotbar item swap feature - Chicken-Bones
  4. Fixed issue preventing modders from using the open .csproj button - JavidPack

We are happy to see mods already experimenting with the new features.

As always, if you encounter any issues, please reach out in our Discord.

October 2023 Stable Update

It is time for the October 2023 Stable Update!

Over the last month the tModLoader team has been busy fixing bugs and incorporating new functionality into tModLoader. This month's update includes many bug fixes, as usual, but this month's release has a particularly large amount of new functionality for modders to play with.

New features include support for modded Builders Toggles, modded Emote Bubbles, Rubblemaker support, a reworked NPC buff immunity system, a way to store world header data, and the long awaited Extra Jump API. These new features have made their way into tModLoader from the efforts of our amazing community of modders willing to contribute to tModLoader, we encourage modders to continue contributing features to tModLoader. These code changes will allow modders the ability to make things previously prohibitively complex to implement.

We hope players look forward to mods incorporating these new features and encourage modders to take a moment to test their mods today to ensure that they still load, especially if your mod relates in any way to the newly implemented features.

We look forward to seeing how mods make use of these new features. 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.

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.

[h3]Extra Jump API by absoluteAquarius[/h3]
• Adds an API for adding modded extra jumps.
• Extra jumps were previously extremely hard to implement.
• Please read the Extra Jump API pull request page and the Update Migration Guide for more information.

Porting Notes: If you previously used your own approach, please use the tModLoader approach. The Update Migration Guide has more information on how to port your code.

[h3]Add modded world header data by Chicken-Bones[/h3]
• Modded world data can be now be saved into a 'header' in the .twld file. The header can be read without deserializing the entire .twld file, and the modded data is accessible in the world select menu and during vanilla world loading.
• The list of mods the world was last played with is now shown in the world select menu, just like for players
• The list of mods (and version of those mods) the world was generated with is now stored in the header. Only applies to worlds generated in the future of course.

[h3]Modded Emote Bubble by -Cyril-[/h3]
• Modders can now make custom emotes
• Modders can adjust how NPC pick emotes
• ExampleMod shows off several custom emotes and custom emote spawning

[h3]Rework NPCID.Sets.DebuffImmunitySets by JavidPack[/h3]
• Buff immunities for NPC has been reworked to be easier to work with and more functional.
• NPCID.Sets.DebuffImmunitySets has been replaced with NPCID.Sets.SpecificDebuffImmunity, NPCID.Sets.ImmuneToAllBuffs, and NPCID.Sets.ImmuneToRegularBuffs to simplify modder code.
• Added buff immunity inheritance through the BuffID.Sets.GrantImmunityWith set and corresponding methods.

Porting Notes: If your mod has any NPCs or does anything with buff immunity, you'll need to update their buff immunity code. Read the Porting Notes section for more information on how to port to the new code.
Mods should consider using the new buff immunity inheritance system for buff inheritance compatibility.

[h3]Added support for Modded Builder Toggles by xKirtle[/h3]
• Modders can now make builder toggles, which are those small icons top left of the inventory that are used for block swap, wire visibility, etc.

Porting Notes: If you previously made builders toggles using your own approach, use the tModLoader approach.

[h3]Rubblemaker support by GeorgeFeldy[/h3]
• Modders can now add tiles to the Rubblemaker


Bug Fixes

[h2]Gameplay Fixes[/h2]
Rijam - Fixed Moon Lord Treasure Bag Weapons Chicken-Bones - Fix item use sounds playing multiple times for remote clients JavidPack - Call ItemCheck_ApplyManaRegenDelay on 1st frame of item use Chicken-Bones - Add ProjectileID.Sets.PlayerHurtDamageIgnoresDifficultyScaling for explosives Chicken-Bones - Fix melee speed affecting tool use speed Cerbrus - Check UseStandardCritCalcs in ProcessHitAgainstNPC

[h2]Quality of Life and Other Fixes[/h2]
Cerbrus - Automatically enable mod dependencies JavidPack - Disable roll forward when launching using local dotnet install Chicken-Bones - Enable hotbar key item swap and smart select while auto-reusing items Chicken-Bones - Fixes and improvements to smart select while using auto reusing Chicken-Bones - Fix favorite status transferring to hand in PickupItemIntoMouse blushiemagic - Patron sets for HER0zero and Mayne; adjusted rates for patron/dev sets JavidPack - Fix -host command line argument JavidPack - Added a special icon for translation mods Chicken-Bones - Add general purpose SDL driver fallbacks, error reporting and CLI args Chicken-Bones - Silence SteelSeries connection errors and http failures on async threads

[h2]API Fixes and Changes[/h2]
stormytuna - Add missing tooltips to TooltipLine docs Lion8cake - Remix Hallow worldgen is now in the "Hardmode Good" genpass Destructor_Ben - Added field for items to not change player direction on shoot Chicken-Bones - Add useTurnOnAnimationStart to restore turn behavior of earlygame vanilla swords direwolf420 - Modded toilet poo support stormytuna - Added ModPlayer.OnPickup hook JavidPack - Rename (Mod|Global)Projectile.Kill hook to OnKill BasicallyIAmFox - ItemID.Sets.IsSpaceGun BasicallyIAmFox - Made GenPass instances hideable for greater compatibility BasicallyIAmFox - Made TooltipLine instances hideable for greater compatibility Tyfyter - Made Player.shimmerImmune public Cerbrus - Add ModTile.IsTileBiomeSightable hook direwolf420 - BelongsToInvasion NPC sets Destructor_Ben - Better Changelogs JavidPack - ShakeTree createLeaves parameter now defaults to True to match 1.4.4 behavior Destructor_Ben - Add support for tweaking shadow color for in InfoDisplay class JavidPack - GlobalInfoDisplay.ModifyDisplayParameters supersedes ModifyDisplayValue/ModifyDisplayName/ModifyDisplayColor JavidPack - Restore ModConfig and PrefixDefinition functionality direwolf420 - Fix princess not using the intended translation key JavidPack - TranslationsNeeded.txt file can be used to automatically track needed translation counts

[h2]ExampleMod[/h2]
VaemaVoid - ExampleStaff ported direwolf420 - Example Minecart added VaemaVoid - Example Last Prism ported

Localization
RazzSG and Blueberryy - Russian
Pixelnando - - Brazilian Portuguese
Solxan - Support localizing Steam workshop and Store pages

We recently started localizing the store page and workshop tags. We are also lacking a great deal of in-game translations for several languages still. If you are interested in translating these, please get in contact with us on Discord to ask how to contribute translations or visit the tModLoader wiki for instructions.