Skip to content

1.4.5 Update Information (Development, FAQ, and other information) #5070

Description

@JavidPack

Terraria 1.4.5 Support

tModLoader is in the process of updating to the Terraria 1.4.5 update (Bigger and Boulder). Updating tModLoader to 1.4.5 is a large undertaking and will take many months yet.

If you are a player, we ask that you remain patient. News on 1.4.5 support will be delivered in monthly news announcements on Steam.

If you are a modder and interested in helping design, test, or contribute to the 1.4.5 tModLoader, see the tModLoader 1.4.5 Development section further below.

Terraria 1.4.5 Support FAQ

Q: "Will all of my mods still work on v1.4.5 immediately?"
A: Due to how much has changed in the Terraria v1.4.5 update, the short answer to this is "no". Modders will, however, have ample opportunity to update their mods to v1.4.5 before it is officially released, so as long as the mods you are using are still maintained by the modder, they should be available on v1.4.5 once it has a stable release for players.

Q: "What will happen to 1.4.4?"
A: 1.4.4 mods and the 1.4.4 version of tModLoader will continue to exist and be available for players both during porting and after. It will be supported as a Legacy version like 1.3 and 1.4.3.

Q: "When will 1.4.4 stop receiving updates?"
A: 1.4.4 will continue to receive maintenance updates to ensure it stays functional. We do not have a date for when content updates will stop; in the near-term 1.4.4 will continue to receive regular updates until we are ready to 'Preview' the 1.4.5 beta build to modders.

Q: "Will 1.4.5 be backwards compatible with my worlds and players from 1.4.4?"
A: From tModLoader's side, one of our guiding principles is to ensure the player experience is as seamless as possible. We aim to maintain backwards compatibility in tModLoader and encourage modders to keep this in mind when it comes time.

tModLoader 1.4.5 Development

Work on the 1.4.5 update happens on the 1.4.5 branch. The 1.4.4 branch is still being maintained and regular monthly stable updates for 1.4.4 tModLoader will continue, although large features and pull requests will likely be put off for the 1.4.5 release.

The 1.4.5 branch of tModLoader is currently buildable and launches, but there is much work to be done. Due to changes in the Terraria 1.4.5 update, there are many things that need to be reimplemented, reworked, or removed. For example, many code patches were unable to be applied and are temporarily disabled. Another example is major changes like the new WorldItem class. Each of these changes require work to reintegrate tModLoader's hooks and changes.

Progress on 1.4.5 tModLoader will happen primarily through pull requests from contributors and modders. If you are reading this, that includes you! The following section details guidelines for working on the 1.4.5 update.

PortingNotes_1.4.5.md

The PortingNotes_1.4.5.md file contains the main "TODO" items for restoring all tModLoader functionality. Contributors should find work items in the file they are interested in fixing and implement them on a branch on their fork of the tModLoader project. (If you are new to tModLoader development, please read the tModLoader guide for contributors wiki page.) Please make sure to delete lines from PortingNotes_1.4.5.md as well in your PR so we can track what tasks remain undone.

Please make small pull requests that are focused on a single area of the code so the tModLoader team can more effectively review and merge your code changes. You can make multiple branches on your fork and make separate pull requests if you want to work on multiple features.

1.4.5 Milestone Issues

The 1.4.5 Milestone lists issues specific to 1.4.5 that we intend to resolve for the 1.4.5 stable release. Many of these issues expand upon TODOs noted in PortingNotes_1.4.5.md, while others are long-standing suggestions that we wish to resolve since it is a good opportunity to do so. Issues have been made for these work items because they require more discussion from the community, need feedback, or are just larger in scope that other TODOs.

ClassName.cs.rej files

There are many code patches that we were unable to apply to the 1.4.5 source code. These patches are found in various .cs.rej files and are shown in the solution explorer next to their normal .cs file counterpart. Like PortingNotes_1.4.5.md, these also represent TODOs. If relevant to your pull request, please delete any patches that you are positive are no longer needed or have been implemented independently with new code.

To delete from a .cs.rej file, open the .cs.rej file, scroll down and find the patch, then delete that patch by deleting the lines from the @@ line down to but not including the next @@ line.

Image

tModPorter

tModPorter is used to make automatic code changes to mods to facilitate porting a mod to new tModLoader versions. We want to make migrating a mod to 1.4.5 as simple as possible, so we want to make sure that tModPorter covers all the major changes it is able to. If an automatic fix is not possible, tModPorter will instead add comments to provide instructions to the modder on how to adapt for the changes.

The Contributing to tModPorter guide teaches how to implement new fixes into tModPorter. If you are making a pull request, please consider implementing tModPorter fixes as well if relevant. We know the tModPorter code might seem foreign to many programmers, so feel free to leave it to the tModLoader team if you are unsure.

Migration Guide

We intend to update the migration guide wiki page with information on migrating from 1.4.4 to 1.4.5, similar to the 1.4.3 to 1.4.4 migration guide.

When making a pull request, please also update MigrationGuide_1.4.5.md with instructions to modders describing changes that they should be aware of. Larger changes go in their own sub-section and smaller changes can be grouped with other small changes where appropriate.

This information should also be in the pull request description as well to help with the review process.

Wiki Updates

Since the stable version of tModLoader is still 1.4.4, we don't intend to update the information presented in the wiki until 1.4.5 becomes the new stable release. Feel free to write up or document any changes that should be made in either PortingNotes_1.4.5.md or in a section of your pull requests.

Steam Beta Branch

There is a steam branch that will update with each commit to the 1.4.5 branch: 1.4.5-dev. The password is iamacontributor. Read this to learn how to switch to beta branches.

You'll still want to build locally for a debug build if you run into any exceptions and need to debug an issue, but it should be convenient for modders and contributors to test the current build or verify fixes quickly.

Do not attempt to publish updates to mods on 1.4.5 yet, that is not yet implemented. There are various useful testing mods pinned to the collaborators channel in the tModLoader Discord, which should help development. (Currently CheatSheet and RecipeBrowser)

At this time we'd like to stress that this 1.4.5 development build is mainly for contributors and we don't want regular users to use it expecting it to be playable or stable. It will change daily and bugs will happen. If you come across bugs, please check if it is documented in the PortingNotes_1.4.5.md file or if an issue has already been made before making a new GitHub issue.

Testing

Once 1.4.5 development is farther along, we will need to test and verify all hooks and other features. This process will happen organically, but we might want to make a checklist of all hooks sometime later.

Porting Mods

Please run tModPorter first! If you run into anything that is not covered by tModPorter, please let us know, update tModPorter yourself, or make note of failing code snippets in PortingNotes_1.4.5.md so we can handle it.

We want to make sure tModPorter covers most changes automatically and that we have good instructions for anything that can't be handled automatically.

Also note that code and the API might change and tModPorter will get better at handling more things, so don't put too much effort into porting mods right away. Some useful testing mods are posted to a pin in the collaborators channel in the tModLoader Discord.

Large Changes

We expect larger features to be implemented into tModLoader in addition to replicating the 1.4.4 hooks and features. These larger changes will likely happen as discussions and pull requests as usual.

Vanilla Changes

There is still time to make requests for changes to the Terraria source code for future hotfixes. If there is anything in vanilla that if tweaked would highly benefit tModLoader, let us know in the collaborators channel in the tModLoader Discord.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions