Webmilio's Commons Library is a library aimed a making modding much easier.
Things this adds:
- Better Networking (in my opinion, at least)
- Managers (Manual or singletons that handle classes that could be seen as static, but need inheritance. Also known as the Definition pattern in programming)
- Loaders (Manual or singletons that handle loading all found classes within the Terraria assembly, including mods. Very similar to ItemLoader, NPCLoader, etc.)
- Identity Manager (WIP): a way to get Steam ID from the user (if the user is using Steam)
- A bunch of extensions
- This includes TINQ (inspired by LINQ from Microsoft): adds a lot of extension methods that affect entity collections (NPCs, Items, Players, Projectiles).
- Keyboard Manager: get the state of any keys (NotPressed, JustPressed, Pressed, JustReleased), regardless of Mod Hotkey.
- Custom Achievements: you can add custom achievements in a less complex way than without the library.
- This is a work-in-progress. While you can add achievements and they do correctly save, all modded achievement progress is lost after disabling and reloading a mod that adds achievements. It is unconfirmed if the same happens when reloading mods normally.
- Time Management: you can manipulate time within your mod to a certain extend. The best example for this is within the JoJo Mod by HellGoesOn: Star Platinum is able to fully stop time.
- This is a work-in-progress. My goal is to make time-stop affect all entities and be fully customizable: you can choose to stop players only, entities and players or any combination of entities. You can also change the day rate, etc.
- Class which allows you to quickly create a tile-placing item once extended.
- Classes for easy statue creation with customizable behavior.
Examples can be found in the wiki and in the discord.
To obtain the DLL for referencing in your mod, simply click Extract after updating the library in tModLoader, or go to the releases (see link down below).
- Enigma Mod by Laugic
- Dragon Ball Terraria by Dragon Ball Terraria Team (successor to DBZMod by NuovaPrime)
Leveled Mod by Gotest & myself (probably not by the time I'm writing this)Leveled is on hiatus
- Starlight River by a lot of people I guess
- All of HellGoesOn's mods (a.k.a. JoJo Mod, etc., whenever we release a new update)
- KRPG2 by Kalciphoz & myself
- Dust Bags by Blockaroz
- Risk of Slime Rain by Alucard_I
My own mods (check this discord for more information)
- DoTaria (if I ever update it)
Credits to Scalie for the idea of moddable achievements and the easy tile-creating class.
Credits to Kalciphoz for making the kick-a$$ mod icon!
There is a discord available for this library, but you must first request to be invited as it is developer only.