This is a library/helper mod designed to offload code from other mods (mainly my own) into a central place, and therefore avoid redundancy. It also acts as a general "helper" mod for users to manage their mod lists or search for other mods.
See the wiki page for feature overviews.
Guides are now also available for using advanced features. More planned.
Library API documentation is also now available.
Library API Features
It features an eclectic (and always growing) collection of assorted functions and utilities available freely for use. To list just a few:
- Entity Groups - Defines lists of entity (item, npc, etc.) types based on characteristics. More will be added.
- NetIO and Packet Protocols - Substitutes for ModPacket to tighten up net code. Helps turn net code run-time/logic errors into compile-time errors.
- HUD helpers - Lets you draw stuff to the map.
- Basic assorted helpers - Items, players, NPCs, projectiles, tiles, etc.
- Identity helpers - Identify items, NPCs, tiles, etc. by attributes.
- Player item/inventory helpers - Shop helpers, inventory finders, handling/unhanding, money, etc.
- Player movement helpers - Movement state, abilities, speed gauging, etc.
- Music box helpers
- NPC banner helpers
- Town NPC helpers
- tModLoader extensions
- UI helpers - Zoom position translating, key presses, etc.
- World helpers - Time, space, and world state helpers. Also lists biomes.
- In-game popup message alternatives
- Assorted UI elements
- Debug helpers - Persistent, updateable text messages, log file outputs with added info, etc.
- Many more!
As of v1.2.0, this mod now comes with an in-game control panel. You can view all loaded mods, change their config files (if they're enabled for doing so) in-game, or even submit feedback or bug reports for specific mods! If you want any other control panel options to be added, let me know.
As of v1.2.6, a mod locking button has been added to the control panel. With this, all currently active mods on the current world are locked; you cannot play that world without all of these mods active.
New (v3.0) Mod tags may be supplied for any given mod, or used to search existing mods in the mod browser.
New to v1.2+ is the ability to enable github issues in-game. No mod dependency required!
- To receive in-game issue reports from players: Your Mod overriding class must include the following properties (with your respective github user name and your mod's project name):
public static string GithubUserName => "hamstar0"; public static string GithubProjectName => "tml-hamstarhelpers-mod";
Want to contribute? Here's a handy guide on making pull requests: