PoroCYon
Terrarian
NOTE: THIS IS A PRERELEASE. SOME IMPORTANT FEATURES ARE MISSING AND/OR IT MIGHT BE UNSTABLE.
NOTICE:Prism is not under active development anymore. It can, however, be continued by anyone who feels like it, and the code can be used in any of your projects, too (see "License").
It gained some activity, but everyone's still allowed to use the code in other projects.
Disclaimer
Introduction
Features
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.
There is some documentation available, but it's not a step-by-step tutorial for total noobs.
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
License
Credits
NOTICE:
It gained some activity, but everyone's still allowed to use the code in other projects.
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 (are) already a (multiple) tool(s) used to create mods for 1.3, but Prism is in no way related to it (them).
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 PrismAPI IRC channel (irc.esper.net:6667#PrismAPI). For general Terraria modding help, go to the tAPI 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).
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 PrismAPI IRC channel (irc.esper.net:6667#PrismAPI). For general Terraria modding help, go to the tAPI 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 walls 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.
There is some documentation available, but it's not a step-by-step tutorial for total noobs.
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. Note that the LICENSE file is not up-to-date anymore, see the "License" title on this thread instead.
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. It might be a better idea to use the "develop" branch instead of "master" when the latter is a bit out-of-date.
The code for Terraria v1.3.0.* can be found on the "v1-3-0" branch
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. It might be a better idea to use the "develop" branch instead of "master" when the latter is a bit out-of-date.
The code for Terraria v1.3.0.* can be found on the "v1-3-0" branch
License
See LICENSE on the GitHub repository (WTFPL 2.0, with no-warranty clause)
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, if you are using it for Terraria modding purposes (instead of e.g. using it in your own, unrelated project(s)).
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).
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, if you are using it for Terraria modding purposes (instead of e.g. using it in your own, unrelated project(s)).
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, be it 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.
Last edited: