| Date uploaded | 4 months ago |
| Version | 1.1.0 |
| Download link | Smooth_Salad-IVYL-1.1.0.zip |
| Downloads | 19665 |
| Dependency string | Smooth_Salad-IVYL-1.1.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
Asynchronous Framework
Simple API to load vanilla RoR2 assets synchronously or asynchronously.
See:
RoR2Asset,RoR2AssetGroup
Language
Create formatted and easily translatable language files directly within your project.
See:
LanguageStringsattribute
And More!
IVYL is a work-in-progress! Expect improvements over time
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