tConfig is best described as a content creation tool and content loader, where the content can be: items (weapons, armor, potions, accessories), tiles (blocks, furniture, crafting stations), projectiles (stuff that goes flying through the air), and NPCs. By using tConfig, all of these things can be created and organized into Mod Packs.
Permissions and credits
Credits and distribution permission
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features without permission from or credit to me
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou are allowed to use the assets in this file without permission or crediting me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
- Added custom dependencies support ,in your Config.ini file in your modpack , you can define custom dll dependencies in the following manners
- - references=SomeDLLNameWithoutTheExtension , this is for non mod related assemblies
- - references=ModName\References , this is for referring for assemblies of other mods
- Added System.Drawing reference to mod compilation
- Added System.Windows.Forms reference to mod compilation
- Fixed buttons for previous and next pages on mod settings not appearing
- Fixed [recipe2] screwing up vanilla items
- Fixed issue where game would randomly crash frequently in loading times
- Here's a new PDB file for those who are interested in helping with crash issue pinpointing http://www.mediafire.com/download/9221caq5sz9228x/PDB.exe
Version 0.35.0
- Fixed some crashes in KillTile where tiles were null
- Fixed issue where purple slimes were way too common
- Fixed bug where green fairy from fairy bell was defective
- Fixed vanilla issue where mouse text wouldn't appear on scaled npcs properly
- ModGeneric UpdateSpawn hook has been changed , it is now public void UpdateSpawn(Player P)
- Added ModWorld hooks
- - public void PreDrawWater(SpriteBatch SP,bool background)
- - public void PostDrawWater(SpriteBatch SP,bool background)
- - public void PreUpdate(GameTime gametime) - first thing called on the game's Update method , added as per request
- - public void PreDrawAll(SpriteBatch SP,bool gameMenu)- called right after the game's Draw spritebatch.Begin.
- Added 'texture=' INI attribute , can be used to make one ini use another's texture e.g. 'texture=Some Other NPC' (texture must be of the same group , aka npc to npc)
- Made Menu class public
- Added public static int Menu.MenuPosX , MenuPosY and bool[] MenuActive fields as per request.
- Added json mod settings feature , all credits go to Shockah on this amazing new feature
- - Mod settings file is Modpacks/ModPackname/Settings.json , create this file to use the feature
- - Mod settings are capable of settings some values in your mods without creating overrides , this is useful for multipliers , key bindings and etc
- - There's 5 types of settings you can use at the moment , those are 'bool' , 'int' , 'choice' , 'string' and 'keybind'
- - each setting holds a number of properties , the shared similar properties are "type" , "display" , "serverSynced" - serversynced values are received from the server automatically on joining , not serversynced ones stay as they were. (good for keybindings etc)
- - - Note that 'ingameLock' is unused at the moment.
- - - int example http://paste.kde.org/790832/
- - - bool example http://paste.kde.org/790838/
- - - choice example http://paste.kde.org/790844/
- - - keybinding example http://paste.kde.org/790898/
- - - string example http://paste.kde.org/790904/
- - Getting setting values in code can be done with the following methods , note that each also includes a null parameter modname , so you can retrieve settings of other mods
- - - Settings.Get(string setting) , returns JsonData setting value
- - Once you download this , run it and set the desitnation folder to your steam/steamapps/common/terraria folder , then play with tConfig as you normally do.
Version 0.34.1
- Fixed an issue where OverrideItemVacuum item hook failed to work properly if the player had free inventory space
- Fixed an issue with server item awareness (might also reduce bugs in multiplayer)
- Fixed an issue where mods with the SaveAndExit / SaveAndPlay hooks will overwrite each other's results
- Added Player hooks
- - public bool CanHitboxDamageNPC(Player P,Rectangle Hitbox,NPC N) - called on npcs that are in the player's weapon hitbox , return true to hit the npc , false otherwise
- - public bool CanHitboxDamagePlayer(Player P,Rectangle Hitbox,Player P2) - called on players that are in the player's weapon hitbox in pvp , return true to hit the enemy player , false otherwise
- - - Both hooks can be used in the creation of melee weapons that hit through walls , for example.
- Item shops now support buying stacks in a single click (anything that is not buyOnce)
Version 0.34.0
- Changed Player PreDraw hook , it is now public void PreDraw(Player P,SpriteBatch SP,ref bool LetDraw)
- - Setting LetDraw to false would be the equivalent of returning false in the old way.
- Removed Player RocketHandle hook
- Added Player hooks
- - public void RocketFrame(Player P,ref bool LetRocket,ref bool EmitDust)
- - - LetRocket (default true) can be set to false to remove all the handling of rocket boots velocity changes and dust stuff
- - - EmitDust (default true) can be set to false to make the player not emit dust when using rocket boots of any kind
- - - LetJump (default true) can be set to false to remove all the handling of the jump key control
- - - EmitDust (default true) can be set to false to remove any dust emitted by cloud in a bottle like effects
- - - PlaySound (default true) can be set to false to remove any jump related sound
- Added Player methods
- - public bool HasItem(int netID,int stack =-1) , returns true if the player has the item , if stack is not -1 it will check if the player has at least the stack amount specified of the item
- - - For example somePlayer.HasItem(8,3) would return true if the player has at least 3 torches
- - public bool HasItem(string name,int stack =-1) , like the netID version but takes a name instead
- - - For example somePlayer.HasItem("Gold Ore",25) would return true if the player has at least 25 gold ores in the inventory
- Moved player head rotation code when in merman form to Player.PlayerFrame (before the FrameEffect hook)
- Added displayName for items
- - item.displayName (default "") can be set to make the item have the name stated in display name, note that any code referencing the item would still use the given ini file name of the item
- - - For example you can have an item called SuperPowerFullOre.ini and it can have a displayName="Useless Ore" , the item would appear as "Useless Ore" in game but any code refering the item such as spawning still needs to use SuperPowerFullOre as the name.
- - added new optional INI Attribute 'displayName=' for items , works exactly like the code variant.
- Changed AffixName hook for items , it is now public void AffixName(ref string itemname,bool AfterPrefixing)
- - The hook is now called twice per name getting , once before prefixing of the item and once after the prefixing of the item
- - Prefixes using the hook also need to be adjusted to fit this hook change
- Added support for custom item slot displays
- - Added new ModWorld hook public void OnSetup() , called right before the RegisterOnScreenInterfaces hook , used for adding listeners for a portion of tConfig's hooks
- - This feature is only for advanced coders , it is recommended that you decompile the latest tConfig to find out all of its functionality.
- - Added IItemSlotRender layer interface , consisting of the following mandatory hooks
1.1.2 - tConfig is best described as a content creation tool and content loader, where the content can be: items (weapons, armor, potions, accessories), tiles (blocks, furniture, crafting stations), projectiles (stuff that goes flying through the air), and NPCs. By using tConfig, all of these things can be created and organized into Mod Packs - folders containing modified or custom content.
The main features are:
Modify & Create Items
Armor - Set Bonuses and other effects defined using C#
Accessories - Effects defined using C#
Weapons - Add debuff effects to enemies or alter various variables using C#
Write Save & Load methods to save any data related to your custom item
Modify & Create Projectiles
Define unique AI using C#
Modify & Create Buffs (requires C#)
Modify & Create NPCs
Town NPCs - Setup shops; define dialogue, spawn requirements
Enemy mobs - Define AI, spawn conditions
Use custom Gore images
Define an interface. Make an NPC which can enchant items, for instance.
Modify & Create Tiles
Create new Active/Inactive blocks, Furniture, and more
Modify the world when it is generated - Add new ores, place items in chests, do whatever you like! (Advanced programming may be required...)
Modify & Create Walls
Optionally use Visual Studio to have more control over your code
Add new sound effects for use with Items and NPCs
'ModPack Builder' tool that compiles INI files and .cs code files into a single file
Multiplayer - works only if you have the same mods loaded as the server
New save file format for worlds - save files are named after the world names, and there is no longer any limit to the number of worlds you can have.
New save file format for players.
Create new Prefixes, or override the Prefix System entirely