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.
| Date uploaded | 2 years ago |
| Version | 1.0.0 |
| Download link | Smooth_Salad-IVYL-1.0.0.zip |
| Downloads | 2949 |
| Dependency string | Smooth_Salad-IVYL-1.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, built to streamline the repetitive apsects of runtime-based mods.
IVYL makes use of a BepInEx patcher to implement some features.
Content Management
Quickly and safely define items, equipment, artifacts, and more. Optionally associate your mod's content with an expansion.
See:
ContentPackage,ExpansionPackage
Asset Management
Load asset bundles directly from your mod plugin, and swap out stubbed shaders with no fuss.
See:
BaseUnityPlugin.LoadAssetBundle,BaseUnityPlugin.LoadAssetBundleAsync,StubbedShaderSwapper
Project Structure
Use plugin components to organize your project and even generate customizable configuration files.
See:
PluginComponentattribute,BepInConfigattribute
Language
Create formatted and easily translatable language files directly within your project.
See:
LanguageStringsattribute
And More!
Miscellaneous utils to make your life easier.
Contact
Don't hesitate to reach out! You can find me in the Spikestrip Modding Server @Groove_Salad
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