• 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.3 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.

[Cross-Platform] Prism modding API for 1.3

GOUST

Terrarian
You can, but I'll put a Linux binary there when it's in the actual release stage.
I am going to be completely honest, I am very frustrated with trying to get this to work for 2 days. You have a good idea to move the outdated alternate API's out of the way, but you cant do that when I cant manage to even get it working after 2 days. I have done just about everything I can think of and nothing. Your instructions are a bit confusing too, you skip around a LOT. So, I have many idea of what I want to make, but they are all postponed until you can get some decent instructions or just make an installer. There is a lot to this, I know, but could'nt you just have 1 relatively simple set of instructions for the guy who doesn't feel like tearing his hair out trying to get it to work with 30-40-maybe even 50 diferant things to do across 3 different OSs???

Ex:
Linux:
Put stuff here, runt this than there.

Windows:
Ditto.

Mac:
I hate you.

Current state:
Please cure cancer then build a rocket to mars and hijack an alien space shuttle then proceed to dismantle it and take out the one bag of doritos they hid under the seat and assemble it again except put the exhaust pipes on the roof because, why not, then fly back to earth and go home and play terraria and bam you can now mod.

Just for the love of god give me some simple directions a potato could understand!!
 

PoroCYon

Terrarian
I am going to be completely honest, I am very frustrated with trying to get this to work for 2 days. You have a good idea to move the outdated alternate API's out of the way, but you cant do that when I cant manage to even get it working after 2 days. I have done just about everything I can think of and nothing. Your instructions are a bit confusing too, you skip around a LOT. So, I have many idea of what I want to make, but they are all postponed until you can get some decent instructions or just make an installer. There is a lot to this, I know, but could'nt you just have 1 relatively simple set of instructions for the guy who doesn't feel like tearing his hair out trying to get it to work with 30-40-maybe even 50 diferant things to do across 3 different OSs???

Ex:
Linux:
Put stuff here, runt this than there.

Windows:
Ditto.

Mac:
I hate you.

Current state:
Please cure cancer then build a rocket to mars and hijack an alien space shuttle then proceed to dismantle it and take out the one bag of doritos they hid under the seat and assemble it again except put the exhaust pipes on the roof because, why not, then fly back to earth and go home and play terraria and bam you can now mod.

Just for the love of god give me some simple directions a potato could understand!!
Clone the repo, put Terraria.exe in the References folder, invoke xbuild.
 

PartyRockVamp

Terrarian
Shoot i want something easy like tAPI or i will wait people to release few mods and mod by that -I Do this stuff but i dont copy people content so its legall
 

mynameisgabe

Terrarian
hello I have a question, which one should I get, prism or tmodloader? I do not make mods, I just play them. I dont know enough about programming to know which one is better.
 

Exeton

Terrarian
Here's some documentation (I didn't contribute to this Api):

Player hooks:
Code:
public override void PreUpdate () {}
public override void MidUpdate () {}
public override void PostUpdate() {}
public override void PreItemCheck () {}
Projectile hooks:
Code:
public override bool PreUpdate() {}
public override void OnUpdate() {}
public override bool PreAI() {}
NPC hooks:
Code:
public override bool PreUpdate() {}
public override void OnUpdate() {}
Buff Hooks:
Code:
public override void Effects(Player p, int timeLeft, int slot) { }
public override void NpcEffects(NPC n, int timeLeft, int slot) { }
Entity Hooks
Code:
public override void OnInit () {}
public override bool PreDestroyed(){}
public override void OnDestroyed() {}
So many more:
https://github.com/TerrariaPrismTeam/Prism/search?p=1&q=virtual&utf8=✓
Don't forget to change virtual to override
 

Eli10293

Spazmatism
NOTE: THIS IS A PRERELEASE. SOME IMPORTANT FEATURES ARE MISSING AND/OR IT MIGHT BE UNSTABLE.

Disclaimer
  • This is an unofficial tool, it is not licensed to Re-Logic, Re-Logic is not at fault for any damage caused by using this program.
  • There is already a tool used to create mods for 1.3, but Prism is in no way related to it.

Introduction

Prism is a cross-platform, open-source modding API for Terraria 1.3. It allows the creation and management of multiple mods at once. It can be seen as the successor to tAPI and tConfig.

Prism, unlike tAPI and tConfig, uses code injection to achieve this, instead of using the decompiled source code. Because of this, no Re-Logic code is included in the code repository, and can be (and is) made open-source. Everyone can contribute if they spot a bug or want to add a feature. The link to the GitHub repository is put under the 'Download' section.

Another effect of the usage of code injection is that it is easier to update to a newer version of Terraria. The code does not have to be decompiled and the changes do not have to be added by hand over and over again. It does break when certain code is rewritten, but it is fast and relatively easy to trace.
Any Terraria.exe file can be 'fed' to the patcher (required for GOG/Steam and platform differences, see the installation instructions), but it will break when given a Terraria <1.3 executable (including mods). It might (but is not guaranteed to) work with certain tools that use and/or create their own Terraria.exe file, but the Prism patcher executable must be used as the final step because it outputs a Prism.Terraria.dll file, which is loaded by Prism.exe.

It runs on Windows, Linux and OS X, is compatible with Steam, GOG and the Game Launcher. The mono runtime must be installed to use Prism on Linux and OS X.
NOTE: it is x64-only on Linux platforms (unless you want to build it yourself after messing with the build settings).

The current team consists of these people (and a few others who wish to remain unknown by setting their visibility to 'Private' in that list).

Prism uses a separate folder for player and world saves, "My Games\Terraria\Prism\..." (or its equivalent on Linux/OS X). Separate .prism files are created for mod data, so one can copy the .plr and .wld files to/from the Prism folders.

If you want to submit a bug of feature request, please use the GitHub issue tracker rather than replying to the thread, so we can keep track of it more easily. Some/most members of the team are usually present on the tAPI IRC channel (irc.esper.net/6667#tapi).

Prism may seem harder to use than other modding tools, but it can reward good programmers (à la C++ or Haskell).​

Features
A (non-exhausive, incomplete) list of features:
  • Custom items, monsters, NPCs, projectiles and mounts, as well as custom behaviours
  • Player, world, game, ... hooks, to manage the state of the game, or to execute code at a specific point
  • Custom sound effects and background music
  • Tiles and are not supported yet. Tiles are notoriously hard to mess with (without letting the game crash), and there is not much space left for extra wall IDs, due to technical limitations (the ID is a `byte`, and about 210 walls exist already).
  • Multiplayer is not supported yet. The usage of multiplayer is not prevented, but it is almost guaranteed to break.
  • Prism is in the prerelease stage. A to-do list of features is available here.
Documentation

There is currently no documentation available because we are/have been busy creating Prism itself, but some kind of example mod exists, but it is mainly used to test Prism.

If you want to build Prism yourself, see the README.md file on the repo. It also contains a small section on how to create a mod.​

Download

See the GitHub release page. Installation instructions are provided there and should be read, especially for Linux and OS X users.

The source code can be viewed, cloned and forked on the GitHub repository.
Note that there are two major branches, "master" and "develop". "master" contains the code of the current release, "develop" is the most recent, in-developement (and probably unstable) code.​

License

See LICENSE on the GitHub repository (Artistic License 2.0)

This license agreement is a legal agreement between you and the Prism team.
By installing Prism, you agree to be bound by this agreement. If you do not agree to the terms of this Agreement, you may not install or use Prism.

Furthermore, you may not violate the rules presented in the Player-Created Game Enhancements: Rules & Guidelines thread.

Note that Prism is provided 'as is', it is never, in any event, the fault of the Prism team nor any of its members if damage in any kind occurs by the use of Prism or its consequences (e.g. using a mod).​

Credits
  • Everyone at Re-Logic for creating Terraria
  • All contributors and several others for assisting in the Prism developement process, it be either code or help with porting it to Linux and/or OS X.
  • Surfpup and the tAPI team for creating the programs that lead to Prism.
  • Bullseye55 for a lot of testing.
Any news on the stability and features of Prism yet?
Its been a while
 
Top Bottom