Bugs (Outdated)

  • Possible bug with Recipes - can't use multiple Tiles.
  • Possible bug with crafting stations -
  • Issue with hand textures
  • More woes with stupid "Material" tag
  • Multiplayer - player is unable to drop default items, probably an issue with the velocity variable
  • Problem with Town NPCs spawning multiple times. - link
  • Other stuff - link
  • Problem with custom save/load methods in muliplayer - link
  • All slimes spawning as Blue Slimes?

What I'm Working On (Outdated)

  • Fixing bugs
  • Decompiling Terraria
  • Randomization - maybe
    • Implemented in Terraria 1.1
  • Re-introduce "light" and "wetLight" attributes, to be used for items that are held, but not swung.
  • Possibly implement permanent buffs. This could be useful for a variety of reasons, including making player classes/races with passive abilities.
  • Implement a "light" attribute for Tiles.
  • Town NPC Support
    • Create some methods for checking things like how much money a player has, and whether or not the player has an item. Should make things easier.
  • Ability to load new gore images, for use with custom NPCs
  • Make Main.spriteBatch a public variable
  • Work-in-progress concept: A new program/tool for 'compiling' mod packs into a single file, with better error messages. tConfig might require mod packs created with this method.

Gameplay-oriented changes

  • New code file(s) for Gameplay-oriented changes
    • Could define new variables associated with the Player, such as experience points & stats
    • Ability to draw new stuff to the interface. Probably won't be able to move around existing things, but this should still be pretty useful. (I.e., draw an EXP bar, draw text showing stats, handle ability to choose what stats to increase when you level up...)

There are a few problems that need to be worked on

  • Loading a player that wasn't created using the currently loaded gameplay mod
  • Only one gameplay mod can be loaded at a time, so it should be a separate class of mods entirely. I'm thinking of creating a separate folder for it and a separate sub-menu that will allow you to have one turned on at a time. The same should probably be done for the worldgen chests spawn file as well.

Dynamic Recipes

More improvements to INI specifications for Items - Recipes & variations of the item

Let's suppose you could add a range to the number of items required for a recipe. Furthermore, you can specify variations of attributes based on the number of items used to create the item. A simple example follows:

Scroll of Flame.ini
Items=1-3 Scroll,5 Torch
prefix=Tier $Scroll

This would actually generate three different items, each with a slightly different recipe (Tier 1 Scroll of Flame, Tier 2 Scroll of Flame, Tier 3 Scroll of Flame)

  • The "damage" attribute is decided by the # of scrolls used.
  • There should be a prefix or a suffix defined to give the item a unique name.
  • This isn't decided upon yet, but somehow you'll be able to access the amount of each recipe item that was used to create the item. There could be an identifier like '$'. So, $Scroll is the number of scrolls used in the recipe.
  • The idea of [Stats+] is to have the stats that depend on the recipe in a different section. This might make it easier for me to implement.
  • We could take this a step further and possibly have an Upgrade Recipe paradigm.
[Upgrade Recipe]
Items=1 Scroll, 2 Torch
[Upgrade Stats]
prefix=Tier $damage/10
  • This would create a recipe which requires the item along with the specified scroll and torches, and would create a more powerful version of the item that does 10 more damage.
  • There needs to be a way of limiting how many times you can upgrade an item...
  • All of this will need some more thought - arithmetic in the INI file might be annoying to implement, and it might make more sense to implement a method call instead. Still, it would be great to make this work easily for those who aren't familiar with programming.

Drop Tables

  • Done, but there is room for improvement!
  • There should be an easier way to specify a drop table that only consists of items with an equal chance of dropping
  • There may be conflicts with the names of tables when multiple mod packs are loaded. I can probably solve this problem by having tConfig utilize an identifier so that each mod pack can only access its own tables.


  • Multiplayer
    • It would be cool to automatically download the mod files that the server is using
    • Possibly use HttpListener on the server to supply a zip file of the mod packs currently loaded. The server would send a message containing the hash value of its mod packs zip file, and the client could check whether it has it downloaded already. If not, the client would download it from the server through HTTP. Whoever's running the server will need a port opened and have a setting enabled for it to work.
    • The tConfig server could have an option that lets you set a URL pointing to a mod pack .zip
      • It would send the URL to the client, and the client would automatically download it, and load it when it's done. Downloaded mod packs will be stored somewhere and if you already have it when you connect, it won't have to re-download it.
      • This would involve making tConfig load directly from a zip file, or maybe just unzipping it to a temporary location.
      • This feature is only helpful if the server admin has their currently-running mod pack configuration posted online for download, and if they change mod packs frequently, this could be impractical.
  • Save files - I would like to work on a way to prevent save files from loading and removing custom items that aren’t currently loaded in the game, or at least create a warning screen that shows up if you attempt to load a character and an item can’t be loaded.
  • Come up with a way to change the order in which items are displayed in the crafting list.
  • Notification of when an update is available on the main screen in-game
  • A way to change specified tiles on world generation, with an (optional) random chance.
  • I am extremely interested in implementing some of the ideas mentioned in this thread:
  • Create a general explosion method to make it easier for everyone to make explosions
  • A way to separate worlds/players based on what mod packs they are associated with. Ideally, tConfig would automatically attempt to load the appropriate mod packs when you select a player/world.
  • Visual effects for spells
  • Look into possibility of better support for creating bosses