Standalone [1.3] tModLoader - A Modding API

Ohh thought you were talking about mono
[DOUBLEPOST=1449623033,1449622832][/DOUBLEPOST]I did setup modding enviorement and it says FInding software and it's loading really slowly is that normal or should I stop
[DOUBLEPOST=1449623308][/DOUBLEPOST]Ok NVM but how do I create mods now
[DOUBLEPOST=1449623572][/DOUBLEPOST]AND how do I install mods I got
 
Hey, I was just wondering why you plan to put server support in the "distant future" section? I think if you got multiplayer to work (even a host n' play) then it would be a huge advancement for the modding community (Even if it is really bad).
 
Hey, I was just wondering why you plan to put server support in the "distant future" section? I think if you got multiplayer to work (even a host n' play) then it would be a huge advancement for the modding community (Even if it is really bad).
The main reason is that this is still very much a work-in-progress. I still haven't even completed all the main features needed to make a complete mod. I'm trying to finish both ModPlayer and ModWorld before I start considering servers. Once I feel that there's actually enough features to make a good mod, I'll probably put up a poll on whether people want interface support or server support first.
Edit: Also, servers technically work right now; it's just that it's very bad (for example doors puking presents and lava).
 
Last edited:
Ah ok,
But how do I run tModloader? I already opened it the first time, in which I pressed the seyup modder environment button, It installed, then it crashed. Do I have to run the whole command sequence again?
 
Ah ok,
But how do I run tModloader? I already opened it the first time, in which I pressed the seyup modder environment button, It installed, then it crashed. Do I have to run the whole command sequence again?
if it finished installing before it crashed, then you simply open terraria. if it did not finish installing, then yes, you have to re use the 'mono installer.exe' command
 
Hey, could anyone help me access one mod's variable from another? I have a ModTile Jukebox in one mod and want an NPC from another mod to recognize, when it's playing.

I tried putting the variable in the mod's .cs and the tile's .cs itself, but I can't access it.
One of this things I tried:
Code:
namespace FurnitureMod.Tiles
{
    public class Jukebox_Tile : ModTile
    {
        public static bool inUse = true;
    }
}
Code:
using System;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace EnthusiastMod.NPCs
{
    public class Enthusiast : ModNPC
    {
        public override string GetChat()
        {
            return ModLoader.GetMod("FurnitureMod").GetTile("Jukebox_Tile").inUse;
        }
    }
}
'Terraria.ModLoader.ModTile' does not contain a definition for 'inUse' and no extension method 'inUse' accepting a first argument of type 'Terraria.ModLoader.ModTile' could be found (are you missing a using directive or an assembly reference?)

I'm guessing GetTile only returns the ModTile that my Jukebox_Tile is inheriting stuff from... how can I get into the Jukebox_Tile?
 
Last edited:
Hey, could anyone help me access one mod's variable from another? I have a ModTile Jukebox in one mod and want an NPC from another mod to recognize, when it's playing.

I tried putting the variable in the mod's .cs and the tile's .cs itself, but I can't access it.
One of this things I tried:
Code:
namespace FurnitureMod.Tiles
{
    public class Jukebox_Tile : ModTile
    {
        public static bool inUse = true;
    }
}
Code:
using System;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;

namespace EnthusiastMod.NPCs
{
    public class Enthusiast : ModNPC
    {
        public override string GetChat()
        {
            return ModLoader.GetMod("FurnitureMod").GetTile("Jukebox_Tile").inUse;
        }
    }
}


I'm guessing GetTile only returns the ModTile that my Jukebox_Tile is inheriting stuff from... how can I get into the Jukebox_Tile?
You'll want to cast your ModTile as a Jukebox_Tile.
Code:
(Jukebox_Tile)(ModLoader.GetMod("FurnitureMod").GetTile("Jukebox_Tile")).inUse;
 
You'll want to cast your ModTile as a Jukebox_Tile.
Code:
(Jukebox_Tile)(ModLoader.GetMod("FurnitureMod").GetTile("Jukebox_Tile")).inUse;
I'm getting these now:
Enthusiast.cs(88,24) : error CS0246: The type or namespace name 'Jukebox_Tile' could not be found (are you missing a using directive or an assembly reference?)
Enthusiast.cs(88,96) : error CS1061: 'Terraria.ModLoader.ModTile' does not contain a definition for 'inUse' and no extension method 'inUse' accepting a first argument of type 'Terraria.ModLoader.ModTile' could be found (are you missing a using directive or an assembly reference?)

I checked for all kinds of typos but didn't find anything...
Any idea?
 
You'll need to include the correct namespace (the one that contains your jukebox), which is probably FurnitureMod.Tiles.
Code:
using FurnitureMod.Tiles;
Like that? Because I already tried it and it gives me this error:
Enthusiast.cs(5,7) : error CS0246: The type or namespace name 'FurnitureMod' could not be found (are you missing a using directive or an assembly reference?)
Maybe I'm messing up something trivial, but I dunno..
 
if it finished installing before it crashed, then you simply open terraria. if it did not finish installing, then yes, you have to re use the 'mono installer.exe' command
So all the things are inside terraria? Gotcha. I like how I'm gonna mod inside of terraria, it's encouraging me to be more natural and creative :3
 
I checked the title page and I didn't see biome support anywhere. Is it in development? Or in the tentative future?
Hopefully not the far future.
 
Code:
using FurnitureMod.Tiles;
Like that? Because I already tried it and it gives me this error:

Maybe I'm messing up something trivial, but I dunno..
If you're trying to do this between mods, you'll have to add FurnitureMod as a dependancy. Take a look here for more info (I've never done that myself so I have no idea if that'll work).
 
Last edited:
If you're trying to do this between mods, you'll have to add FurnifureMld as a dependancy. Take a look here for more info (I've never done that myself so I have no idea if that'll work).

OK that worked and my code compiled with:
Code:
using FurnitureMod.Tiles;
but I'm back to my initial problem:
Enthusiast.cs(88,96) : error CS1061: 'Terraria.ModLoader.ModTile' does not contain a definition for 'inUse' and no extension method 'inUse' accepting a first argument of type 'Terraria.ModLoader.ModTile' could be found (are you missing a using directive or an assembly reference?)
I'm casting the Tile as suggested here:
You'll want to cast your ModTile as a Jukebox_Tile.
Code:
(Jukebox_Tile)(ModLoader.GetMod("FurnitureMod").GetTile("Jukebox_Tile")).inUse;
But it still doesn't work...
 
OK that worked and my code compiled with:
Code:
using FurnitureMod.Tiles;
but I'm back to my initial problem:

I'm casting the Tile as suggested here:

But it still doesn't work...
Sorry, you'll want to encapsulate that once more (with the .inUse outside of that).
 
Back
Top Bottom