Tool Terraria Item Modifier - A patch for advanced item customization.

Hey, this is probably a really stupid question but can you setup a weapon to initiate a sequence such as a shooting star falling or a blood moon beginning?

Also, how do you make a weapons projectile apply a status effect?
 
Last edited:
Hey, this is probably a really stupid question but can you setup a weapon to initiate a sequence such as a shooting star falling or a blood moon beginning?

Also, how do you make a weapons projectile apply a status effect?

A lot of Terraria's effects and abilities, and just around anything that isn't very consistent, has some level of hardcoding. Shooting star falling depends on if a falling star is a projectile, which can be found in the wiki projectile IDs list. Blood Moon beginning... isn't possible. Items that summon or cause some sort of event are likely all hardcoded. And weapons do not make the projectile apply a status effect unfortunately, the projectile itself applies the status effect.

Terraria Item Modifier (agh that name is still terrible) is a pretty low-level patch, often requiring knowledge about the inner workings of the game via looking at the source code to fully understand the limitations. I really need to do a better job at making it more accessible to the average user because very few people actually inspect the code, and I don't blame them.

So as a basic explanation, this patch is for simple changes to items. The most advanced thing you can really do is use the mob placing feature used for critters, and even that is limited. Most changes will be things like, names, stats, buffs applied by consuming, changing the projectile to another projectile, etc. There's also limitations in place of item IDs that have extra hardcoded functionality and cause strange side effects, like the Nebula Blaze using ProjectileID and sometimes ProjectileID+1 (Because it has two different projectiles it shoots normally).

Lastly I think I also really oversold the patch's capabilities on the initial post. I even went back and changed advanced item customization to simple item customization.
 
The slime gun item likely has no influence on what buff is applied, my guess is that the slime gun projectile is the source of the buff. Since this only supports Item modification at the moment, this isn't possible to change. However, an addition of changing projectiles may be nice to add in the future.

Heart Potion (I'm assuming you mean the Love Potion) is the same case, they likely cannot be changed if you've already tried with no effect. Sorry :(
any plans on projectile modification soon? would be really great to have :)
 
Does this still work? it gives an error with 1.4
System.BadImageFormatException: El formato del archivo ejecutable (.exe) o de la biblioteca (.dll) no es válido. (translation: the format of the executable file or of the library is invalid)
en Mono.Cecil.PE.ImageReader.ReadImage()
en Mono.Cecil.PE.ImageReader.ReadImageFrom(Stream stream)
en Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
en Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
en TerrariaItemModifier.Patching.Patcher.Patch()
en TerrariaItemModifier.MainWindow.OnPatch(Object sender, RoutedEventArgs e)
Update: seems like the tool creates the itemmodifications dll but turns the terraria exe into a 0B file, it also gives the same error when pressing restore, regardless of whether there's something to restore or not
It also gives a different error the FIRST time any of the buttons are pressed with something along the lines of "Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name, ReaderParameters parameters)" and something about PublicToken=null
 
Last edited:
Does this still work? it gives an error with 1.4
System.BadImageFormatException: El formato del archivo ejecutable (.exe) o de la biblioteca (.dll) no es válido. (translation: the format of the executable file or of the library is invalid)
en Mono.Cecil.PE.ImageReader.ReadImage()
en Mono.Cecil.PE.ImageReader.ReadImageFrom(Stream stream)
en Mono.Cecil.ModuleDefinition.ReadModule(Stream stream, ReaderParameters parameters)
en Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
en TerrariaItemModifier.Patching.Patcher.Patch()
en TerrariaItemModifier.MainWindow.OnPatch(Object sender, RoutedEventArgs e)
Update: seems like the tool creates the itemmodifications dll but turns the terraria exe into a 0B file, it also gives the same error when pressing restore, regardless of whether there's something to restore or not
It also gives a different error the FIRST time any of the buttons are pressed with something along the lines of "Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name, ReaderParameters parameters)" and something about PublicToken=null

I'm sorry, I didn't even realize there were no checks for the Terraria version on patch being to see if its supported.
Nor is it mentioned anywhere on the main page... oh jeez... :merchanteek:

Currently it only checks game versions when restoring a backup... which is actually causing the crash you mentioned when restoring.
Anyways I'll update the main page for now with proper information on supported versions. (which is currently up to 1.3.5.3, the last update before 1.4)
Edit: Main page updated! ✅
 
Last edited:
I'm sorry, I didn't even realize there were no checks for the Terraria version on patch being to see if its supported.
Nor is it mentioned anywhere on the main page... oh jeez... :merchanteek:

Currently it only checks game versions when restoring a backup... which is actually causing the crash you mentioned when restoring.
Anyways I'll update the main page for now with proper information on supported versions. (which is currently up to 1.3.5.3, the last update before 1.4)
Edit: Main page updated! ✅
I should have realized that when i asked the question the 1.4 had basically just come out too, i just got confused cuz i got the same error as another one of your tools (wich acording to another user DOES work on 1.4)
 
Back
Top Bottom