Skip to content

Repository files navigation

Terraria Mods

This is a monorepo containing all of my Terraria mods for the TerrariaModder framework.

All mods are built for Terraria 1.4.5 and require TerrariaModder 0.4.0.

Mods

Better Traveling Merchant

Increase the spawn rate of the Traveling Merchant and force certain items to always be sold.
Deterministic Drops

Reduce variance in item drops while preserving vanilla drop rates.
Fullbright

Force all tiles to render at full brightness.
Minimap Mode

Automatically set the minimap to the configured mode when loading into a world.
Rare Drop Notification

Show a chat message when a rare item is dropped.
Select Ores

Select which ores are generated in your world, independent of world seed.
Settings Keybind

Add a configurable keybind to toggle the settings menu.
Value Tooltip

Display the sell value of items in their tooltip even outside of shops.

Installation

Install TerrariaModder.

With TerrariaModder Vault

You can find all of the mods in the "Browse Nexus" section.

Manually

  1. Download the latest release of any mod or from Nexus Mods.
  2. Extract the downloaded .zip file and move the folder inside into Terraria/TerrariaModder/mods/.

Development

Mods are located in src/ where each mod is a separate C# project.

The src/Utils/ folder contains shared utilities – currently only a helper for harmony patching.

Directory.Build.props contains MSBuild properties common to all projects. These include

  • Framework and language settings
  • Code analysis settings
  • Assembly references

Directory.Build.targets configures the build output directories and the optional automatic deployment on build. Directory.Build.local.props contains the assembly reference paths.

Each mod has its own README.md file documenting the mod's logic.

Setup

  1. Install required tools:

  2. Clone the repository.

  3. Copy and rename Directory.Build.local.props.example to Directory.Build.local.props.

  4. Add paths for the assembly references in Directory.Build.local.props:

    • TerrariaModderCoreProject or TerrariaModderCoreDll
    • TerrariaExe
    • HarmonyDll
    • XnaFrameworkGameDll (has default install location)
    • XnaFrameworkDll (has default install location)
  5. To enable automatic deployment, set the following values:

    • DeployToGame=true
    • DeployPath pointing to Terraria/TerrariaModder/mods/
  6. Build a mod with dotnet build:

    dotnet build src/FullBright/FullBright.csproj -c Release

    Build output is written to build/<mod-id>/. The mod's manifest.json and icon.png are automatically copied as well.

    If automatic deployment is enabled, the build is also copied over to Terraria/TerrariaModder/mods/.

The script build-all.ps1 builds all projects at once. This is mostly useful when all mods need to be rebuilt due to a common change.

The script zip-all.ps1 creates a versioned zip of all built projects. This is mostly useful for creating releases.

Questions, Suggestions, Contributing and Bug Reports

If you have any questions, suggestions or have found a bug, feel free to open an issue or contact me in the TerrariaModder Discord (@neverify). You can also report bugs in the Bugs tab of the Nexus Mods page of the respective mod.

If you want to contribute, please contact me on Discord first :​)

Credits

A massive thanks to Inidar1 for creating the TerrariaModder framework. It makes all of these mods possible and the wait for tModLoader 1.4.5 bearable <​3

Mod icons use Terraria assets.

About

Monorepo containing all of my Terraria mods for the TerrariaModder framework

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages