• For issues you find with the Switch and Console releases, please follow this link and give as much detail as possible. This is the speediest way to get info to Pipeworks and get a hotfix in the works.
  • 1.4 will bring many changes to the PC version. We strongly advise making plans to back up your worlds and players prior to updating your game. More details here.
  • Begin your search for Journey's End information here and here. Please report bugs and issues for Journey's End here.
  • For issues you find with the Mobile 1.4 update, please follow this link and give as much detail as possible. This is the speediest way to get info to DR Studios to look at your issue. Also, some troubleshooting hints here.

Standalone [1.3] tModLoader - A Modding API

Lukas04

Official Terrarian
Everytime i have to download Tmodloader again and again because i can only play it once then when i try to play a second time it says:


System.DllNotFoundException: Unable to load DLL 'CSteamworks': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at Steamworks.NativeMethods.SteamAPI_RestartAppIfNecessary(AppId_t unOwnAppID)
at Terraria.Social.Steam.CoreSocialModule.Initialize()
at Terraria.Social.SocialAPI.Initialize(Nullable`1 mode)
at Terraria.Program.LaunchGame(String[] args)



WHAT SHOULD I DO!!!!!!
Reinstall Terraria,how it looks you deleted CSteamworks.dll
 

Solo-Ion

Dungeon Spirit
Can anyone help me add more than one craft group. I can't seem to figure out how to add more.

Code:
using System;
using Microsoft.Xna.Framework;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace ExampleMod
{
    public class ExampleMod : Mod
    {
        public ExampleMod()
        {
            Properties = new ModProperties()
            {
                Autoload = true,
                AutoloadGores = true,
                AutoloadSounds = true
            };
        }

        public override void AddRecipeGroups()
        {
            RecipeGroup group = new RecipeGroup(() => Lang.misc[37] + " " + GetItem("ExampleItem").item.name, new int[]
            {
                ItemType("ExampleItem"),
                ItemType("EquipMaterial"),
                ItemType("BossItem")
            });
            RecipeGroup.RegisterGroup("ExampleMod:ExampleItem", group);
        }
    }
}
Here's how I do multiple craft groups.
public override void AddRecipeGroups()
{
//Add the silver ranked group
RecipeGroup group = new RecipeGroup(() => Lang.misc[37] + " Silver", new int[]
{
ItemID.SilverBar,
ItemID.TungstenBar
});
RecipeGroup.RegisterGroup("TDK:rankSilver", group);
//Add the Gold ranked group
group = new RecipeGroup(() => Lang.misc[37] + " Gold", new int[]
{
ItemID.GoldBar,
ItemID.PlatinumBar
});
RecipeGroup.RegisterGroup("TDK:rankGold", group);
}

THANKS

Now that the boomerang goes through, how do I make it return faster. It was mentioned before that this is part of the AI I think, but it should be possible to do since the paladin's hammer uses the same AI as other boomerangs, but returns faster.

sorry if I'm annoying.

pls help
Sorry about the mistake with 'this.' instead of 'projectile.' Thanks jopojelly for catching it. ;)

The projectile's ai[0] is set to 1 to tell it to return to the player. You could try checking if ai[0] is 1 and then multiplying it' velocity by something bigger than 1. Or, if you want more control, you could do as jopojelly suggested. I remember someone asking for boomerang AI earlier this thread, though I don't know if any was provided.
 

Jeckel

Terrarian
I want to add my own mod version there too
I don't know if it is possible or not, but it sounds like the kind of thing that once one person does it, everyone will jump on board and, the next thing you know, the screen is crowded with version numbers.
 

Kazzymodus

Moderator
Staff member
Moderator
Hello, Is that possible to add at the Menu like tmodloader adds its version?

I want to add my own mod version there too
What do you mean with 'too'? tModLoader is the application, it's not a loaded mod. I very much doubt you're going to be able to modify it through just a mod.
 

NeonDragon5

Official Terrarian
Here's how I do multiple craft groups.
public override void AddRecipeGroups()
{
//Add the silver ranked group
RecipeGroup group = new RecipeGroup(() => Lang.misc[37] + " Silver", new int[]
{
ItemID.SilverBar,
ItemID.TungstenBar
});
RecipeGroup.RegisterGroup("TDK:rankSilver", group);
//Add the Gold ranked group
group = new RecipeGroup(() => Lang.misc[37] + " Gold", new int[]
{
ItemID.GoldBar,
ItemID.PlatinumBar
});
RecipeGroup.RegisterGroup("TDK:rankGold", group);
}


Sorry about the mistake with 'this.' instead of 'projectile.' Thanks jopojelly for catching it. ;)

The projectile's ai[0] is set to 1 to tell it to return to the player. You could try checking if ai[0] is 1 and then multiplying it' velocity by something bigger than 1. Or, if you want more control, you could do as jopojelly suggested. I remember someone asking for boomerang AI earlier this thread, though I don't know if any was provided.
Thank you.
 

Lukas04

Official Terrarian
I wanted to Report a little Bug
If you add
Code:
player.wingTime =
to an Armor/accecoire the Gliding is broken a bit

Normal:
ezgif.com-video-to-gif(1).gif



With player.wingTime
ezgif.com-video-to-gif.gif
 

Iriazul

Terrarian
ModProjectile
Allright, so you've got two drawOriginOffsets right? X and Y.
What you want to do with these values is set them in the SetDefaults function of your ModProjectile. Ex:
Code:
public override void SetDefaults()
{
    // Name, width, height, etcetc.
    
    // Now say the texture of your projectile is... 16x16 and you want the projectile to rotate around its center, you'll want to set the origin values to 8, since that will get the middle of the projectile to rotate or draw around.    
    drawOriginOffsetY = drawOriginOffsetY = 8;
}
This is untested, but technically it should work.
 

Iriazul

Terrarian
How whould i add these MEssage? to what File i need to to add it and what Method etc
I'm not sure if there's a general 'OnWorldJoin' kind of function, but one (not so optimal, but working) way of doing this is by using the following code in a class that derives from ModPlayer:
Code:
private bool loaded = false;
public override void PreUpdate()
{
    if(!loaded)
    {
        Main.NewText("Display your message here.");
        loaded = true;
    }
}
 

ALmaZss

Plantera
Allright, so you've got two drawOriginOffsets right? X and Y.
What you want to do with these values is set them in the SetDefaults function of your ModProjectile. Ex:
Code:
public override void SetDefaults()
{
    // Name, width, height, etcetc.
   
    // Now say the texture of your projectile is... 16x16 and you want the projectile to rotate around its center, you'll want to set the origin values to 8, since that will get the middle of the projectile to rotate or draw around.   
    drawOriginOffsetY = drawOriginOffsetY = 8;
}
This is untested, but technically it should work.
Nope, I can't assign a value because drawOriginOffset is a group of methods.
[doublepost=1465732040,1465731925][/doublepost]
Nope, I can't assign a value because drawOriginOffset is a group of methods.
Huh, now it is working...
 

Iriazul

Terrarian
Nope, I can't assign a value because drawOriginOffset is a group of methods.
[doublepost=1465732040,1465731925][/doublepost]
Huh, now it is working...
What did you change?
drawOriginOffset in itself is nothing, you'll have to either reference the X or Y variable.
 
Top Bottom