tModLoader Alternate Dimensions

jopojelly

Retinazer
tModLoader
Discord:

News
August 22 2016

Alternate Dimensions and Alternate Dimensions Example are both available on GitHub. Please don't take the code from Alternate Dimensions and integrate it into your mod, breaking compatibility with all the other mods adding Alternate Dimensions. You should reference the mod itself. Don't ruin it for the rest of us.

Anyway, now that the source is open source, I hope someone will join me and work towards making this mod ready for release soon.

A couple of mod teams are currently utilizing this mod in their mods, so things are progressing well. If you want to help or use the mod in the development of your mod, let me know and I'll help you get started.

Once a complete feature set is available and everything is working, the mod will be released. Modders don't need to wait, however, and should use the source to experiment.

Also, don't click the publish button.

Description

This mod is NOT available yet. I am posting now so that through some discussion with other modders, a desired functionality and feature set can be created and correctly implemented in the first version.

This mod enables other mods to generate "alternate dimensions" in a Terraria world. These alternate dimensions are actually just part of the world, but through the magic of this mod, they will be inaccessible except through the methods your mod provides. (A portal, a teleporter, a boss fight....whatever you want.)

For now, the plan is to give a 500 tile wide vertical slice to each "Dimension". I figure 500 tiles is wide enough for a cool dimension. The reason you get the whole vertical slice and not just a square area is because of various reasons, gravity being one. This is one of those things that can be discussed.

These dimensions are generated after world generation. (On the fly generation could be an option later on.)

Mods will register their alternate dimension in Mod.PostSetupContent using the Call function. During worldgen the method you passed in will be called with the rectangle that is the area defined for your mod. It is then up to your mod to generate all the terrain for your alternate dimension.
Code:
            alternateDimensions = ModLoader.GetMod("AlternateDimensions");
            if (alternateDimensions != null)
            {
                AlternateDimensionInterface.RegisterDimension(this.Name, "BasicArena", arcadeCabinetWorld.GenerateBasicArena);
            }

So, if you are part of a mod that aims to add new biomes or structures, I hope you will help me plan out this mod so that Terraria mods can be that much more awesome.

Some ideas:
A complete alternate dimension with new biomes to explore.
A generated PVP arena.
A special boss arena for your unique boss.
...etc

Anyway, here's a video:
 
Last edited:
hmm, i'm a little confused, so does it create a completely new piece of land to make the dimension, or does it use some of the existing map?
 
If i would make a mod adding a new dimension, will the users need to have this installed? And will I be able to join two dimensions in one 1000 tile wide?
 
If I would go about creating new dimensions in Terraria I would have probably had it generate a new world only accessible through the world use to generate it
This would be good due to the fact that because it is a new world you would have a bigger space, be able to alter how things work there like physics, and have a plethora of different biomes to generate within the new dimension
 
If i would make a mod adding a new dimension, will the users need to have this installed? And will I be able to join two dimensions in one 1000 tile wide?
If your mod heavily relies on the alternate dimension functionality, I would use the modReferences option in build.txt to define this mod as a prerequisite, preventing users from using your mod without this mod enabled. You could also have this mod be optional for your mod, but whatever experience you plan for the alternate dimension would be inaccessible for the users who didn't have this installed.

As far as width goes, as I mentioned, everything is up for discussion. The 500 width seemed good while I was coding.

I'd like to limit it somewhat, since even with my mid that enables larger worlds, there are limits to the width. (16800 tiles wide)
 
If I would go about creating new dimensions in Terraria I would have probably had it generate a new world only accessible through the world use to generate it
This would be good due to the fact that because it is a new world you would have a bigger space, be able to alter how things work there like physics, and have a plethora of different biomes to generate within the new dimension
I thought of this too, but multiplayer was a goal I had for this, and that would prove very difficult to handle. Each dimension would need it's own server.exe running, the handoff as a player travels to dimensions would be very complex (and unimmersive for the player, since you'd have to go to a loading screen), the information like downed bosses would have to somehow be shared and synced between the world files and the servers, and you couldn't chat with your friends while in the other dimension.
 
I thought of this too, but multiplayer was a goal I had for this, and that would prove very difficult to handle. Each dimension would need it's own server.exe running, the handoff as a player travels to dimensions would be very complex (and unimmersive for the player, since you'd have to go to a loading screen), the information like downed bosses would have to somehow be shared and synced between the world files and the servers, and you couldn't chat with your friends while in the other dimension.
I didn't think of that when I made the post but you could try increasing the dimension size so mod creators can make it custom size
 
I didn't think of that when I made the post but you could try increasing the dimension size so mod creators can make it custom size
Yeah, once an actual modder starts making their dimension (beta testing), things like the size restrictions can be agreed upon.
 
This potentially is very cool indeed. Why not once this is built fully try to implement it into the base of Tmodloader? That would eliminate and problems with missing mods etc, and allow ease of installing.
 
Back
Top Bottom