Date uploaded | 2 years ago |
Version | 4.3.21 |
Download link | tristanmcpherson-R2API-4.3.21.zip |
Downloads | 108664 |
Dependency string | tristanmcpherson-R2API-4.3.21 |
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.2109RiskofThunder-R2API_Director
API for easily modifiying the Director (RoR2 monster / interactable spawner) behaviour
Preferred version: 1.1.1RiskofThunder-R2API_Language
API for modifying the language localisation of the game
Preferred version: 1.0.1RiskofThunder-R2API_Loadout
API for registering skills, skins and entity states
Preferred version: 1.0.2RiskofThunder-R2API_Networking
Networking API around the Unity UNet Low Level API (LLAPI)
Preferred version: 1.0.2RiskofThunder-R2API_Orb
API for creation and management of custom Orb types.
Preferred version: 1.0.1RiskofThunder-R2API_Prefab
API for Prefab creation, networking and duplication
Preferred version: 1.0.3RiskofThunder-R2API_SceneAsset
API for retrieving assets that live exclusively in game scenes
Preferred version: 1.1.1RiskofThunder-R2API_TempVisualEffect
API for adding custom temporary visual effects for characters.
Preferred version: 1.0.2RiskofThunder-R2API_Unlockable
API for adding custom achievements and unlockables
Preferred version: 1.0.2README
R2API – a modding API for Risk of Rain 2
RoR2 1.0 - IMPORTANT NOTICE
In the Release version of RoR2, Hopoo Games made a NetworkModCompatibilityHelper
class, which can be given a mod list that is then transformed into a hash that will be checked upon client connection in multiplayer.
If the hash doesnt correspond between the server and the connecting client, the connection is refused.
R2API will add mods to that mod list if they:
- Use the
NetworkCompatibility
Attribute, either as an custom assembly attribute, or at the top of their plugin class inheriting fromBaseUnityPlugin
with the first argument beingCompatibilityLevel.EveryoneMustHaveMod
. - Don't have the
NetworkCompatibility
Attribute but depend on R2API (have[BepInDependency("com.bepis.r2api")]
attribute).
About
R2API is a modding framework for other mods to work in, providing centralized and simplified APIs for Risk of Rain 2. This helps keeping mods compatible with each other.
At it's core, R2API should not change how the game behaves without any other mod installed. The only change is to keep mods out of quickplay and prismatic trials by request of the Hopoo Games team.
Manual installation
The contents of R2API
should be extracted into the BepInEx
folder, such that the files inside the plugins
folder in the zip sit in the plugins
folder in BepInEx.
Also you need to install HookGenPatcher because R2API wont function without it.
Developing
A lot of documentation is in the included xmldocs, and further information may be on the dedicated R2API wiki. Do not hestiate to ask in the modding discord too!
Changelog
The most recent changelog can always be found on the GitHub. In this readme, only the most recent minor version will have a changelog.
Current
-
UnlockableAPI: Fix custom achievements not working for current patch by @xiaoxiao921
-
Fix R2API erroring in the Epic Games version of the game by @xiaoxiao921
-
Reflection: Fix MethodInfo/ConstructorInfo not cache properly by @DemoJameson
-
Reflection: Fix different generic parameters returning the same delegate by @DemoJameson
-
Reflection: Use normal dictionaries instead of Concurrent ones by @Windows10CE
4.3.x
- Update DirectorAPI by @xiaoxiao921
- Fix ItemDisplay issues by @KomradeSpectre
- ItemAPI ItemDisplay fixes by @Nebby1999
- Fix EliteAPI and bug fix DirectorAPI by @xiaoxiao921
- Friendlier internal stage names by @bb010g
- Fix DirectorApi spawning by @xiaoxiao921
4.2.x
4.1.x
- Fix ItemDisplay addition for Items and Equipment
- Fix contentpacks that did not have the correct name in some cases
- Crit damage multiplier is now a float
- ArtifactCode fix, ContentLogging fix
4.0.11
- Updated for the game
Survivors of The Void
- Added SOTVSerializableContentPack
- Complete Refractoring of Content Addition Systems, now uses the R2APIContentManager
- Each mod now has it's own ContentPack managed by R2API
- A Mod can add a PreExisting content pack to the R2APIContentManager
- A PreExisting ContentPack can opt out from being loaded by R2API's Systems
- Each mod can now add a valid content piece via ContentAdditionHelpers
- Assets added by R2API will always have unique names
- Made LoadRoR2ContentEarly public, mods can now access a readonly version of RoR2's ContentPack
- UnlockableAPI's Overload Methods now point to a single private method
- Marked the following APIs As Obsolete: ArtifactAPI, BuffAPI, EffectAPI, ProjectileAPI and SurvivorAPI
- Marked the following methods in LoadoutAPI as Obsolete: AddSkill, StateTypeOf, AddSkillDef, AddSkillFamily
- Marked the AddNetworkedSoundEvent method in SoundAPI as Obsolete
- NetworkingAPI now has Send overloads for sending to specific network connections. Also have some documentation now
- Allow character mods to opt out from default item display rules
- Make dotAPI parts accessible for modders
- RecalculateStatsAPI can now modify Critical Hit Damage