



Current version: v0.11.7.4

Compatible with Terraria 1.3.5.X

Steam Platforms: Windows, Mac, Linux



Note: The mod browser will sometimes go down during heavy load. Modders, please also provide your own downloads of your mod for whenever this happens.​

tModLoader saves worlds and players separately from vanilla worlds and players.

Example Mod​

Instructions​

Help and Resources​

the tModLoader team @bluemagic123 @jopojelly @Chicken Bones @Jofairden

@Itamar - Mount support and hooks

@Jeckel - GOG version

@Eli10293 - Mod Browser loading icon animation

@zadum4ivii - Russian translations

@Shockah - Polish translations

Aleck - Portuguese translations

Magnowser - Spanish translations

orian34 - French translations

@Kimi Arthur - Chinese translations

xxSephiroth - German translations

Re-Logic - Creating such a great game to mod

The tAPI team - Creating tAPI, the 1.2 modding API

Magikaas

@Jabberwocky

ItsWill.

@LittleDevilKitty

toplayz

@dinidini4000

Jordan Mitri

SheepishShepherd

Panini

@orian34



Manual Installation (Steam/GoG)​

Spoiler: v0.11.7.4 - 5/30/20 - Fixed an npc spawn issue.

Spoiler: v0.11.7.3 - 5/29/20 Major:

GOG Install should work again. Make sure terraria v1.4.0.4 installed.

You can install TML into the GOG dir if you want, make sure a v1.4.0.4 Terraria.exe is present.

If you patched your Terraria.exe, make a copy of the original exe and name it Terraria_1.4.0.4.exe Fixes:

Fix a RandomUpdate issue (Surface updates)

Fix LogArchiver.DeleteOldArchives() not working with "Old" log archive subdir

Fix 'File already exists' in LogArchiver.MoveOldLogs()

Fix mods failing to compile for unresolved FNA during pdb generation

Fix includePDB in build.txt only looking for PDB files, not MDB files

Fix MdbManager.TryResolveLocation sometimes NullReferenceExceptions, causing Exception ToString()'ing to blow up (cf. HookGetStackTrace)

Fix shoes not drawing

Fixed upgrading .csproj going back to top of list (Game now remembers scrollbar position) Other:

Refactor InstallVerifier

Extra tips for error messages

ExampleLaserWeapon updates

PaintID

Example Last Prism

Made ExampleExplosive count towards Demolitionist Spawn/ItemID.Sets.ItemsThatCountAsBombsForDemolitionistToSpawn

Added a menu for world gen crashes

UIModConfig update

Added a log message for steam cloud quota.

Memory estimates for mods now show by default

Spoiler: v0.11.7.2 - 5/22/20 Steam Cloud:

Using cloud saves should no longer make them disappear... Sorry about that. Mod Loading:

Use multiple cores to pre-JIT methods in Terraria.exe, this should improve loading performance for some people Installation:

Added checks for correct Content directory and Terraria install Other:

Added some error logging to mod creation

Dynamically show the notification in the mod creation menu

Updated some error dialogs

Pack Newtonsoft.Json in root of embedded resources so it extracts with the correct name in references folder

Refactor/simplify "Terraria" name redirection in AssemblyManager.CecilAssemblyResolver

Added fallback save directory support if antivirus false positives can't be avoided. Simply make a file called savehere.txt in the install directory. Bugs:

Fixed some errors happening during log archiving

Fixed an issue where the modder could get stuck in the mod development welcome UI

Fixed Failed to resolve assembly for Terraria v1.3.5.3 etc.

Fixed an issue with TML debugging

Fixed an issue with building mods before updating ModCompile

Fixed an issue with the mod generator on Linux and Mac

Fixed Duplicate attribute errors

Fixed folder opening on Linux

Spoiler: v0.11.7.1 - 5/18/20 Fixed not being able to click ' Enable developer mode '

Fixed debugging not working

Fixed ModPlayer.OnHitAnything() hook not being called.

Fixed 'Arithmetic operation resulted in an overflow'

Fixed some dye issues

Fixed some "Please ensure Steam is running" errors. If this issue persist, make a file named steam_appid.txt file in the tModLoader with the contents: 1281930

Spoiler: v0.11.7 - 5/16/20 Major changes:

New patcher system. TML now uses a new patcher system that was worked on for 3 years using .net core 3.1

-- There are many additions and changes to this patcher that are undocumented

-- There are many additions and changes to this patcher that are undocumented Roselyn based formatter and simplifier in patcher

New internal ILSpy version

TML changed to MIT license, as necessary for a Steam release

TML release on Steam officially in partnership with Re-Logic!

tModLoader.CodeAssist integrated into the mod generator Other:

Game checks if it has focus when holding shift to skip mods

Improved various logging operations

Updated localizations

Added RecipeGroupID/int overload for RecipeFinder.AddRecipeGroup and ModRecipe.AddRecipeGroup

Provided access to method that handles commands

Added support for ModSigns and provide ExampleCommandSign

Added sign validation in WorldIO

When compiling and loading mods, check for {Dep}.XNA.dll and {Dep}.FNA.dll

Platform specific lib packaging doesn't need to interact with -eac

Added NPC DrawBehind hook

Added hovering information for Mystery tiles

Added a retry button if mod compilation failed

Added a player team enum in Terraria.Enums

Improved the Player.VanillaUpdateEquip/Accessory patches

Disbled Steam Achievement module for Steam release

Improved mod browser buttons

Updated MonoMod

Added code to find vanilla steam install dir on MacOS

Custom TML Content Manager so TML can be installed alongside Vanila

Added a skip mod loading button during loading screen Mod browser:

Improved downloading cancellation handling Mods:

Upgraded csproj format with new target files Bugs:

Fixed streaming music on FNA in main menu

Fixed empty items de-serializing as unloaded items when using TagSerializable

Prevented bad pitch and volume values from throwing errors.

Fixed double wildcard logic for embedded resources in decompile task

Fixed and issue causing freezing and lag when enabling or disabling many mods

Fixed GOG checks not working correctly when tML is not Terraria.exe

Fixed 'Missing dll reference: .dll.dll' errors on build

Fixed .targets file failing with ampersand characters

Fixed SynchronizationLockException during Preferences.Save

Fixed UnauthorizedAccessExceptions in the setup tool by replacing directory deletion with wiping.

Fixed DirectoryNotFoundException in setup's DeleteEmptyDirs

Fixed whoami/active inconsistency with entities on unload

Fixed Mod Generator setting LangVersion to latest, causing issues for c# 8 features

Fixed ModPackets during mod syncing causing errors ExampleMod:

Added ExampleResourceBar and ExampleResource

Removed bad example in Face.cs

Fixed Example Traveling Merchant shop not clearing

Added ExampleSand

Added ExampleCactus

Added ExamplePalmTree

Improved some documentation in ExampleStatue.cs

Fixed some issues with ExampleAdvancedRecipe.cs

Added ExampleDashAccessory and ExampleDashPlayer

Added ExampleFlail

Updated ExampleSword documentation

Fixed killing Walls not killing ExampleTorch, ScoreBoard and BossTrophy

Fixed ScoreBoard NewRightClick logic

Updated ExampleAnimatedPierce documentation

Improved ExampleSapling

Fixed some typos across the board

Fixed ExampleCritter ILHook

Updated ExampleHerb

Spoiler: v0.11.6.2 - 1/2/20 Fixes

-Fix imgur/mod icon related issues

-Fix issue with high speed yoyos

-Fix issue with multiple texture packs

-Fix issue with hidden files in the texture packs folder

-Fix rare issue with auto migration of Players and Worlds

API

-Internal loops in .ogg files now supported

-PDB files are available as a separate download for troubleshooting scenarios. If you are seeing exceptions in tModLoader code, placing the pdb file in the install directory and renaming it to the .exe filename should make the exception stack traces have line numbers for tModLoader methods.

Patreon Thanks

-Added POCKETS patreon set

Spoiler: v0.11.6.1 - 12/24/19 QOL

-Mod Extract now opens the destination folder automatically

-ModConfig boolean item now shows text as well



Fixes

-Fix MonoMod issue where old code was running when mod re-built or updated.

-Fix issue with mod load cancelling

-Fix join invite issue

-Fix ValueTuple issues, as seen with recent releases of ThoriumMod and CheatSheet

-Exceptions will now be thrown for reading too few bytes in HandlePacket (check logs)

-Fix "Failed to unload" messages not working

-Fix mod compile error line numbers being one off

-Fix ServerHangWatchdog on mono

-More info for ReflectionTypeLoadException

-Fix ModConfig Dictionary<string,T> issue

-Fix Shaders being unable to update without a restart

-Fix OutOfMemory handling behavior



API

-GlobalItem/ModItem.PrefixChance and AllowPrefix -- More control over prefix assignment

-ModMountData: JumpHeight and JumpSpeed have new parameters. SetMount, Dismount, and Draw hooks allow greater mount customization.

-GlobalItem/ModItem.CanBurnInLava hook, allows for enabling lava burning of specific items. Thanks

-MonoMod updated to v19.12.19.01. Thanks

-.lang file entries are no longer Trimmed.



ExampleMod

-ExampleSimpleMinion, an easy to follow minion example, Thanks

-ExclusiveAccessory, Thanks

-AllowPrefix and PrefixChance examples, Thanks

-Hurt sound replacement example, Thanks

-Car now has example of _mountSpecificData usage, as well as SetMount and Draw

-Hot Potato/ExampleCustomData example, shows saving and syncing custom ModItem data via ModItem.Save/Load/NetSend/NetRecieve

-ToFromStringConverter example for ExampleConfig, Thanks -Mod Extract now opens the destination folder automatically-ModConfig boolean item now shows text as well-Fix MonoMod issue where old code was running when mod re-built or updated.-Fix issue with mod load cancelling-Fix join invite issue-Fix ValueTuple issues, as seen with recent releases of ThoriumMod and CheatSheet-Exceptions will now be thrown for reading too few bytes in HandlePacket (check logs)-Fix "Failed to unload" messages not working-Fix mod compile error line numbers being one off-Fix ServerHangWatchdog on mono-More info for ReflectionTypeLoadException-Fix ModConfig Dictionary issue-Fix Shaders being unable to update without a restart-Fix OutOfMemory handling behavior-GlobalItem/ModItem.PrefixChance and AllowPrefix -- More control over prefix assignment-ModMountData: JumpHeight and JumpSpeed have new parameters. SetMount, Dismount, and Draw hooks allow greater mount customization.-GlobalItem/ModItem.CanBurnInLava hook, allows for enabling lava burning of specific items. Thanks @GoodPro712 -MonoMod updated to v19.12.19.01. Thanks @0x0ade -.lang file entries are no longer Trimmed.-ExampleSimpleMinion, an easy to follow minion example, Thanks @direwolf420 -ExclusiveAccessory, Thanks @direwolf420 -AllowPrefix and PrefixChance examples, Thanks @direwolf420 -Hurt sound replacement example, Thanks @KryptonIon -Car now has example of _mountSpecificData usage, as well as SetMount and Draw-Hot Potato/ExampleCustomData example, shows saving and syncing custom ModItem data via ModItem.Save/Load/NetSend/NetRecieve-ToFromStringConverter example for ExampleConfig, Thanks @direwolf420

Spoiler: v0.11.5 - 10/6/19

-Auto-Update implemented on Linux and Mac (subsequent release should be available as auto-update)

-Mac manual install greatly simplified

-Linux manual install simplified, now distributed as .tar.gz instead of .zip

-First Launch Welcome Message

-Navigating from More Info back to Mods menu now preserves scroll position

-Clear button in modded hotkeys menu

-Updating disabled mods no longer forces it to be enabled

Fixes

-Fix issues with logs that prevented the game from launching

-Fix super fast scrolling issues

-Fix server side ModConfigs failing to save when edited in-game

-Fix Smart Select bypassing ModNPC and GlobalNPC CanChat. Thanks

-Fix ModConfig DictionaryElement Key/Value types swapped issue

-Fix TmodFile leaving handle open on read exception.

-Fix ModNet progress UI

-Fix issue preventing mod compilation in Visual Studio ("Failed to resolve assembly")

-Fix duplicate copies of .tmod mods freezing the game

-Fix issue with hideResources

-Fix cancelled Mod Compile download issue

-Fix out of bounds error with NPCDefinition

-Fix recursive logging bug

-Fix DrawBody issue

-Fix empty enabled.json issue

-Fix "Publish using tmodloader" issue while attempting to publish a mod

-Main.Support4K no longer automatically disabled

-Fix Patreon link being clicked while game not active

API

-

-All generic versions of XType methods in Mod are now Obsolete, use ModContent.XType instead. (Use using static Terraria.ModLoader.ModContent; to simplify code.)

-Move mod unloading onto background thread in client (consistent with mod loading)

-Mod.ExtraPlayerBuffSlots, allows mods to expand the number of buff slots during mod loading. Thanks

-ColorHSLSlider and ColorNoAlpha attributes for ModConfig Color

-Many namespaces have changed, in case you are doing reflection. (Look in Terraria.ModLoader.Engine, Terraria.ModLoader.Core, etc)

-Many PreX and OnX hooks no longer "short-circuit", allowing all classes to run even if a method in another mod returns a value that will prevent the later methods from running. Thanks

-Logs will now mirror to Debug Output window in Visual Studio

-ModTile.RightClick replaced with ModTile.NewRightClick. New method allows fixing issues with right clicks causing weapons to activate.

-Global/ModNPC.OnCatchNPC hook for when npc are caught in net. Thanks

-ExtractMod now extracts xml documentation file if present.

-ContentInstance.Register can be used to register a single instance of a class, to simplify proper mod unloading

-MonoMod updated to v19.10.05.02. Thanks

ExampleMod

-Example of Dynamic Localized Label for ModConfig (modded item in chat tag)

-Updated to show GetInstance usage. QOL-Auto-Update implemented on Linux and Mac (subsequent release should be available as auto-update)-Mac manual install greatly simplified-Linux manual install simplified, now distributed as .tar.gz instead of .zip-First Launch Welcome Message-Navigating from More Info back to Mods menu now preserves scroll position-Clear button in modded hotkeys menu-Updating disabled mods no longer forces it to be enabledFixes-Fix issues with logs that prevented the game from launching-Fix super fast scrolling issues-Fix server side ModConfigs failing to save when edited in-game-Fix Smart Select bypassing ModNPC and GlobalNPC CanChat. Thanks @DarkLight66 -Fix ModConfig DictionaryElement Key/Value types swapped issue-Fix TmodFile leaving handle open on read exception.-Fix ModNet progress UI-Fix issue preventing mod compilation in Visual Studio ("Failed to resolve assembly")-Fix duplicate copies of .tmod mods freezing the game-Fix issue with hideResources-Fix cancelled Mod Compile download issue-Fix out of bounds error with NPCDefinition-Fix recursive logging bug-Fix DrawBody issue-Fix empty enabled.json issue-Fix "Publish using tmodloader" issue while attempting to publish a mod-Main.Support4K no longer automatically disabled-Fix Patreon link being clicked while game not activeAPI Update Migration Guide -- If you make mods, please consult this page for info on migrating to v0.11.5.-All generic versions of XType methods in Mod are now Obsolete, use ModContent.XType instead. (Use using static Terraria.ModLoader.ModContent; to simplify code.)-Move mod unloading onto background thread in client (consistent with mod loading)-Mod.ExtraPlayerBuffSlots, allows mods to expand the number of buff slots during mod loading. Thanks @AnimeCatgirl -ColorHSLSlider and ColorNoAlpha attributes for ModConfig Color-Many namespaces have changed, in case you are doing reflection. (Look in Terraria.ModLoader.Engine, Terraria.ModLoader.Core, etc)-Many PreX and OnX hooks no longer "short-circuit", allowing all classes to run even if a method in another mod returns a value that will prevent the later methods from running. Thanks @Mirsario -Logs will now mirror to Debug Output window in Visual Studio-ModTile.RightClick replaced with ModTile.NewRightClick. New method allows fixing issues with right clicks causing weapons to activate.-Global/ModNPC.OnCatchNPC hook for when npc are caught in net. Thanks @direwolf420 -ExtractMod now extracts xml documentation file if present.-ContentInstance.Register can be used to register a single instance of a class, to simplify proper mod unloading-MonoMod updated to v19.10.05.02. Thanks @0x0ade ExampleMod-Example of Dynamic Localized Label for ModConfig (modded item in chat tag)-Updated to show GetInstance usage.

Spoiler: v0.11.4 - 8/17/19 API

-Projectile/NPC/PrefixDefinition classes, similar to ItemDefinition

-ModConfig now supports default values for reference fields, greatly simplifying ModConfig code

--(Also defaults to not allowing null values in UI, use NullAllowed to reverse this)

-Fix Duplicate 'AssemblyTitle' attribute warnings when upgrading csproj

-XML Documentation for MonoMod now automatically provided

Fixes

-Fix proxy issue to fix Mod Browser downloads for proxy users

-Fix Coin gun damage issue

-Fix Minion Targetting/Double hit issue with some weapons

-Fix multiline Header in ModConfig

-Fix zip file handling on Mac/Linux, should allow for ModCompile and TexturePack support fixes

QOL

-Pirated and broken GOG install message alerts

-Installed filter on Mod Browser

-Mods with chat tags can now be properly sorted and searched in Mod Browser and Mods menus

-Search bar for ModConfig

-Helpful message for deleting mods in game

-Avoid Imgur config.json option if you know imgur is blocked in your country

ExampleMod

-Fix VoidMonolith PreDraw bug

-Other small issues fixed

Spoiler: v0.11.3 - 7/22/19

--Search/GetUniqueKey/TypeFromUniqueKey in ID classes for facilitating saving entity identities.

-Fixes

--Fix Chinese text in npc chat

--Fix logging error preventing some multiplayer

--Fix download all issue getting stuck in download UI

--Fix ModConfig ReloadRequired null handling

--Fix mod load cancelling

--Fix an issue with mod dependency mod building

-QOL

--Downgrade icon now red instead of green for clarity

--Download with dependencies now works recursively

-Patreon Thanks

--Thanks so much to our Golem level Patrons.

-Contributor Thanks

--Thanks -API--Search/GetUniqueKey/TypeFromUniqueKey in ID classes for facilitating saving entity identities.-Fixes--Fix Chinese text in npc chat--Fix logging error preventing some multiplayer--Fix download all issue getting stuck in download UI--Fix ModConfig ReloadRequired null handling--Fix mod load cancelling--Fix an issue with mod dependency mod building-QOL--Downgrade icon now red instead of green for clarity--Download with dependencies now works recursively-Patreon Thanks--Thanks so much to our Golem level Patrons.-Contributor Thanks--Thanks @orian34 for updating French localization

Spoiler: v0.11.2.2 - 7/16/19 -Fix AutoUpdate behavior. If you are on v0.11.2 or v0.11.2.1 already you'll need to update manually.

Spoiler: v0.11.2.1 - 7/16/19 -Fix GlobalProjectile issue (v0.11.2 bug)

-Fix temporaryDownload.tmod file cleanup issue

Spoiler: v0.11.2 - 7/16/19

--Removed ModLoader.gog field

--Create Mod menu can generate Basic Sword

--Fix issue with publishing disabled mods

--ModConfig: Int fields now needs SliderAttribute to show slider, rather than RangeAttribute

--ModifyWeaponDamage now has an additional parameter, ref float flat, please update accordingly. It allows flat damage increases

--ModItem.IgnoreDamageModifiers allows for an item to ignore any modifiers, useful for special weapons.

-Fixes

--Fix GameInput bug

--Fix installer on Linux/Mac setting appropriate permissions - Thanks Jacob Hrbek

--Fix UseTimeMultiplier by limiting the reduction, fixing issues with weapons being too fast to use

--Fix ModConfig sliders errant clicks

--Fix ItemDefinitionElement crashing

--Fix player backup failing when using -tmlsavedirectory flag

--Fix ModNPC housing assignment

--Fix issues with open file handles

--Fix "Reload Required" notification for server side mods.

--Fix issue with missing text on some buttons

--Fix issue with Projectiles not being unloaded causing "mod did not unload fully" message

-QOL

--Installer greatly improved to detect custom steam install locations and allow install folder selection for GOG users

--Auto-update improved. Auto restarts (should take effect next update)

--Better install instructions in README.txt

--Cancel button on Load Mods menu

-ExampleMod

--ExampleDefenseBuff shows basic buff potion code - Thanks

-Patreon Thanks

--Thanks so much to our Golem level Patrons.

-Contributor Thanks

--Thanks to all our testers on v0.11.1 -API--Removed ModLoader.gog field--Create Mod menu can generate Basic Sword--Fix issue with publishing disabled mods--ModConfig: Int fields now needs SliderAttribute to show slider, rather than RangeAttribute--ModifyWeaponDamage now has an additional parameter, ref float flat, please update accordingly. It allows flat damage increases--ModItem.IgnoreDamageModifiers allows for an item to ignore any modifiers, useful for special weapons.-Fixes--Fix GameInput bug--Fix installer on Linux/Mac setting appropriate permissions - Thanks Jacob Hrbek--Fix UseTimeMultiplier by limiting the reduction, fixing issues with weapons being too fast to use--Fix ModConfig sliders errant clicks--Fix ItemDefinitionElement crashing--Fix player backup failing when using -tmlsavedirectory flag--Fix ModNPC housing assignment--Fix issues with open file handles--Fix "Reload Required" notification for server side mods.--Fix issue with missing text on some buttons--Fix issue with Projectiles not being unloaded causing "mod did not unload fully" message-QOL--Installer greatly improved to detect custom steam install locations and allow install folder selection for GOG users--Auto-update improved. Auto restarts (should take effect next update)--Better install instructions in README.txt--Cancel button on Load Mods menu-ExampleMod--ExampleDefenseBuff shows basic buff potion code - Thanks @NuovaPrime -Patreon Thanks--Thanks so much to our Golem level Patrons.-Contributor Thanks--Thanks to all our testers on v0.11.1

Spoiler: v0.11.1 - 7/4/19

--ModLoader\references\mods will hold dlls from extracted dlls, use this location for mod dll references.

--tModLoader targets .net 4.5

--Upgrade csproj button in Mod Sources

-Fixes

--Fix Mod Browser downloads of already enabled mods (v0.11 bug)

--Missing button test fix

--Fix Mac/Linux server only installs

--Fix GOG version critical bug

--Preserve mod path when launching local server

--Fix Mod Browser sort buttons (v0.11 bug)

-QOL

--Log messages for NetReceive exceptions to identify the faulty mod

--Show Server Console option for Host and Play

--GOG installation instructions

--Fix world Load Failed menu's View Error button

-Patreon Thanks

--Thanks so much to our Golem level Patrons.

-Contributor Thanks

--Thanks to -API--ModLoader\references\mods will hold dlls from extracted dlls, use this location for mod dll references.--tModLoader targets .net 4.5--Upgrade csproj button in Mod Sources-Fixes--Fix Mod Browser downloads of already enabled mods (v0.11 bug)--Missing button test fix--Fix Mac/Linux server only installs--Fix GOG version critical bug--Preserve mod path when launching local server--Fix Mod Browser sort buttons (v0.11 bug)-QOL--Log messages for NetReceive exceptions to identify the faulty mod--Show Server Console option for Host and Play--GOG installation instructions--Fix world Load Failed menu's View Error button-Patreon Thanks--Thanks so much to our Golem level Patrons.-Contributor Thanks--Thanks to @DarkLight66 and all our testers on v0.11

Spoiler: v0.11 - 6/30/19 Spoiler: Major Features -ModConfig

-GoG Support

-MonoMod Support Spoiler: API

-C# 7 support by default - build.txt no longer requires languageVersion.

-Global/ModItem.GetHealLife and GetHealMana - Allows dynamic health restore for potions. Thanks

-ModLoader now ModContent - Many methods are now in ModContent

-ErrorLogger deprecated, replaced with new Logging system

-MonoMod support - Allows editing any method

-ModProjectile Glowmask support

-A bunch of Update hooks in Mod: PreUpdateEntities, MidUpdateTimeWorld, etc. Thanks

-ModPlayer.ModifyNurseHeal/ModifyNursePrice/PostNurseHeal/PostSellItem/CanSellItem/PostBuyItem/CanBuyItem - Various hooks to act upon shop purchases, thanks

-All necessary .dll references automatically placed in ModLoader\references with tModLoader.targets file

-In-game Mod Source generator utilizing tModLoader.targets file

-Terraria documentation files auto downloaded

-Terraria PDB files auto downloaded for better debugging

-HiDef defaults to true regardless of resolution (better shader support)

-2nd level weak-references no longer required for compile

-Major version dependencies must match for mods referencing other mods to mitigate future versioning bugs

-$CommonItemTooltip.PercentIncreasedDamage (Please request more common tooltips you'd like to see made available for localization)

-Main.HidePlayerCraftingMenu for custom UI that hide the craft menu

-OGG audio support

-ModTile.IsLockedChest and ModTile.UnlockChest allow for proper locked chest support. See ExampleChest

-Preprocessor symbols and unsafe support

-Global/ModNPC.CanGoToStatue and OnGoToStatue - Allow modded town npc to teleport to King and Queen statues.

-GetWeaponDamage now obsolete, use ModifyWeaponDamage

-New PickAmmo method arguments for the weapon item.

-ModifyManaCost/OnMissingMana/OnConsumeMana hooks for dynamic mana costs and effects

-Main.trashSlotOffset - Adding ability to offset trash slot

-Font support improved -ModConfig - Helps mods make per-user and per-server configuration.-C# 7 support by default - build.txt no longer requires languageVersion.-Global/ModItem.GetHealLife and GetHealMana - Allows dynamic health restore for potions. Thanks @DarkLight66 -ModLoader now ModContent - Many methods are now in ModContent-ErrorLogger deprecated, replaced with new Logging system-MonoMod support - Allows editing any method-ModProjectile Glowmask support-A bunch of Update hooks in Mod: PreUpdateEntities, MidUpdateTimeWorld, etc. Thanks @Leemyy -ModPlayer.ModifyNurseHeal/ModifyNursePrice/PostNurseHeal/PostSellItem/CanSellItem/PostBuyItem/CanBuyItem - Various hooks to act upon shop purchases, thanks @Agrair -All necessary .dll references automatically placed in ModLoader\references with tModLoader.targets file-In-game Mod Source generator utilizing tModLoader.targets file-Terraria documentation files auto downloaded-Terraria PDB files auto downloaded for better debugging-HiDef defaults to true regardless of resolution (better shader support)-2nd level weak-references no longer required for compile-Major version dependencies must match for mods referencing other mods to mitigate future versioning bugs-$CommonItemTooltip.PercentIncreasedDamage (Please request more common tooltips you'd like to see made available for localization)-Main.HidePlayerCraftingMenu for custom UI that hide the craft menu-OGG audio support-ModTile.IsLockedChest and ModTile.UnlockChest allow for proper locked chest support. See ExampleChest-Preprocessor symbols and unsafe support-Global/ModNPC.CanGoToStatue and OnGoToStatue - Allow modded town npc to teleport to King and Queen statues.-GetWeaponDamage now obsolete, use ModifyWeaponDamage-New PickAmmo method arguments for the weapon item.-ModifyManaCost/OnMissingMana/OnConsumeMana hooks for dynamic mana costs and effects-Main.trashSlotOffset - Adding ability to offset trash slot-Font support improved Spoiler: Fixes -Fix world corruption bug caused by ModTileEntities

-Fix an ItemFrame bug that deleted mod items

-Fix Banner placement on platforms

-Fix Reforge losing ModItem data

-Fix ModLoader.TextureExists bug

-Fixed IsAnglerQuestAvailable logic

-Fix 20+ line bug with item tooltips

-Fix bad ModPack menu issue

-Clearer Mod Browser error messages

-Fix more memory leaks

-Fix exceptions not being logged from server

-Fix 50 townNPC limit in housing UI

-Fixed issue with Old Ones Army items giving too much damage boost

-Fix PostDrawTiles scale

-Map background drawing now accommodates non-standard sizes

-Fix GlobalItem.OnConsumeAmmo

-TownNPC chat now supports chat tags.

-Mac and Linux installer works better

-Fix multiplayer damage for hits over 32767 damage

-Fix modded hair dye saving

-Fix no audio device errors

-Fix random PlayerInput bugs during mod loading

-Fix HoldoutOrigin hooks

-Fix TileLoader.PostDraw

-Fix ModPack illegal filename issues

-Fix potential ItemTag issues

-Cancelling mod syncing will no longer delete the mod in question

-Fix vanilla angler quests reseting on world reload

-Fix TextureDisposedException (The blank screen bug on Linux and Mac)

-Linux and Mac support greatly improved (mod building)

-Fixed Black Screen loading error on Mac and Linux

-Fix Texture Pack support on Mac and Linux (Vanilla bug) Spoiler: QOL -GOG version support

-Mods will automatically be enabled and reload when leaving the mod browser

-Automatic player and world migration

-Common exceptions are ommited from exception logging

-Mod Sources now hidden until developer mode is enabled

-Localized menus should now fit inside menu buttons

-Load errors are now more informative and provide more options

-SteamID checked before publishing mod

-ModNet diagnostics. Press F8 to see how many packets each mod is sending.

-Repeated errors are no longer spammed

-Mod Browser search now checks internal name as well

-File Association for .tmod files on Windows. Double click to install or enable mods.

-Mod Memory consumption UI in Mods menu - Enable in tModLoader settings and then restart.

-Mod->More Info->Homepage button now shows URL when hovered

-Mod Browser listing downloads quicker

-Warning for mods that fail to unload fully

-Runs on system installed Mono

-Full debugging and stack trace support on Mac and Linux

-Smarter installer

-All exceptions are now logged to logs by default

-Progress bar messages now less ugly

-Experimental Autoupdate on Windows

-Automatic World and Player Backups

-Download All with Dependencies via Mod Browser

-Mod Info and Mod Browser more responsive Spoiler: Example Mod

-ExampleBulllet now properly hits tiles and makes bounce sounds

-ExampleTrap - Shows custom hammering, multiple AddMapEntry, non-autoload approach

-ExampleUI now rebounds onto screen

-ExamplePersonUI and VanillaItemSlotWrapper show an NPC UI example with an item slot

-ExampleAdvancedRecipe shows inheriting from ModRecipe, RecipeAvailable and OnCraft usage.

-Much cleaner code

-ExampleLamp - Shows toggling via wire

-ExampleSnail - Shows editing a vanilla RecipeGroup, bugnet usage, and IL editing via MonoMod

-NonStopParty - ModPlayer.SendClientChanges, OnEnterWorld, and clientClone example.

-ExampleHairDye. Thanks

-ExampleOre and ExampleBar. Thanks

-Minesweeper Tile - ModTile.TileFrame example

-WaspNest - IL Editing beginner guide and example

-Example Person trade/quest example - Trade Hive Pack for Wasp Nest

-ExampleChest now has a locked style

-No more build warnings

-ItemID.Sets.SortingPriorityBossSpawns usage examples

-ExampleTravelingMerchant - Traveling Merchant Example, thanks

-Example Critter Cage -ExampleOre, ExampleBar-ExampleBulllet now properly hits tiles and makes bounce sounds-ExampleTrap - Shows custom hammering, multiple AddMapEntry, non-autoload approach-ExampleUI now rebounds onto screen-ExamplePersonUI and VanillaItemSlotWrapper show an NPC UI example with an item slot-ExampleAdvancedRecipe shows inheriting from ModRecipe, RecipeAvailable and OnCraft usage.-Much cleaner code-ExampleLamp - Shows toggling via wire-ExampleSnail - Shows editing a vanilla RecipeGroup, bugnet usage, and IL editing via MonoMod-NonStopParty - ModPlayer.SendClientChanges, OnEnterWorld, and clientClone example.-ExampleHairDye. Thanks @DarkLight66 -ExampleOre and ExampleBar. Thanks @SheepishShepherd for the sprite.-Minesweeper Tile - ModTile.TileFrame example-WaspNest - IL Editing beginner guide and example-Example Person trade/quest example - Trade Hive Pack for Wasp Nest-ExampleChest now has a locked style-No more build warnings-ItemID.Sets.SortingPriorityBossSpawns usage examples-ExampleTravelingMerchant - Traveling Merchant Example, thanks @SheepishShepherd -Example Critter Cage Spoiler: Patreon Thanks -Thanks so much to our Golem level Patrons.

-Added Squid and Glory patreon sets

-Added Jofairden developer set Spoiler: Contributor Thanks @Leemyy, @SheepishShepherd, @Agrair

-Big Thanks to -Thanks to @DarkLight66 -Big Thanks to @0x0ade for developing MonoMod.

Spoiler: v0.9 - v0.10 Spoiler: v0.10.1.5 - 7/13/18

--Added new UpdateAutopause hook

--Added new CanChat hook to GlobalNPC and ModNPC

--Added PreChatButtonClicked and OnChatButtonClicked hooks to GlobalNPC

--Updated SetupStartInventory with an additional flag for mediumcore death. Please update your obsolete overload.

-Fixes

--Fixed a random error during loading mods (The dictionary insert error)

--Fixed shop price losing its color in some occasions

--Fixed drawable tooltip lines not being overruled by override color

--Fixed entities being updated while world is loading

--Fixed a bug where mod browser sort mode would revert unintentionally

--Fixed ModWall.AddMapEntry for ModTranslation overload

--Fixed mouseover hitbox for animated items

--Fixed unpacking mods not correctly converting .rawimg back to .png files

--Fixed some launch parameters from not running correctly on server. This affects compile messages

--Fixed a ConsumeItem error when placing the last item in a stack

-QOL

--Updated mod browser icons

--Added a line saying "No mods found" to the browser if no mods were found

--Added options to the menu to remove forced minimum zoom and allow greater resolution in internal graphics device

--Added "Update modpack with current mods" option for modpacks

--Implemented a performance boost by caching item.material

--More localization updates

--New -tmlsavedirectory command line switch that acts like -savedirectory except without the automatic "ModLoader" folder appended.

-Example Mod

--Fixed ExampleJavelin's droprate in multiplayer

--AdvancedDust shows off complex dust movement and Dust.customData

--ExamepleWorld.ModifyWorldGenTasks now a better example of code organization

--DeathAnimation ModNPC shows off death animation and shader usage.

--SimpleModPlayer to teach ModPlayer basics.

-Patreon Thanks

--Thanks so much to our Golem level Patrons.

--Added Remeus', Orian's and Saethar's patron sets

--Fixed some issues with existing patron sets

-Contributor Thanks

--Many of the new features and fixes were implemented or fixed by contributors.

Thanks to @DarkLight66 , -API--Added new UpdateAutopause hook--Added new CanChat hook to GlobalNPC and ModNPC--Added PreChatButtonClicked and OnChatButtonClicked hooks to GlobalNPC--Updated SetupStartInventory with an additional flag for mediumcore death. Please update your obsolete overload.-Fixes--Fixed a random error during loading mods (The dictionary insert error)--Fixed shop price losing its color in some occasions--Fixed drawable tooltip lines not being overruled by override color--Fixed entities being updated while world is loading--Fixed a bug where mod browser sort mode would revert unintentionally--Fixed ModWall.AddMapEntry for ModTranslation overload--Fixed mouseover hitbox for animated items--Fixed unpacking mods not correctly converting .rawimg back to .png files--Fixed some launch parameters from not running correctly on server. This affects compile messages--Fixed a ConsumeItem error when placing the last item in a stack-QOL--Updated mod browser icons--Added a line saying "No mods found" to the browser if no mods were found--Added options to the menu to remove forced minimum zoom and allow greater resolution in internal graphics device--Added "Update modpack with current mods" option for modpacks--Implemented a performance boost by caching item.material--More localization updates--New -tmlsavedirectory command line switch that acts like -savedirectory except without the automatic "ModLoader" folder appended.-Example Mod--Fixed ExampleJavelin's droprate in multiplayer--AdvancedDust shows off complex dust movement and Dust.customData--ExamepleWorld.ModifyWorldGenTasks now a better example of code organization--DeathAnimation ModNPC shows off death animation and shader usage.--SimpleModPlayer to teach ModPlayer basics.-Patreon Thanks--Thanks so much to our Golem level Patrons.--Added Remeus', Orian's and Saethar's patron sets--Fixed some issues with existing patron sets-Contributor Thanks--Many of the new features and fixes were implemented or fixed by contributors.Thanks to @Leemyy @Flashkirby , and @orian34 for their contributions towards this release. Spoiler: v0.10.1.4 - 5/6/18 -Patreon Supporter Vanity Sets added. Thanks so much to our Golem level Patrons.

-Fix NPC Shop prices

-Added Update All Button to Mod Browser

-Many more informative error messages

-Fixed ModPacks having deleted mods

-Fixed some rare errors

-Fixed some ModItem/GlobalItem data loss bugs

-ModItem/GlobalItem/ModPlayer.OnConsumeAmmo

-ExampleMod

--ExampleWorm now fully functional

--CanEquipAccessory example

--Fixes

-Updated Translations

--French

--Chinese Spoiler: v0.10.1.3 - 2/27/18 -Fix Mod Browser Downloads to some extent

-Fix a Linux Texture loading crash

-Fix Publish Mod corrupting .tmod files

-Fix Hash Mismatch error while joining MP server

-Fix SyncEquipment for mod data

-Fixed reforge losing mod data again

-Fixed being able to see the divider through icons in the browser

-Fixed not being able to set a ModPrefix Category (without reflection)

-Added CanRoll and RollChance to ModPrefix. You can change your RollChance to influence how often your ModPrefix is rolled. See the documentation for more details.

-Chat tags now support mod data on items, including ModPrefix

-Added To/From Base64 for items in ItemIO

-ModPrefix changed quit a bit (including fixes), check with ExampleMod again if you are using ModPrefix

-Translations

--Italian Spoiler: v0.10.1.2 - 2/14/18 -Much faster mod loading speed. Rebuild mods with 0.10.1.2 to use

-Better memory utilization

-ModSide filtering on ModBrowser

-Last Used mods notification - Helps remind players which mods were used recently

-Fresh install Player and World migration instructions

-Fix Failed to resolve Terraria.exe error

-Fix MP joining error after reloading mods

-Fix Mono compilation error with System.Core

-Fix knockback modification bug

-Fix NoSync mod bug

-Fix modded banner kill counts not syncing

-Fix imgur behind firewall crash

-Fix an IndexOutOfBounds with GlobalNPC applying ModBuff

-Fix blockloot support for Bags

-Fix spaces in build.txt crash

-Fix Buying back from NPC value depreciation

-Fix empty AddMapEntry crash

-Fix throwing torches

-Allow Thrown weapon prefixes

-Simplified localization through .lang files

-ModTile - Outlines and Smart interact support

-Mod/GlobalItem.ChoosePrefix

-ModPrefix support

-Mod.UpdateMusic - New parameter for Music Priority.

-Mod/GlobalNPC.SpecialNPCLoot - Useful for worm style loot dropping

-Mod.UpdateUI - Should allow mods to fix some hotkey and UI bugs

-ExampleMod:

--SyncPlayer and ModifySunLightColor method examples

--ExampleMagicMirror and ExampleLifeFruit

-Translations

--Polish

--Portuguese

--Russian Spoiler: v0.10.1.1 - 11/29/17 -Cloud Saving fixed

-Slowdown in Mod Browser description page fixed

-Mod doors can't be hammered anymore, enemies open mod doors

-Publish mod timeout

-Item.makeNpc now supports ModNPC.

-Fixed crit for custom damage classes

-Reforging Preserves Mod data

-ModWorld.ModifyHardmodeTasks

-Global/ModItem.ReforgePrice

-Global/ModItem.NewPreReforge

-Mod.ModifyTransformMatrix

-Logs now cleared each launch

-UI Support for Middle Mouse, MouseXButton1, and MouseXButton2

-New suggestion feature for autoloaded texture mistakes

-More folders ignored during build by default (obj, bin, etc.)

-ItemHoldStyleID class

-Player.HasBuff

-NPC.HasBuff

-UnifiedRandom.NextBool - Simplifies code.

-tModLoader->AlwaysLogExceptions option.

-Full stacks of silent exceptions logged to Logs file.

-Explicitly enforce no spaces in mod names.

-Publish Mod progress bar

-RectangleSerializer

-ExampleGun: Shoot 2 different projectiles example

-ExampleAnimatedPierce: Showcases all styles of piercing/hit immunity. Also shows animating projectiles

-ExampleSword: Star Wrath/Starfury type example

-ExampleLaserWeapon: Better now

-Example Damage Type - Custom Damage type example

--ExampleDamageAccessory, ExampleDamageItem, ExampleDamagePlayer, Mundane

-Translations

--Spanish

--French

--Chinese

--German Spoiler: v0.10.1 - 9/6/17 -Mods can now have an icon! Make sure your file is named 'icon.png' and it has a size of 80x80 pixels. The icon will display in the mods menu and in the mod browser when published.

-Textures or sounds being loaded now show when a mod is being loaded

-FirstChanceException is now logged

-Added object overload for Main.NewText

-Added several new Point16 operators and constructors

-Added several new helper methods for UnifiedRandom

-Added a TagSerializer for Point16

-Added NetSend and NetReceive for Mystery Items (unloaded items)

-Added a new hook to modify a weapon's critical strike chance: GetWeaponCrit

-Made CreateTrackable() in LegacySoundStyle public

-Added click ! (Mod references button) in Mods menu to Enable dependent mods

-Added a download all functionality of both ModPack and Mod Dependencies (this one while in Mod Browser Menu)

-Fixed a crash for the mod browser when the user had duplicate .tmod files in the mods folder

-Added better MP3 support, major memory performance boost!

-Added tooltip draw hooks for ModItem and GlobalItem: PreDrawTooltip(), PostDrawTooltip(), PreDrawTooltipLine() and PostDrawTooltipLine()

-Added ModifySunLightColor and ModifyLightingBrightness hooks to Mod

-Fixed CaughtFishStack not working

-Fixed CommandType.World functionality

-skipselect launch flag for mod authors who wish to skip player and world select

-Translations

-- Russian

-- Polish

-- Portugese Spoiler: v0.10.0.2 - 6/27/17 -Fixed GlobalNPC.PreDraw getting called when PostDraw should be called

-Made menus less prone to crashes

-Fixed Extract Mod menu crash

-Fixed Mac/Linux Server files

-Added PreUpdateMovement hook for ModPlayer

-NewProjectileDirect method in Projectile for simpler access to the Projectile instance

-Fixed a tile-preview flashing bug

-Fixed several dust lighting issues

-Added JumpHeight and JumpSpeed hooks for ModMountData

-Made MountLoader methods public

-Detect modder errors with TileObjectData.AddTile

-Report silent exceptions to modders

-Added ModifyDamageHitbox hook for projectiles

-Fixed a ModPlayer issue Spoiler: v0.10.0.1 - 6/8/17 -Fixed modded chests in world gen turning into normal chests

-Fixed fatal error on Mac/Linux

-PreSavePlayer and PostSavePlayer hooks

-FixedUIScrollBar and UIGrid

-Minor fixes and improvements Spoiler: v0.10 - 6/5/17 -Fixed bug where items can be duplicated in NPC shops

-Fixed bug where prefix effects can be stacked in NPC shops

-A few grass framing fixes

-Fixed a few instances where dropped items lose their ItemInfo

-Improved the performance of recipe groups

-Added ShiftClickSlot hook for ModPlayer

-Modded NPCs no longer need a matching display name

-Modded NPCs now persist when mods are unloaded then reloaded

-Updated to Terraria 1.3.5.2

-Added new ModTranslation system for names and tooltips

-All ID counts are now public

-Fixed bug where unloaded items aren't restored on reloading

-Updated my favorite color

-Built in tModReader functionality to the mods menu

-Renamed ExtraPickupSpace to ItemSpace and fixed a few bugs with it

-Renamed CanSpawn to SpawnChance

-Foolproofed modder errors with spawn weights

-Added PostAddRecipes hook

-RenderTargets are now public

-Greatly improved performance when inventory is closed

-Merged all Infos into Globals and added new global instance system

-Made numerous changes to autoloading

-Added mod-less overload for generic GetGlobals

-Improved performance of PlayerHooks

-Minor bugfixes Spoiler: v0.9.2.3 - 4/9/17 -Fixed Mod Browser not working on Mac

-Fixed bug where Mods menu crashes on Linux

-Fixed bug where tile entities are not restored when the mod is disabled/reenabled

-Fixed server ID mismatch bug when players and the server use different languages

-Fixed bug where CanPlace hook for tiles does not work

-More detailed error message for missing a Mod class

-Exception for recipe with too many ingredients

-Fixed bug where music boxes don't record stuff Spoiler: v0.9.2.2 - 4/1/17 -Added OnRespawn hook for ModPlayer

-Changed parameters for NetSend and NetReceive hooks for ModTileEntity

-Also fixed bug where modded tile entities sometimes would not sync

-Changed parameters for Mod.GetEquipTexture, Mod.GetEquipSlot, and Mod.GetAccessorySlot

-Fixed many freezing bugs resulting from GlobalItem

-Fixed bug where selling items makes them lose their ItemInfo

-Improved the speed and appearance of the mod browser

-Added the ability to suppress mod browser warnings

-Added object overload for ErrorLogger.Log

-More generic GetX and XType methods in Mod

-Added more Item.NewItem overloads

-Added Main.DiscoColor to get the rainbow color more easily

-Added Item.QuickSpawnClonedItem Spoiler: v0.9.2.1 - 3/12/17 -Fixed a bug preventing new users from using tModLoader ("save profile")

-Fixed another bug preventing new users from using tModLoader ("draw hands") Spoiler: v0.9.2 - 3/12/17 Spoiler: Misc Features -ModCommands replace the ChatInput hook (ChatInput no longer exists)

-TagSerializable - allows easy serialization of classes into TagCompound

-Autoload Effects (.xnb) from the folder "Effects/" (allows for shaders) Spoiler: New Hooks -Mod PreSaveAndQuit -- Called when user clicks SaveAndQuit

-Mod HijackSendData -- Use with extreme caution.

-ModItem/GlobalItem PickAmmo -- Allows ammo item control over projectile spawned.

-ModItem/GlobalItem UseTimeMultiplier -- Allows you to change the effective useTime of an item.

-ModItem/GlobalItem MeleeSpeedMultiplier -- Allows you to change the effective useAnimation of an item.

-ModItem/GlobalItem CanPickup and ExtraPickupSpace -- for special pickup considerations

-ModTile AnimateIndividualTile -- Special animation per tile

-ModTile/GlobalTile SpecialDraw -- Draw Extras specially

-ModTile/GlobalTile FloorVisuals -- Allows for special things if standing on a tile.

-ModTile/GlobalTile PlaceInWorld -- Allows you to do something when this tile is placed.

-ModWall/GlobalWall PlaceInWorld -- Allows you to do something when this wall is placed.

-ModWorld PostDrawTiles -- Draw overlay

-ModProjectile/GlobalProjectile CutTiles -- Cut tiles, useful for lasers/etc. (see ExampleLaser)

-ModProjectile/GlobalProjectile GrapplePullSpeed -- Grapple miss retreat speed

-UIElement now has right click functionality Spoiler: Changed Hooks -ModTile/GlobalTile.DrawEffects

-ModProjectile/GlobalProjectile.TileCollideStyle

-ModItem/GlobalItem.VerticalWingSpeeds

-ModItem/GlobalItem.WingUpdate

-ModItem/GlobalItem.HorizontalWingSpeeds Spoiler: Bug Fixes -Mods are now correctly sorted, fixing many cross-platform bugs. (Such as ItemIDs out of sync, causing items to magically transform)

-Fixed an potential issue with trap projectiles

-Alternate Currency Tooltip fix

-The bug when player is killed by mod projectile

-Some Tile framing bugs

-GetWeaponDamage does not work for melee

-ModPlayer.GetWeaponKnockback not working for melee weapons

-World loading crash upon pressing a ModHotKey during loading

-Better memory management

-"type == SoundLoader.customSoundType " chat message spawn

-EquipTexture-only wings crash on logic

-Items in recipegroups now register as Material

-Player.DropItems removing ModItem/ItemInfo Data Spoiler: Mod Browser -"Hotness" sort

-Mod Browser more responsive, no more duplicate entries

-Mod Browser and Mods menu will now notify of Mod dependencies

-Downgrade label to warn if Mod Browser version is less than current mod version

-View in Mod Browser button for Mod Packs -- Easily download mods from ModPacks you find on internet Spoiler: Useful Stuff -NextEnum and PreviousEnum

-Main.rand.NextBool

-Main.rand.NextFloat(maxValue)

-Main.rand.NextFloat(minValue, maxValue)

-Main.NewText(string, Color) overload

-NPCSpawnHelper for simplifying Spawn Conditions.

-Terraria.ID.NetmodeID for easy netMode value access (e.g. if (Main.netMode = NetmodeID.MultiplayerClient))

-Terraria.ID.LangID for easy language value access (e.g. if (Lang.lang == LangID.English))

-Terraria.ID.MountID now has const values for vanilla mounts

-Added some modder-error protections.

-Prevent modding mistake of duplicate ModItems with same name

-Escape now exits from mod-related menus back towards the main menu

-Very simple commandline mod browser in tmodloaderserver.

-Mod.Properties defaults to all True.

-GOG -> menu for steamid entry and a clear credentials button in settings Spoiler: v0.9.1 - 12/24/16 -Mac/Linux can now host servers

-Added support for modded tile entities

-Added PreHitWire hook for GlobalTile

-Added CanExplode hook for walls

-Added broadcast parameter to Mod.ChatInput

-Fixed bug where defender forge can't save modded items

-Minor fixes Spoiler: v0.9.0.3 - 12/18/16 -Fixed saving for Item Frames containing mod data

-Fixed GlobalItem Saving

-Fixed gores not disappearing

-Fixed Background flicker on reload

-Fixed DrawLifebar server bug

-Fixed Balloon Offset Bug

-Server command: ModList Spoiler: v0.9.0.2 - 12/12/16 -Fixed bug where modded NPC banner drops crash the game Spoiler: v0.9.0.1 - 12/12/16 -Fixed bug where worlds with modded walls can't load Spoiler: v0.9.0.0 - 12/11/16 -Changed save format for modded data of players and worlds

-Mod: Support for SpriteFonts packaged in Mods

-ModItem/GlobalItem: PreDrawInWorld and PostDrawInWorld now have "int whoAmI" as a parameter

-ModProjectile/GlobalProjectile: List<int> drawCacheProjsOverWiresUI added to DrawBehind hook

-ModProjectile/GlobalProjectile: CanCutTiles hook

-ModWorld: PreUpdate hook

-ModBrowser: Now displays time since last update

-ModBrowser: More responsive

-ModPacks: Delete Button

-ModPlayer: PlayerConnect, PlayerDisconnect, OnEnterWorld hooks

-ModNPC/GlobalNPC: BossHeadRotation bug fix

-ModHotKey: Hotkeys have been redesigned. HotKeyPressed no longer recommended to be used

-ModHotKey: Hotkey key bindings will now persist correctly

-Settings Menu: Options available.

-TexturePacks: Instead of the vanilla approach of 1 texture pack named Texture Pack.zip, all .zip in Terraria\ModLoader\TexturePacks will be loaded

-ModSources Menu: Now sorted by latest built

-IDs: New Generic overloads for getting IDs for various things

-All ModifyHit hooks related to Projectiles: Added a hitDirection parameter

-tModLoader: updated to Terraria 1.3.4.4 codebase

Spoiler: v0.6 - v0.8 Spoiler: v0.8.3.5 - 10/12/16 -Updated to Terraria 1.3.3.3

-Added mod packs - ability to enable/disable groups of mods at once

-Added ability to search mod browser by author

-Added ModifyInterfaceLayers hook

-DrawLayers can now modify the DrawInfo parameter

-Added whoAmI parameter to world-drawing hooks for items

-Made Main._drawInterfaceGameTime public

-Fixed bug where custom tile kill check uses liquid placement check

-Added modpath option for dedicated server command line

-Minor fixes and improvements Spoiler: v0.8.3.4 - 9/13/16 -Updated to Terraria 1.3.3.2

-Fixed bug where modded trees get drawn incorrectly Spoiler: v0.8.3.3 - 9/13/16 -Fixed a bug with modded walls beyond a certain ID

-Added ability to change modded tree top/branch frames

-Added fishing power parameter to ModPlayer.CatchFish

-Fixed bug where return value of TileLoader.Slope is ignored

-buildIgnore now accepts both slash types for directories

-Updated to Terraria 1.3.3.1

-Hopefully fixed Mac/Linux not being able to host servers

-Fixed bug where modded buffs beyond a certain ID cannot be synced Spoiler: v0.8.3.2 - 8/5/16 -Security for Mod Browser

-Minor fixes Spoiler: v0.8.3.1 - 7/23/16 -Fixed bug where modded items disappear upon sorting Spoiler: v0.8.3 - 7/22/16 -Added a weak mod dependency system

-Added support for biome backgrounds

-Added support for custom water and waterfall styles

-Added support for custom saplings, trees, palm trees, and cacti

-Added PostDrawInterface, PostDrawFullscreenMap, and PostUpdateInput hooks

-Added clientClone, SyncPlayer, and SendClientChanges hooks for ModPlayer

-Added ModifyZoom and ModifyScreenPosition hooks

-Added updateType field for ModGore

-Made all classes in Terraria.GameContent.UI.Elements public

-Made Main.rare public

-Added modpath option for dedicated server config

-Added search filter to Mods menu

-Disabled buggy hotbar scrolling during auto select

-Fixed bug where music boxes cannot record custom music

-Fixed world generation bugs involving modded tiles

-Updated to Terraria 1.3.2.1

--Added support for alternate ModNPC textures

--Added UsesPartyHat hook for ModNPC Spoiler: v0.8.2.1 - 6/27/16 -Added PreReforge and PostReforge hooks for items

-Added CustomBuffTipSize and DrawCustomBuffTip hooks for GobalBuff

-Added CanDamage and ShouldUpdatePosition hooks for projectiles

-Added Clone hooks for entity infos

-Fixed bug where ModifyBuffTip is not called from inventory menu

-Fixed bug where modded NPCs aren't listed under banner buff tooltip

-Fixed bug where ModItem and EntityInfo are not initialized during mod-loading

-Fixed bug where GlobalItem saving hooks are called for empty item slots

-Made Wiring._currentWireColor public Spoiler: v0.8.2 - 6/20/16 -Added SaveCustomData and LoadCustomData hooks for GlobalItem

-Added client/server sync hooks for ModWorld

-Added client/server sync hooks for ModPlayer custom biomes

-Added hook for complete control over all item tooltips

-Added CanUseAbility and UseAbility hooks for ModMountData

-Added RecipeFinder and RecipeEditor for easy recipe editing

-Added hook for drawing NPC health bars

-Support for preserving unloaded mod tiles

-Name property for mod textures are now assigned

-Animations for opening/closing modded chests

-Made Main.DrawHealthBar public

-Made Terraria.Graphics.Shaders.GameShaders public

-Fixed bug where ConsumeItem is called for wrong item

-RecipeGroup bugfixes Spoiler: v0.8.1.2 - 6/5/16 -Fixed bug where ModGore code does not autoload

-Added support for dressers

-Fixed bug where jungle temple door can't be unlocked... again

-Fixed a ton of bugs with modded chests and dressers

-Made Wiring.DeActive and Wiring.ReActive public

-Modded maximum life now displays in character selection Spoiler: v0.8.1.1 - 6/1/16 -Fixed bug where certain modded NPCs disappear upon being hit on expert servers

-Fixed bug where ModProjectile extra AI is not synced between clients/server

-Updated to Terraria v1.3.1.1

-Added the ability to clone new instances of mod entities

-Fixed bug where explosives don't kill tiles on servers Spoiler: v0.8.1 - 5/27/16 -Servers now sync mods with clients that connect

-Added the ability to send custom net messages between servers/clients

-Added the ability to tamper with net messages

-Added ModifyTransformMatrix hook for drawing

-Updated to Terraria 1.3.1

-I can't tell if I'm forgetting anything... Spoiler: v0.8 - 4/2/16 Spoiler: Bugfixes Server Bugs:

-Fixed server sync bug with OnPickup hook for items

-Fixed server bug where chests are not synced properly

-Fixed bug where Steam servers don't work

-Hopefully fixed ItemLoader.GetAlpha crash for clients on servers

-Hopefully fixed NPCs disappearing on servers? Please?

-Fixed server bug where custom item data is not synced

-Fixed server bug where custom town NPCs do not work

Other Bugs:

-Fixed bug where bottom half of long hair does not draw

-Fixed bug where modded tiles crashed the game in early stages of world generation

-Fixed bug where Start Bag cannot contain vanilla items

-Fixed bug where Mod.GetEquipTexture always returns null

-Mods with sounds now load for people without sound cards

-Fixed NPC.CloneDefaults with buffImmune

-Fixed bug where SetMatch hook doesn't work at all Spoiler: Improvements -Added the ability to build and debug mods from Visual Studio

-Improved the .tmod file format

-Added the ability to support future .tmod file format changes

-Renamed Other.dll to Mono.dll for noCompile mod-building

-Mods can now reference embedded dlls

-Added the ability to compile mods in C# 6

-Made the Mod Browser more secure

-ItemIO can now save items in general, including vanilla items

-Mods menu now displays how much stuff each mod adds

-Detect and display modder errors in LoadCustomData

-Huge performance improvements

-Changed structure of equipment update code to make it easy to create new equipment slots

-Converted some local world generation variables to static fields

-Made Player.jumpSpeed and Player.jumpHeight public

-Made a bunch of Mount fields public

-Added April Fools (sorry this was late) Spoiler: Mod Loader stuff -Added GlobalRecipe and RecipeAvailable hook for recipes

-Added gender parameter to SetMatch hook for items

-Added generic GetModX accessors for reduced redundancy

-Added OnCraft hook for recipes and items

-Added TileCountsAvailable hook for ModWorld

-Added GetMapBackgroundImage hook for ModPlayer

-Added ModifyBuffTip hook for buffs

-Added option to use constructor for cloned ModPlayers

-Added DrawEffects and CanExplode hooks for tiles

-Made code source files hidden from tModReader based on hideCode instead of hideResources Spoiler: v0.7.1.1 - 2/23/16 -Servers no longer crash on settling liquids or liquid updates

-Pause menu now shows for clients on steam servers

-Added ResetNearbyTileEffects hook for ModWorld Spoiler: v0.7.1 - 2/22/16 Spoiler: Bugfixes and Crash fixes -Servers now work (so far only on Windows)

-Fixed mods with music being unable to load on Mac/Linux

-Fixed severe FPS drop when armor is equipped and visible

-Fixed bug where custom data could duplicate and corrupt .tplr

-Fixed bug where ItemInfo is not cloned by Item.Clone

-Fixed bug where "endless" ammo can get prefixes

-Fixed bug where modded chest names start out empty

-Fixed vanilla bug with DrawData.useDestinationRectangle Spoiler: Features -Added ModWorld

-Added Initialize hook for ModPlayer and ModWorld

-Added SaveCustomData and LoadCustomData hooks for ModWorld

-Added ModifyWorldGenTasks and PostWorldGen hooks for ModWorld

-Added PostUpdate hook for ModWorld

-Added Dangersense hook for tiles

-Added hideVisual parameter to UpdateAccessory hook for items

-Added DrawBehind hook for projectiles

-Added scroll bar to mod info screen

-Added ability to search in the mod browser

-Added the ability to exclude certain files from .tmod resources

-Compiler warnings are now included in the compiler error log file Spoiler: v0.7 - 1/11/16 Spoiler: ModPlayer -Added ModPlayer

-Added ResetEffects and UpdateDead hooks

-Added SaveCustomData and LoadCustomData hooks

-Added SetupStartInventory hook

-Added UpdateBiomes and UpdateBiomeVisuals hooks

-Added UpdateBadLifeRegen, UpdateLifeRegen, and NaturalLifeRegen hooks

-Added PreUpdate, SetControls, PreUpdateBuffs, and PostUpdateBuffs hooks

-Added PostUpdateEquips, PostUpdateMiscEffects, PostUpdateRunSpeeds, and PostUpdate hooks

-Added FrameEffects hook

-Added PreHurt, Hurt, and PostHurt hooks

-Added PreKill and Kill hooks

-Added PreItemCheck and PostItemCheck hooks

-Added GetWeaponDamage and GetWeaponKnockback hooks

-Added ConsumeAmmo, Shoot, and MeleeEffects hooks

-Added OnHitAnything hook

-Added CanHitNPC, ModifyHitNPC, and OnHitNPC hooks

-Added CanHitNPCWithProj, ModifyHitNPCWithProj, and OnHitNPCWithProj hooks

-Added CanHitPvp, ModifyHitPvp, and OnHitPvp hooks

-Added CanHitPvpWithProj, ModifyHitPvpWithProj, and OnHitPvpWithProj hooks

-Added CanBeHitByNPC, ModifyHitByNPC, and OnHitByNPC hooks

-Added CanBeHitByProjectile, ModifyHitByProjectile, and OnHitByProjectile hooks

-Added CatchFish, GetFishingLevel, AnglerQuestReward, and GetDyeTraderReward hooks

-Added DrawEffects, ModifyDrawLayers, and ModifyDrawHeadLayers hooks Spoiler: Buffs -Finished buff support

-Added GlobalBuff

-Added Update(NPC) hook

-Added ReApply hooks

-Added canBeCleared and longerExpertDebuff fields Spoiler: Items -Revamped equipment texture system (Added EquipTexture)

-Added all vanity-related ModItem hooks to EquipTexture

-Added Clone hook for ModItem

-Added ExtractinatorUse hook

-Added AutoLightSelect hook for ModItem

-Added PostUpdate hook

-Added SetMatch hook

-Added UpdateVanity hook

-Added GetWeaponDamage and GetWeaponKnockback hooks

-Added projOnSwing field

-Added CaughtFishStack, IsQuestFish, IsAnglerQuestAvailable, and AnglerQuestChat hooks

-Added HoldoutOffset and HoldoutOrigin hooks

-Added DrawHands, ArmorDrawColor, and ArmorArmGlowMask hooks

-Added DrawBody and DrawLegs hooks

-Added support for alternate use functions (right-clicking)

-ItemLoader hooks are now called for hotkey presses and right-click-equips

-Added CloneDefaults methods for Item Spoiler: Tiles -Added disableSmartCursor field and AutoSelect hook for ModTile

-Added support for torches

-Added SetDrawPositions hook for ModTile

-Added WalkDust and MouseOverFar hooks Spoiler: Projectiles -Added hooks for grappling hook projectiles

-Added PreDrawExtras hook for projectiles

-Added drawHeldProjInFrontOfHeldItemAndArms field for ModProjectile

-Added support for contact-damage minion projectiles

-Added CloneDefaults method for Projectile Spoiler: NPCs -Added CheckActive and CheckDead hooks for NPCs

-Added DrawEffects hook for NPCs

-Added ResetEffects and UpdateLifeRegen hooks for NPCs

-Added CloneDefaults methods for NPC Spoiler: Other stuff -Added PostSetupContent hook for Mod

-Added MidUpdate hook for ModDust

-Added GetLoadedMods method for ModLoader

-Finished music support

-Added support for screen shaders and custom skies

-Custom saved modded item data now persists through the mod being unloaded

-Added DrawLayer and DrawInfo system for custom drawing

-Added EntityInfo system for storing information per entity

-Added the ability to manage mods published on the Mod Browser

-Added sorting buttons to the Mod Browser

-The Mod Browser now checks for tModLoader updates

-Added homepage link and description to mod files

-Added mod info buttons to Mods menu

-Made Terraria.ModLoader.IO.ItemIO public

-Made all hook calls public

-Exception messages now show inner exceptions

-Warnings are now hidden from compile error messages and logs

-Added tModLoader version information to .tmod file structure

-Probably other stuff I forgot Spoiler: Bugfixes -Mods now unload in the reverse order they were loaded in

-ModifyHitNPC and ModifyHitByItem for NPCs can now modify damage

-Modded items lying in the world now animate at the correct speed

-The Extractinator no longer accepts every single modded item ever

-Doors no longer cause chaos on servers

-Abstract classes are no longer autoloaded

-Fixed severe vanilla-CraftGroup-related FPS drop

-Word wrap on exception messages and mod info no longer splits up words Spoiler: v0.6 - 10/24/15 -Proofed ModRecipe methods against modder mistakes

-Mac support

-.cs files are no longer saved as .tmod resources (woops!)

-Made mods compatible cross-platform

-Added support for building .dll files as mods

-Added Unload hook for Mod

-Revamped how minimap handles mod tiles and walls to cut down minimap's RAM usage

-Fixed bug that made .twld files larger than they had to be

-Made some private Projectile fields public

-Fixed bug where Jungle Temple door cannot be unlocked

-Fixed bug with sign GUI

-Fixed bug where cloud saves are not separate from vanilla cloud saves

-Added mod browser - an easy way to upload / download mods

-Basic buff support

-Added support for platform-like tiles

-Fixed bug where miscellaneous custom sounds don't work

-Improved saving for mannequins and item frames with modded items

-Gave ModDusts their own types

-Added hooks for vanity effects for armor sets

-Linux support

-Made a fancy installer

-Partial music support

-Added "Open Mods Folder" button to Mods menu

-Added support for animating vanilla tiles

Spoiler: v0.1 - v0.5 Spoiler: v0.5 - 9/6/15 -Added support for using vanilla textures

-Two mods can no longer share the same internal name

-Mods must now share names with the folder that contains their content

-Added a default mod that will always be enabled

-Loading mods now completely refreshes recipe list

-Added support for storing items whose mods are unloaded

-Added support for custom NPC banners

-Added support for singleplayer chat + ChatInput hook

-Added support for custom sounds

-Improved system for gores

-Added partial support for mounts

-Added support for miscellaneous file resources in .tmod files

-Added CanTownNPCSpawn and CheckConditions hooks for NPCs

-Added TownNPCName and GetChat hooks for NPCs

-Added SetChatButtons and OnChatButtonClicked hook for NPCs

-Added SetupShop and SetupTravelShop hooks for NPCs

-Fixed bug where locked Jungle Temple door can be opened

-Added BuffTownNPC hook

-Added TownNPCAttackStrength, TownNPCAttackCooldown, TownNPCAttackProj, TownNPCAttackProjSpeed hooks for NPCs

-Added TownNPCAttackShoot, TownNPCAttackMagic, and TownNPCAttackSwing hooks for NPCs

-Added DrawTownAttackGun and DrawTownAttackSwing hooks for NPCs Spoiler: v0.4.1 - 8/24/15 -Added ScaleExpertStats hook for NPCs

-Added PreAI, AI, PostAI, SendExtraAI, and ReceiveExtraAI hooks for projectiles and NPCs

-Added FindFrame and HitEffect hooks for NPCs

-Added aiType field for ModProjectile and ModNPC + animationType field for ModNPC

-Added support for gores

-Added TileCollideStyle, OnTileCollide, PreKill, and Kill hooks for projectiles

-Added PreNPCLoot and NPCLoot hooks for NPCs

-Added BossLoot hook and bossBag field for NPCs

-Made it easier to customize vanilla NPC loot

-Added CanHitNPC and CanHitPvp hooks for items

-Added CanHitNPC, ModifyHitNPC, and ModifyHitNPC hooks for projectiles

-Added CanHitPvp, ModifyHitPvp, and OnHitPvp hooks for projectiles

-Added CanHitPlayer, ModifyHitPlayer, and OnHitPlayer hooks for projectiles

-Added CanHitPlayer, ModifyHitPlayer, and OnHitPlayer hooks for NPCs

-Added CanHitNPC, ModifyHitNPC, and OnHitNPC hooks for NPCs

-Added CanBeHitByPlayer, ModifyHitByPlayer, and OnHitByPlayer hooks for NPCs

-Added CanBeHitByProjectile, ModifyHitByProjectile, and OnHitByProjectile hooks for NPCs

-Added Colliding hook for projectiles and StrikeNPC hook for NPCs

-Added support for NPC map icons

-Added BossHeadSlot, BossHeadRotation, and BossHeadSpriteEffects hooks for NPCs

-Added support for NPC music

-Added GetAlpha, drawOffset, PreDraw, and PostDraw hooks for projectiles

-Added GetAlpha, PreDraw, drawOffsetY, and PostDraw hooks for NPCs

-Added EditSpawnRate, EditSpawnRange, CanSpawn, EditSpawnPool, and SpawnNPC hooks for NPCs

-Added OpenBossBag hook for items

-Added NearbyEffects hook for tiles

-Code is now optimized by compiler

-Deleting players and worlds will now also delete the associated .tplr and .twld files

-Fixed bug where stackable mod items (ie ammo) can have prefixes

-Fixed bug where vanilla NPC display names are wrong

-Fixed bug where open modded doors invalidate houses

-Removed a log write I accidentally left in

-Possibly other stuff I've forgotten Spoiler: v0.4 - 8/14/15 -Updated to Terraria 1.3.0.8

-Modded world and player data now saves in separate .tplr and .twld files

-Added tModLoader version to main menu Spoiler: v0.3.2.1 - 8/11/15 -Added support for theoretically infinite recipes

-Improved error-handling Spoiler: v0.3.2 - 8/11/15 -Added support for crafting groups

-Added PreOpenVanillaBag and OpenVanillaBag hooks for GlobalItem

-Gave tModLoader exe an (uncreative) icon

-Fixed bug where multi-tile subtiles and alternates are not checked

-Fixed bug where Main.tileValue doesn't work for modded tiles

-Added CanKillTile hook for tiles

-Added support for doors, chests, and beds

-Fixed assembly resolve for dll and mod references

-Added GrabRange, GrabStyle, and OnPickup hooks for items

-Bugfixed custom projectiles and NPCs Spoiler: v0.3.1.1 - 8/7/15 -Finally fixed bug where "Build + Reload" wouldn't unload mods

-Hopefully fixed dll reference system

-Autoloading now occurs before manual loading

-Added README to installation Spoiler: v0.3.1 - 8/7/15 -Added support for multiple global entities per mod

-Added support for autoloading global entities

-Added support for autoloading multiple EquipTypes per item

-Fixed bug where AddTooltip duplicates tooltips

-Improved dll reference system

-Fixed bug where missing equipment textures crashes the game

-Made WorldGen class public

-Added support for walls

--Added support for wall kill sounds, dust, drops, and kill-related hooks

--Added support for wall map colors and names, and related hooks

--Added ModifyLight and RandomUpdate hooks for walls

--Added AnimateWall, PreDraw, and PostDraw hooks for walls

-Added MouseOver and Slope hooks for tiles

-Added support for very basic projectiles and NPCs (Untested) Spoiler: v0.3.0.1 - 8/3/15 -Wiring._wireList is now public

-Fixed bug where GlobalItem.SetDefaults did not change vanilla names and tooltips Spoiler: v0.3 - 8/2/15 -Added build properties to specify display and dependency stuff

--Mod author and version are now build properties

--Added support for mod and dll dependencies

-Modified WorldFile.ValidateWorld so worlds containing modded stuff can load

-Added support for custom tiles (ModTile and GlobalTile)

--Added support for tile kill sounds, dust, drops, and kill-related hooks

--Added support for custom TileObjectData and multi-tile blocks

--Added ModifyLight, SetSpriteEffects, AnimateTile, PreDraw, and PostDraw hooks for tiles

--Added support for tile map colors and names, and related hooks

--Added RandomUpdate and TileFrame hooks for tiles

--Added mineResistance and minPick fields for ModTile

--Added CanPlace and AdjTiles hooks for tiles

--Added RightClick and HitWire hooks for tiles

-Added ConsumeItem hook for ModRecipe

-Added PreDrawInInventory and PostDrawInInventory hooks for items

-Fixed bug with removing custom armor from mannequins

-Improved error-handling for missing textures

-Safeproofed installation process

-Mod.Load is no longer abstract Spoiler: v0.2.0.1 - 7/26/15 -Removed some log writes that I accidentally left in

-Fixed bug with custom item data saving Spoiler: v0.2 - 7/26/15 -Mods now build as a single file that includes image resources

-Added support for automatically loading items, etc.

-Updated to Terraria 1.3.0.7

-Added ModItem.AddRecipes hook

-Added support for custom dust through ModDust

-Added CanEquipAccessory hook for items

-Added GlobalNPC with PreNPCLoot and NPCLoot hooks since everyone wants that

-Added ModItem.SaveCustomData and ModItem.LoadCustomData hooks

-Made tooltips easier to add Spoiler: v0.1.2 - 7/20/15 -Mods that crash the game while loading are now auto-disabled

-Mods are now auto-enabled when they are built

-Added a button to the Mod Sources menu to open the Mod Sources folder

-In-game error messages now appear when the game would have crashed and when a build fails

-Item display names can now be separated from internal names in the SetDefault hook

-Added a ton of hooks for ModItem and GlobalItem

--CanUseItem, UseStyle, UseItemFrame, UseItem, and ConsumeItem

--HoldStyle, HoldItem, and HoldItemFrame

--Shoot, ConsumeAmmo, UseItemHitbox, and MeleeEffects

--ModifyHitNPC, OnHitNPC, ModifyHitPvp, and OnHitPvp

--UpdateInventory, UpdateEquip, UpdateAccessory, IsArmorSet, and UpdateArmorSet

--CanRightClick, RightClick, and Update

--VerticalWingSpeeds and HorizontalWingSpeeds

--GetAnimation (ModItem only), GetAlpha, PreDrawInWorld, and PostDrawInWorld

-Added support for armors and accessories

-Fixed decompile bug that caused minimaps to not save

-Updated to Terraria v1.3.0.6 Spoiler: v0.1.1 - 7/16/15 -Fixed missing .dll bug when building mods

-Split ModLoader class into ModLoader and ItemLoader

-Slightly changed the way modded items are saved

-Updated to Terraria v1.3.0.5

-Added support for prefixes for modded items

-Vastly improved the GUI for building and loading mods

--Menu shows status of loading and building mods

--Added menus that show lists of mods and mod sources

--Added the ability to enable and disable mods

--Added the ability to build mods individually

-Added GlobalItem Spoiler: v0.1 - 7/8/15 -Support for mods, recipes, and basic items

tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure "intricacies" of Terraria's source code. It is made to work for Terraria 1.3+.Vanilla worlds and playersbe ported to tModLoader worlds and players simply by copying over save files. Modded content is saved in files separate from .plr and .wld files, so you can also port modded players and worlds back to vanilla at the cost of losing your modded stuff.My goal for tModLoader it to make it simple as possible while giving the modder powerful control over the game. A secondary goal is that anyone who works with tModLoader enough will be able to make their own standalone mods. tModLoader is designed in a way as to minimize the effort required for us to update to future Terraria versions. Feel free to either suggest hooks or push hooks to Github (link in a later section).P.S. Please don't email me, I almost never check my email. Discord is the best place to ask for support.The documentation contains everything you need to know about what tModLoader has to offer. It contains information on all the features, hooks, etc., in tModLoader, complete with descriptions on what everything is used for. Unlike other modding API's, this documentation is kept up-to-date as features are added. Do note that often it will even be ahead of the current released version.I use an example mod to test features that I add to tModLoader. You can download a zip file here so you can use it to learn how to make your own things.To create a mod, first run tModLoader. Click on the "Mod Sources" button in the main menu, then click on the "Open Sources" button to open the folder which contains your mod sources. In this folder, create another folder for your mod, then put all of your .cs files and .png files in that folder. When you are done, build your mod from the "Mod Sources" menu . If the mod failed to build, the game will show you one compile error, and give you an option to view all compile errors as a text file. If the mod successfully builds you will be returned to the main menu. If the game crashes or a mod fails to load, the game will display the error and also give you the option to view the error as a text file. Mods that crash on loading are automatically disabled. Mods are automatically enabled when they are built.If you are using Mac/Linux, it is possible that your mod will fail to build, no matter what you do. In this case, you will have to pre-compile your mod (see documentation on build.txt for more info). Detailed instructions can be found here: Standalone - [1.3] tModLoader - A Modding API To distribute a mod, once you have built it, click on the "Mods" button in the main menu, then click on the "Open Mods Folder" button. You will find a file with the .tmod extension for you to distribute.To install someone else's mod, simply copy the .tmod file to your own Mods folder. Mod Skeleton Generator (use this to generate files to get you started on your mod)I and other people who can help with problems can usually be found in the following chatrooms:tModLoader Discord chat: Join the tModLoader Discord Server!

You can support the tModLoader team with donations and get mentioned in the special thanks here: The tModLoader team is creating tModLoader | Patreon Donations are always appreciated! The tModLoader team is creating tModLoader | Patreon tModLoader is open source! Feel free to suggest features either on Discord or over Github.If you're on Mac/Linux, you can download Mod Browser mods from here: http://javid.ddns.net/tModLoader/DirectModDownloadListing.php tModLoader is now available via Steam: tModLoader on Steam Once your download is complete, you should have a zipped folder. Unzip this folder. Open the extracted folder and copy all the contents to your Terraria's Steam folder. You may wish to back-up your vanilla Terraria.exe file first. More detailed instructions are in the README file included with the download.(Updated May 30, 2020) tModLoader has been updated to v0.11.7.4.(Updated May 16, 2020) tModLoader has been updated to v0.11.7, and is now available on Steam! tModLoader on Steam (Updated June 8, 2017) If you ever feel like donating, we now have a Patreon: The tModLoader team is creating tModLoader | Patreon