1. tModLoader
  2. News
  3. TML 2022 July Stable Update

TML 2022 July Stable Update

July's Stable TML release is here with more polishing, new API features, and many improvements made to the tModPorter utility.

Earlier Mid-month Changes


The following changes & fixes have been merged into stable in June, but were not mentioned anywhere on Steam yet:

[h3]Restore vanilla melee speed balance by ThomasThePencil[/h3]
• Melee speed interactions have been restored for vanilla weapons.
(Yes, projectile fire rate is now unaffected again.)
• Modders can turn this off for vanilla hybrid (shoot and melee) weapons by setting Item.attackSpeedOnlyAffectsWeaponAnimation = false.
• Adds tooltips about melee speed effects.
• Adds a tooltip for modders to indicate they have modified the stats of an item (from vanilla, or another mod.)

Porting Notes: #preview-update-log in Discord

[h3]Make Workshop Image Separate by Solxanich[/h3]
• Introduces icon_workshop.png as the default Workshop Icon as opposed to using icon.png.
• You can still select to use icon.png during publishing.
workshop_icon.png is recommended to be 512x512.

[h3]Make Workshop Description Separate by Solxanich[/h3]
• Introduces description_workshop.txt as the default Workshop description as opposed to using description.txt.
• It will still use description.txt IF a description_workshop.txt isn't provided.
• Workshop description's should be known as having separate syntax to what was used historically. Click here to see Steam Formatting Help.
• Updated Workshop Image to fall back on icon.png if icon_workshop.png isn't provided.


New Changes' Highlights

The following is a list of the most noteworthy pull requests and commits that have been pushed to 1.4-preview in June, and are now available on the default/stable branch.

[h3]Save & load for NPCs by Ishigh[/h3]
• Adds the ability to save custom data on NPCs (even non-town NPCs.)
• An NPC which needs to save won't despawn naturally.
• override Mod/GlobalNPC.NeedSaving() to make non-townNPCs save.

[h3]WhipSettings & ExampleWhip by JohnSnail[/h3]
• You can now easily make modded whips.
GlobalProjectile can also now modify the settings for modded and vanilla whips.

Porting Notes, Examples: #preview-update-log in Discord

[h3]More ModTrees code by Ved-s[/h3]
• Added (ModTree|ModPalmTree).Shake hooks, which allow control over on-tree-shake item and leave drops, as well as a place for custom logic.
• Added (ModTree|ModPalmTree).CountsAsTreeType overridable getter property, which allows control over what vanilla on-shake drops the tree should (or shouldn't) have. Defaults to TreeTypes.Forest for ModTrees and TreeTypes.Palm for ModPalmTrees.
• Mod trees will now create leaves in more vanilla scenarios, like during windy days, or when shaken.

Porting Notes: #preview-update-log in Discord

[h3]Move Mod's CreateRecipe and CloneRecipe to Recipe by ExterminatorX99[/h3]
• Now means you don't need a Mod instance to create recipes, and that you can't assign them to other mods accidentally.
• You can even call ModItem.CreateRecipe on a ModItem from another mod and the recipe will be attributed to your mod.
• tModPorter will do the CreateRecipe refactor for you.
• Methods have been marked as [Obsolete] so that not every mod needs to recompile immediately.

Porting Notes: #preview-update-log in Discord

[h3]Add CanBeSloped for non solid tiles by Ved_s[/h3]
• Adds TileID.Sets.CanBeSloped set which will override the simple Main.tileSolid check in Player.ItemCheckUseMiningToolsTryPoundingTile.
• Usage: TileID.Sets.CanBeSloped[Type] = true;

[h3]Easier continuous projectile damage updates by Chicken-Bones[/h3]
• Adds Projectile.ContinuouslyUpdateDamage to mimic the continual damage updates that minions and sentries get, but for all damage classes.
• Automatically sets Projectile.originalDamage during SetDefaults via EntitySource_ItemUse.

Porting Notes: #preview-update-log in Discord

[h3]Bestiary Fixes by Jopojelly[/h3]
• Restores ExampleSurfaceBiome map background display.
• Fixes PartyZombie to show ExampleSurfaceBiome background.
• Fixes ModBiome.SetStaticDefaults being unable to properly assign DisplayName.
• Changes Special Visuals to be called every frame and receive isActive bool instead.

Porting Notes: #preview-update-log in Discord

[h3]Add ModItem support to ItemTags by jopojelly[/h3]
• You can now use modded items in chat tags, like [i:ExampleMod/ExampleItem]. Useful for translation keys and in-game chatting.

[h3]NPC Dialogue Fixes by absoluteAquarian[/h3]
• Fixes NPC Chat Tags to work correctly for mods.

Porting Notes: #preview-update-log in Discord

[h3]Prevent SDL2 loading on servers by Mirsario[/h3]
FNAPlatform functions for accessing graphics, audio and input, will no longer be initialized on servers.
• Fixes TML not being able to be ran on headless systems (systems without graphics cards, drivers, or desktop environments.)
• Fixes illegal usage of FNA APIs related to the aforementioned functions on servers not being properly reported.

Porting Notes: #preview-update-log in Discord

[h3]Make Mods able to Opt-out of being detectable on Preview by Solxan[/h3]
• At the request of modders, they now have the capability to push builds to Preview on Steam Workshop without making them user-playable until the stable release of that TML version.
• This was introduced specifically so that modders can stage their mod ahead of the monthly updates on Workshop, without creating a divide in the user base.
• This does not affect the capability to develop mods, and only affects the availability of your mod to be loaded from Steam Workshop while on preview.

(The feature is obviously only usable on Preview right now.)

[h3]Also - Lots of localization updates[/h3]
• For Brazilian Portuguese, by Pixelnando.
• For Chinese, by Sgkoishi and Crapsky233.
• For Polish, by NothyariS0.
• For Russian, by Ved-s.
• For Spanish, by Wolf-Igmc4.

[h3]Also - tModPorter Improvements[/h3]
We've done many improvements to tModPorter to flesh out its features and address gaps.
Check out our GitHub for more info.

A lot of popular 1.3 Terraria era mod authors have now used tModPorter to speed up their mods' porting process by many many times. We're very excited to soon see some of the biggest remaining ones arrive for modern TModLoader.

[h3]And these Bug Fixes:[/h3]

LordOfOtakus: Fix Mac Steam Overlay not loading Crapsky233: Fix for a Gamepad Overlapping UI issue absoluteAquarian: Some Sound Bug Fixes Ved_s: Further generalization of ModTree/ModPalmTree code in the backend of tModLoader ThomasThePencil: Fix Santa the Santa town npc bug Exterminator: Fix Player.ZonePurity always false on servers Exterminator: Fix ModSystem.ModifySunLightColor Exterminator: Fix an issue with Recipe Ordering Exterminator: Fixed music loading issues Solxan: Fix Steam not unsubscribing players from Mods on deletion Solxan: Update Steamworks.NET to a better library to fix issues with Max and Linux Mod Publishing Mirsario: Fixed #2544 (Cannot open links with Firefox) Jopojelly: Make Open Folder button in Mods also open folder location for Steam installed mods Jopojelly: Stop spamming the 'Freeze has Begun' message on Preview Jopojelly: Fix error when entering just a space in chat Chicken-Bones: Decrease frequency of random lighting game freezes Chicken-Bones: Fix crash when loading a persistent mod npc with no global data Chicken-Bones: Fix a misleading exception with regards to TerrariaSteamClient feature Chicken-Bones: Disable QuickEdit in Windows Console to fix startup issues when clicking in console Chicken-Bones: Increase the speed of Instantiating Globals Chicken-Bones: Fix MusicLoader fatal crash when mod loading fails

[h3]With the following Day One Bug Fixes:[/h3]
  • Linux Steamworks change:
    WARNING: Linux Users, it was identified after release that the Steamworks lib change was not deployed correctly by Steam due to a case-sensitive name change bug in Valve's updates. The recommended user-side fix is to delete the Libraries folder and then 'verify file integrity' in Steam. An attempted fix was pushed under 2022.06.96.4, however the issue is more complex than a script can fix. Please apply the recommended fix accordingly.
  • Avoid unnecessary Error Throwing on 'FolderShortcutSupport' exceptions:
    We deployed a day one patch under 2022.06.96.2 as a large amount of users reported issues with this feature. We are investigating potential improvements for those impacted.


Known Issues
  • I'm getting the "built for 2022.5" warning with "JIT" errors on a mod that should've been updated!
    If you are sure that the mod should now be working on newest TML, yet are still having problems, first verify if the mod is showing as purple in the mods menu - if it is purple, delete it, and than redownload as required. If it is not purple, either unsubscribe and resubscribe OR use the 'Verify Files' function in Steam to force the update to be delivered to you. Sometimes the Steam auto-update fails to deliver for a prolonged period of time.
  • I'm getting bombarded with a bunch of 'FNA -> 22.6' looking errors on startup
    As an extension of the Linux auto update bug from Steam, Windows is also seeing issues with FNA. The recommended fix is to delete all files in your install folder, and re-install.
  • My game doesn't launch, and I'm on Windows!
    Delete the dotnet folder in the install folder, and try again. There seems to be a bug with extracting needed libraries on some windows devices where it takes two attempts. We are actively investigating improvements to remedy this.
  • Some of my mods aren't updated and I want to downgrade!
    As always, mods retain copies for the current month, last month, and pending copies for next month. It is thus fully possible to downgrade and play last month's tModLoader version following the manual instructions here: Link.


Frequently Asked Questions


[h3]How do I switch to the 1.4-preview or 1.3-legacy branches of TML?[/h3]
To switch to another branch in steam, just do the following: 1. Right click on tModLoader in Steam and select 'Properties...', then 'BETAS';
2. Select the branch you want in the drop-down menu on top;
3. Close the window. You don't need to enter any passwords.
Please note: 1.4-preview versions of TML are intended to only be used by mod developers and testers who know what they're doing. Some popular mods' authors do not intend for their mods to always work with it.

[h3]When will tModLoader be 64-bit???[/h3]
It's already 64-bit!
TML runs in AnyCPU mode with x86_64 natives on .NET 6.0+, using the FNA framework, under a singular universal cross-platform release. Is good.

[h3]I have a 32-bit OS, will it be supported?[/h3]
32-bit Windows system support (natives) might be pushed to stable soon™️, we've already done the work that was needed for that.
But be aware that the only somewhat valid reason to still be on a 32-bit OS in 2022 is having 2 gigabytes of RAM or less.

[h3]Why are you guys so slow with these update posts?[/h3]


Our Lovely Supporters
Special thanks to the following people who have supported us on Patreon in the last month:
orian34, dinidini, Andrew Nelson, SheepishShepherd, Neuron, Nike62, Jeremy Weeks, Hunter Amelink, Patcheresu, Toni Stache, Hao Wu, Soft Scratch, Steptimus Heap, absoluteZero, Chris Book, Hana Mizuno, Marco, John Gabriel Wilson, Chris Cheeseman.




See you all next month!