tModLoader

tModLoader

53 ratings
Pegasus Lib
   
Award
Favorite
Favorited
Unfavorite
Mod Features: Library
Mod Side: NoSync
tModLoader Version: 1.4.4
Language: English
File Size
Posted
Updated
377.829 KB
20 Oct, 2024 @ 4:48pm
18 Aug @ 12:33pm
27 Change Notes ( view )

Subscribe to download
Pegasus Lib

Description
A collection of code I found myself repeating and recommending to other modders

Includes:
A system to easily apply shaders to things drawn in multiple parts, and/or apply multiple shaders to one thing (ShaderLayerTargetHandler)
A strikethrough font which matches the character spacing of the MouseText font
A faster alternative to accessing fields through reflection (FastFieldInfo and FastStaticFieldInfo)
Automatic asset loading (AutoLoadingAsset)
Custom drawing while using or holding an item (ICustomDrawItem)
Various collision methods (CollisionExt)

To use (as a player):
Install and enable alongside a mod which uses it.

To use (as a modder):
Perform the normal setup to use a library mod.
During loading, call PegasusLib.PegasusLib.Require() with any PegasusLib.LibFeatures your mod needs, to ensure that features relying on them do not fail silently.
Alternatively, you can use PegasusLib.PegasusLib.IsFeatureErrored or PegasusLib.PegasusLib.OnFeatureError to handle any issues that may arise in whatever way suits your mod best.
These methods exist to ensure that tModLoader updates or mod incompatibilities only interfere with mods that actually use the features they cause errors with, so that players can continue using your mod without having to wait for features it doesn't use to be fixed.
Originally posted by tModLoader PegasusLib:
Developed By Moonlight Glint
7 Comments
Fluffy Moff 31 Jul @ 4:12pm 
It worked! You really are fricken amazing!
Moonlight Glint  [author] 31 Jul @ 12:24pm 
Fixed
Moonlight Glint  [author] 29 Jul @ 9:50pm 
That's an interesting error, I'll try to fix it, but for the time being there's a workaround, if you disable the automatic reload after changing mods you can just exit and re-enter the game; Given that bypasses the unloading process it shouldn't even be much slower.
Fluffy Moff 29 Jul @ 7:59pm 
Mod is now broken. Trying to unload it at all makes it so the game has to close with the Error of "PegasusLib was unable to unload properly" Where something called PegasusLib.ExtraDyeSlots "threw an exception"
wurt 22 Jul @ 8:44pm 
k :SBpenguin:
Moonlight Glint  [author] 22 Jul @ 8:41pm 
I try to ensure that it always does.
wurt 22 Jul @ 8:39pm 
does it work
:steamthumbsup::steamthumbsdown: