Standalone [1.3] tModLoader - A Modding API

Is it just me or its infected with a Trojan?
Uhm, that's just you.
Why isn't this a stickied post?
Good question, I think because it's not official.
Tried chrome and the page isn't working.
I get this when I try to download a mod off the page.
Thejavid.ddns.netpage isn’t working
javid.ddns.netis currently unable to handle this request.

HTTP ERROR 503

So I'm uncertain as to what to do.
It works fine for me, but indeed the mod browser is down.
[doublepost=1465514981,1465514850][/doublepost]
Actually, it's not just this; EVERYONE should have a failed ExampleMod build. Why? Because, of course, there is no such file as tModLoaderServerDebug.exe! I downloaded the Windows version to see if it was there, and... well, nope! Honestly, with stuff like this, I am very, very surprised nothing's popped up yet.
You're not using the correct file. It's not tModLoaderServerDebug.exe, but tModLoaderServer.exe.. so use this
Code:
"C:\Program Files (x86)\Steam\steamapps\common\Terraria\tModLoaderServer.exe" -build "$(ProjectDir)\"
[doublepost=1465515069][/doublepost]
I use Chrome and it works perfectly fine.

...or it did, anyway. Yeah, good call, seems the mod download servers are off for some reason. I guess all we can do is wait.
I'm working on 'tutorials', link is in my sig. They're WIP and only a few of them are done so far, and also I do expect the persons following them to have C#, hence I'm not explaining basic c#
 
Actually, it's not just this; EVERYONE should have a failed ExampleMod build. Why? Because, of course, there is no such file as tModLoaderServerDebug.exe! I downloaded the Windows version to see if it was there, and... well, nope! Honestly, with stuff like this, I am very, very surprised nothing's popped up yet.
The csproj file isn't used when building mods within Terraria, so that's why it's never come up. As devs, we use the debug builds to test things all the time, so that's why that's there. We actually haven't gotten around to writing up a guide on how to set up a project on a Mac, so it would be great for everyone if you could document your setup into a guide. Bluemagic123 should be able to help you if you run into any more roadblocks, since he has access to a Mac.
 
Huh? My steps? Well, it doesn't matter if I can't get it to work in the first place. I need a WORKING .csproj setup first. As long as it works on a Windows setup without any of the dev junk, I *should* be able to get it to work on OSX. Maybe.

Whatever the case, here's what I know of the current roadblock (check my previous posts for more details):
-By default, searches Windows directory format for tModLoaderServerDebug.exe.
-Changing it to an OSX directory format and tModLoaderServer.exe does not work.
-Gives an exit code of 126 regardless. One time I used backslashes to escape the space characters in the string (which shouldn't matter, being in a string?) and gave an exit code of 1.
-Removing the line removes the error, though there is still no resultant ExampleMod.tmod anywhere to be seen.

Additional stuff:
-Why would anyone want to set noCompile to true? The explanation is confusing and sounds complicated. There doesn't seem to be any visible benefits either.
-From what I can tell, this should be the last issue before getting the build process to work. All of the steps beforehand are easy and I can provide them if needed.

Finally (REALLY BIG):
OSX and Linux users currently have NO WAY to access the Terraria source code, because the only program that does it won't even run in Mono. There's apparently a sort of fork a guy made that *supposedly* makes it Mono-able, but seems to require a Windows machine (non-Mono) to make the Mono-able version. Yeah.

Because OSX and Linux systems cannot view the Terraria source, an enormous amount of features are locked out to them, limiting these systems to the very small list of functions and variables shown in ExampleMod. Not because they can't use these features; it's because they don't know how to use them, and what they do.

Two solutions to this problem:
A) Make a program to decompile the Terraria source that CAN run on Mono.
B) Provide a documentation of the Terraria source as a reference for modders.
 
Last edited:
i have aproble i need awnsered. i try and run a server, i port forward, and all this are ok

the mods i have installed are all working fine

but starting the server, it starts, but then when it says "server started" the next line in the CMD prompt is "running one update" , and after a couple seconds, it becomes a normal terraria server, and my friend can't connect *everything is working on his side too*

what gives?
 
With aitype, you can copy the behavior of the monsters... And how to copy the behavior, but to change the projectiles of the monsters? For example, if it is a Skeleton Archer.. :indifferent:
 
Huh? My steps? Well, it doesn't matter if I can't get it to work in the first place. I need a WORKING .csproj setup first. As long as it works on a Windows setup without any of the dev junk, I *should* be able to get it to work on OSX. Maybe.

Whatever the case, here's what I know of the current roadblock (check my previous posts for more details):
-By default, searches Windows directory format for tModLoaderServerDebug.exe.
-Changing it to an OSX directory format and tModLoaderServer.exe does not work.
-Gives an exit code of 126 regardless. One time I used backslashes to escape the space characters in the string (which shouldn't matter, being in a string?) and gave an exit code of 1.
-Removing the line removes the error, though there is still no resultant ExampleMod.tmod anywhere to be seen.

Additional stuff:
-Why would anyone want to set noCompile to true? The explanation is confusing and sounds complicated. There doesn't seem to be any visible benefits either.
-From what I can tell, this should be the last issue before getting the build process to work. All of the steps beforehand are easy and I can provide them if needed.

Finally (REALLY BIG):
OSX and Linux users currently have NO WAY to access the Terraria source code, because the only program that does it won't even run in Mono. There's apparently a sort of fork a guy made that *supposedly* makes it Mono-able, but seems to require a Windows machine (non-Mono) to make the Mono-able version. Yeah.

Because OSX and Linux systems cannot view the Terraria source, an enormous amount of features are locked out to them, limiting these systems to the very small list of functions and variables shown in ExampleMod. Not because they can't use these features; it's because they don't know how to use them, and what they do.

Two solutions to this problem:
A) Make a program to decompile the Terraria source that CAN run on Mono.
B) Provide a documentation of the Terraria source as a reference for modders.
I'm not really sure what you're doing, or why you need tModLoaderServerDebug.exe. However, I can say this: the reason noCompile exists at all is because, as far as I know, in-game compilation is impossible in Mac/Linux. I spent an entire month trying to get it to work with no dice. With noCompile, you have the option to compile the dll files outside of the game, then the game will still be able to pack those dll files into a tmod file.

Those solutions to the problem with the Terraria source would be nice, but the main problem is that no one has enough time to do any of that. Even ILSpy has tons of bugs still, and creating a decompiler that would work on Mac/Linux, I have no idea how long that would take. And the Terraria source is one of the messiest things to exist; documenting it would be a major pain, especially since tons of the stuff happen in gigantic methods without specific purpose. It's pretty unfortunate :(

i have aproble i need awnsered. i try and run a server, i port forward, and all this are ok

the mods i have installed are all working fine

but starting the server, it starts, but then when it says "server started" the next line in the CMD prompt is "running one update" , and after a couple seconds, it becomes a normal terraria server, and my friend can't connect *everything is working on his side too*

what gives?
Hm, does it work properly when you Host & Play?

With aitype, you can copy the behavior of the monsters... And how to copy the behavior, but to change the projectiles of the monsters? For example, if it is a Skeleton Archer.. :indifferent:
You'll have to make your own AI for that.
 
I've noticed that armor set bonuses that are supposed to give the player a buff don't work. This happened while I was trying to create my own mod, and I realized that it also happens with the hood in the example mod which is supposed to give you the 'Cursed' and 'Darkness" debuffs as a setbonus. Is this happening to anybody else?
 
The auto installer didnt work, and I didn't even know there was a manual installer. I went to discord asked for help, it was dead so I said @everyone and got harassed and then banned. The mod loader isn't even updated, I recommend a removal of sticky from this if you can't treat people with respect.
 
I've noticed that armor set bonuses that are supposed to give the player a buff don't work. This happened while I was trying to create my own mod, and I realized that it also happens with the hood in the example mod which is supposed to give you the 'Cursed' and 'Darkness" debuffs as a setbonus. Is this happening to anybody else?

I also noticed that applying the 'cursed' and 'darkness' buffs from an armor set doesn't seem to display those buffs, but I changed the given buff to 'calmed' and my own custom buff and it worked. I'm not sure what is up with 'cursed' and 'darkness', but the system itself works.
 
Okay so i was making my mod but i get this error
Code:
c:\Users\gamer\Documents\My Games\Terraria\ModLoader\Mod Sources\Crapium\Items\Weapons\Blade.cs(36,41) : error CS0117: 'Terraria.ID.ItemID' does not contain a definition for 'MLGBlock'
And i have created a Folder called Placeable and i have all needed files in there MLGBlock.cs and MLGBlock.png And in Tiles I have MLGTileBlock.png and MLGTileBlock.cs Help mee
EDIT:
Tell me if u need me to post my code
 
The auto installer didnt work, and I didn't even know there was a manual installer. I went to discord asked for help, it was dead so I said @everyone and got harassed and then banned. The mod loader isn't even updated, I recommend a removal of sticky from this if you can't treat people with respect.
People were confused and all the conflicting advice was confusing, I bet, but you used the F word at someone, so there's no argument there.

To answer your question, though, make sure you download the correct file, make sure you read the readme. From what i saw you had the wrong download and didn't read the readme, since you mentioned opening Terraria gave you the vanilla interface, which is 100% impossible if you followed the instructions.
 
I've noticed that armor set bonuses that are supposed to give the player a buff don't work. This happened while I was trying to create my own mod, and I realized that it also happens with the hood in the example mod which is supposed to give you the 'Cursed' and 'Darkness" debuffs as a setbonus. Is this happening to anybody else?
When you tested the example hood, are you sure you didn't have the Shield of Ankh equipped?

The auto installer didnt work, and I didn't even know there was a manual installer. I went to discord asked for help, it was dead so I said @everyone and got harassed and then banned. The mod loader isn't even updated, I recommend a removal of sticky from this if you can't treat people with respect.
Seriously? First of all, someone just asked you not to use that tag. You responded by insulting that person. Then everyone turned on you for that, and you responded by flaming against everyone, and flat-out stating that you had no care for any rules. When you got banned from the chat for causing too much chaos, you then proceeded to ban-evade and spam the chat with inappropriate images. The kind of behavior you displayed is not tolerated at all. I'm the kind of person who always hesitates to take action, and it was seriously impressive that the situation got bad enough that I had to respond.
I will agree it was kind of wrong for everyone to reprimand you after a single insult, but your behavior was completely inappropriate.

And the README file (which you said you read) clearly stated that there was a way to manually install. And the ModLoader is updated; if it weren't, I guarantee there would have been tons more complaint posts here.

Okay so i was making my mod but i get this error
Code:
c:\Users\gamer\Documents\My Games\Terraria\ModLoader\Mod Sources\Crapium\Items\Weapons\Blade.cs(36,41) : error CS0117: 'Terraria.ID.ItemID' does not contain a definition for 'MLGBlock'
And i have created a Folder called Placeable and i have all needed files in there MLGBlock.cs and MLGBlock.png And in Tiles I have MLGTileBlock.png and MLGTileBlock.cs Help mee
To get the type of your modded block, you'll need to use mod.TileType("MLGBlock")
 
Okay so i was making my mod but i get this error
Code:
c:\Users\gamer\Documents\My Games\Terraria\ModLoader\Mod Sources\Crapium\Items\Weapons\Blade.cs(36,41) : error CS0117: 'Terraria.ID.ItemID' does not contain a definition for 'MLGBlock'
And i have created a Folder called Placeable and i have all needed files in there MLGBlock.cs and MLGBlock.png And in Tiles I have MLGTileBlock.png and MLGTileBlock.cs Help mee
EDIT:
Tell me if u need me to post my code
ItemID is for vanilla items. For mod items, see how example mod uses mod.ItemType("ItemNameHere"), that's what you want to do.
 
ItemID is for vanilla items. For mod items, see how example mod uses mod.ItemType("ItemNameHere"), that's what you want to do.
I dont understand how to use this
Code:
    public override void AddRecipes()
     {
       ModRecipe recipe = new ModRecipe(mod);
       recipe.AddIngredient(null, "ExampleItem", 10);
       recipe.AddTile(null, "ExampleWorkbench");
       recipe.SetResult(this);
       recipe.AddRecipe();
     }
What do i put from this to that
Code:
  public override void AddRecipes()
  {
  ModRecipe recipe = new ModRecipe(mod);   
  recipe.AddIngredient(TileType.MLGBlock, 1);  
  recipe.AddTile(TileID.WorkBenches);  
  recipe.SetResult(this);
  recipe.AddRecipe();

  }
This is what i currently use but what do i put from this to the other one from examplemod?
 
This is what i currently use but what do i put from this to the other one from examplemod
Code:
public override void AddRecipes()
  {
  ModRecipe recipe = new ModRecipe(mod);  
  recipe.AddIngredient(null, "MLGBlock", 1); 
  recipe.AddTile(TileID.WorkBenches); 
  recipe.SetResult(this);
  recipe.AddRecipe();

  }
 
Back
Top Bottom