IVYL
Another RoR2 modding library - now with documentation!
Date uploaded | 10 months ago |
Version | 2.0.0 |
Download link | Smooth_Salad-IVYL-2.0.0.zip |
Downloads | 50694 |
Dependency string | Smooth_Salad-IVYL-2.0.0 |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2113README
Ivy Library
IVYL is a static library for RoR2 modding made to support high-quality runtime mods.
Key Features
Content Management
Quickly and safely define items, equipment, artifacts, and more.
See:
ContentPackExtensions
,ItemExtensions
,EquipmentExtensions
, etc.
Asynchronous Framework
Implement simple asynchronous content loading.
See:
BaseContentPlugin
Modular Codebase
Organize your mod into modular components that can be individually managed.
See:
BaseModule
attribute
Language
Create formatted and easily translatable language files directly within your project.
See:
LanguageStrings
attribute
Miscellaneous Utils
A collection of static and extension methods to handle common operations.
See:
Ivyl
And More!
IVYL is a work-in-progress! Expect improvements over time
Contact
For questions, suggestions, or feedback, you can find me in the RoR2 Modding Server @Groove_Salad or through the GitHub
Even if it's just a documentation typo (especially if it's just a documentation typo), don't hesitate to reach out!
CHANGELOG
2.0.0
This update is huge; the change list will not be exhaustive
- Remove IvylPatcher
- Remove
BepInConfig
attribute - Remove
PluginComponent
attribute and system - Add
BaseModuleAttribute
: this is an experimental feature intended replace plugin component functionality with a more customizable system built on searchable attributes
- Remove
- Add XML documentation to relevant classes and methods
- Update file structure (introducing...folders!)
- "Ivyl" namespace renamed to "IvyLibrary"
- Shader swapping has been improved and moved to ShaderSwapper
- Remove
ContentPackage
andExpansionPackage
- Add
BaseContentPlugin
: a specialized plugin with a generic implementation ofIContentPackProvider
. This comes with the goal of making asynchronous content loading more approachable - Add content pack extensions to replace
ContentPackage
functionality
- Add
- Remove RecalculateStatsAPI dependency
- Remove
IOnGetStatCoefficientsReciever
- Remove
- Remove a few other overly-specific util classes and merge the rest into the
Ivyl
class - Remove
RoR2Asset
andRoR2AssetGroup
- These didn't play nice with the RoR2 content loading systems
- Add utils to
Ivyl
for loading both addressable and bundled assets
- Tons of other quality of life and bug fixes!
1.1.0 - Async all the way down
- Add
ArtifactCode.CopyToFormulaDisplayAsync
- Content packages now generate asset ids for networked prefabs with empty asset ids
- Expansion package now loads the default expansion disabled icon asynchronously
- Add `ArtifactCompound.FindArtifactCompoundDefAsync'
- Fix
NetworkSoundEventDef.SetEventName
being mistakenly namedNetworkSoundEventDef.SetFlags
- Add
RoR2Asset
andRoR2AssetGroup
for managing addressable assets - Add
Prefabs.CreatePrefab
andPrefabs.ClonePrefab
for runtime prefab creation - Minor stubbed shader swapping optimizations
1.0.0
- First release