Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
IVYL
Another RoR2 modding library - now with documentation!
| Date uploaded | 2 years ago |
| Version | 2.0.0 |
| Download link | Smooth_Salad-IVYL-2.0.0.zip |
| Downloads | 69678 |
| 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:
BaseModuleattribute
Language
Create formatted and easily translatable language files directly within your project.
See:
LanguageStringsattribute
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
BepInConfigattribute - Remove
PluginComponentattribute 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
ContentPackageandExpansionPackage- 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
ContentPackagefunctionality
- Add
- Remove RecalculateStatsAPI dependency
- Remove
IOnGetStatCoefficientsReciever
- Remove
- Remove a few other overly-specific util classes and merge the rest into the
Ivylclass - Remove
RoR2AssetandRoR2AssetGroup- These didn't play nice with the RoR2 content loading systems
- Add utils to
Ivylfor 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.SetEventNamebeing mistakenly namedNetworkSoundEventDef.SetFlags - Add
RoR2AssetandRoR2AssetGroupfor managing addressable assets - Add
Prefabs.CreatePrefabandPrefabs.ClonePrefabfor runtime prefab creation - Minor stubbed shader swapping optimizations
1.0.0
- First release