Coming from Steam?
Looking for install instructions? Click here! (Steam and non-steam)
I don't just want to play mods, I want to create them
I don't just want to play mods, I want to contribute to tModLoader
Welcome to the tModLoader wiki!
This place serves as a center for guides related to tModLoader. These guides help to teach basic concepts regarding tModLoader modding and should prove as a useful resource to modders. Please feel free to contribute guides for topics not yet covered, but please refrain from editing well established guides without consulting the developers first.
Note that the automatically generated documentation will be ahead of the current released version. There is no guarantee that everything here will be present in the current released version.
You can navigate through the pages through the links in one of the sidebars on the right.
A list of useful resources can be found here.
Below is a structured list of wiki pages that you can use to learn more about the API.
If you wish to contribute, please view our contribution guide beforehand.
These pages tend to describe certain files or folders.
- Information about build.txt
- Information about description.txt
- The tModLoader development pipeline (Learn about how tModLoader is built)
- Contribute translations to mods or tML
- Information about the Mod browser (How to use it and how to publish your mod)
- Licensing information (Among other things: how to license your mod, about tML's license)
- tModLoader guide for players -- Learn tModLoader if you want to play mods
- tModLoader guide for developers -- Learn how to work with tModLoader to create mods
- tModLoader guide for contributors -- Learn how to contribute to tModLoader
- Basic tModLoader Usage Guide -- Learn the basics of using tML
- Basic tModLoader Usage FAQ
- Basic tModLoader Modding Starter Guide - Start here if you want to make a mod.
- Basic tModLoader Modding FAQ
- Running a modded server -- Learn how to setup a modded server
- Debugging Multiplayer Usage Issues
These pages aim to aid you to learn how to develop mods properly, how to setup your developing environment etc.
- Developing with Visual Studio -- Recommended
- Developing with Visual Studio Code -- Takes less space, ~200 MB. Can't debug.
- Developing with Rider
- Developing with Notepad++
- Developing on Mac or Linux
- Why Use an IDE
- Update Migration Guide -- Contains info on code updates required for updating mods to new tModLoader releases.
These guides are easy and should be used if you are new to the API. Their goal is to get you familiar with tML and help you learn certain classes.
- Basic Guide Prerequisites
- Basic Ammo Guide
- Basic Autoloading Guide
- Basic Coordinates Guide
- Basic Glowmasks Guide
- Basic Logging Guide
- Basic Minion Guide
- Basic ModConfig Guide
- Basic ModDust Guide
- Basic ModItem Guide
- Basic ModProjectile Guide
- Basic ModRecipe Guide
- Basic ModTile Guide
- Basic Netcode Guide
- Basic NPC Drops and Loot Guide
- Basic NPC Spawning Guide
- Basic Sound Guide
- Basic Time and Timers Guide
- Basic UI Element Guide
The following guides are more advanced than the easy ones, but not advanced or expert level.
- Intermediate Guide Prerequisites
- Intermediate Git & mod management Guide
- Intermediate Modding with C#6 Guide
- Intermediate Modding with C#7 Guide
- Intermediate Netcode Guide
- Intermediate Recipe Guide: RecipeGroups, RecipeFinder/RecipeEditor
- Intermediate Saving and loading Guide
The following guides are considered advanced, and should only be attempted if the intermediate level is mastered.
- Advanced Guide Prerequisites
- Advanced Angular velocity and Linear velocity Guide
- Advanced Custom UI Guide
- Advanced Fixing Mod Not Fully Unloaded Guide
- Advanced Vanilla Code Adaption Guide
- World Generation
Expert-level guides are not necessarily harder than advanced guides, but they more often cover a particular (difficult) subject. Expert guides should be followed if you are interested in learning about complicated topics or improving your mod's quality.
- Expert Guide Prerequisites
- Expert Cross Mod Content Guide -- Call, weakReferences, modReferences, recipes
- Expert IL Editing -- Patching the game using MonoMod
- Expert IL Editing Another Mod
- Expert Shader Guide -- Armor dyes and screen shaders
Guides / Value References / Changes
- BannerToNPC Conversions
- Player Item Animation
- Useful Vanilla Fields
- Useful Vanilla Methods
- Vanilla Interface Changes
- Vanilla Interface layers values
- Vanilla Item Field Values
- Vanilla NPC Field Values
- Vanilla Projectile Field Values
- Vanilla Recipes
- Vanilla World Generation Steps
IDs / Names
- Vanilla Ammo IDs
- Vanilla Buff IDs
- Vanilla Item IDs
- Vanilla NPC IDs
- Vanilla Projectile AIs
- Vanilla Projectile IDs
- Vanilla Sound IDs
- Vanilla Tile IDs
- Vanilla Wall IDs
- Item Class Documentation
- NetMessage Class Documentation
- NPC Class Documentation
- Projectile Class Documentation
- Tile Class Documentation
These are pages that we have so far failed to categorize or simply do not belong in one.