Date uploaded | 2 years ago |
Version | 4.0.11 |
Download link | tristanmcpherson-R2API-4.0.11.zip |
Downloads | 73821 |
Dependency string | tristanmcpherson-R2API-4.0.11 |
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!
Bleeding Edge
Unless you are a mod developer, you won't need this.
Want to get the latest versions of R2API? The latest bleeding edge builds of master
are hosted on Azure, and may be downloaded using the Artifacts
drop down menu.
Note that such builds may be unstable.
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
- 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