RisingV.Core
0.1.1
See the version list below for details.
dotnet add package RisingV.Core --version 0.1.1
NuGet\Install-Package RisingV.Core -Version 0.1.1
<PackageReference Include="RisingV.Core" Version="0.1.1" />
<PackageVersion Include="RisingV.Core" Version="0.1.1" />
<PackageReference Include="RisingV.Core" />
paket add RisingV.Core --version 0.1.1
#r "nuget: RisingV.Core, 0.1.1"
#:package RisingV.Core@0.1.1
#addin nuget:?package=RisingV.Core&version=0.1.1
#tool nuget:?package=RisingV.Core&version=0.1.1
<a href="https://risingv.dev"><p align="center"><img src="https://risingv.dev/images/core-logo.png" width="450" alt="RisingV.Core" /></p></a>
The beating (molten) heart of the RisingV ecosystem.
“RisingV.Core is a core mod for V Rising that allows you to use RisingV mods.
It provides a set of APIs and utilities that make it easier to create and manage mods for V Rising.”
Features
- Plugin lifecycle – deterministic load / unload / reload with safe dependency ordering using
RisingPlugin<TContext>
. - Aspect abstraction – Aspect (a.k.a. Aspecting) is the pattern this SDK uses to give a domain object or ECS entity one or more typed views without polluting the underlying model with cross-cutting concerns.
- Engine modules – modular architecture for loading/unloading systems, processors and hooks like
DamageEngine
,DeathEngine
,StatEngine
, etc. - Harmony Patches - a set of Harmony patches for common game hooks like
DeathHook
,StatChangeSystemHook
, etc. The hooks all publish to the event bus, so you can subscribe to them without needing to patch the game code directly. - Processors – a high-level abstraction for processing game objects/events in a type-safe manner, allowing you to create custom processors that can be registered with the engine. Mostly used in Harmony patches.
- Systems – a set of systems for common game mechanics like
LootSystem
,DamageTrackingSystem
,ChatSystem
, etc. These systems can be registered in your plugin or sometimes are pre-registered in anEngine
. - Event bus – decoupled, async pub-sub pipeline for game-wide events.
- Item Drops – a system for managing item drops, including support for custom drop tables and loot generation.
- Extensions – Class extensions for common operations on Entity, PrefabGUID, and more.
Note: This may not be the entire list—refer to the API docs for every class, interface, and extension method that RisingV.Core provides.
Installation
- Dependency – ensure RisingV.Shared is already present.
- Copy
RisingV.Core.dll
toBepInEx/plugins/RisingV
. - Restart your dedicated server or client.
Plugin quick start
using BepInEx;
using RisingV.Shared.Plugins;
using RisingV.Shared.Engines;
using RisingV.Core.Engines;
public class MyCoolPluginConfig() : PluginConfig(MyPluginInfo.PLUGIN_GUID, MyPluginInfo.PLUGIN_GUID)
{
public ConfigEntry<float> AttackModifier { get; set; } =
new("Gameplay", "AttackModifier", 1f, "Modifier for attack damage");
}
public class MyCoolPluginContext() : PluginContext(typeof(MyPluginInfo), new MyCoolPluginConfig());
[BepInPlugin(MyPluginInfo.PLUGIN_GUID, MyPluginInfo.PLUGIN_NAME, MyPluginInfo.PLUGIN_VERSION)]
[BepInDependency("gg.deca.VampireCommandFramework")]
[BepInDependency("RisingV.Core")]
public class Plugin : RisingPlugin<MyCoolPluginContext>
{
protected override void OnInitialize()
{
EngineManager.AddEngine<ScriptingEngine>(this);
EngineManager.AddEngine<DamageEngine>(this);
EngineManager.AddEngine<DeathEngine>(this);
}
protected override void OnLoad()
{
// Plugin startup logic (pre-initialization)
}
protected override bool OnUnload()
{
return true;
}
// You can also override other methods to register systems, processors, databases, etc.
}
Configurations
RisingV.Core uses the RisingV.Shared.Config
base class for configuration management. This allows you to define your plugin's configuration in a type-safe manner, with support for hot-reloading and easy access to configuration values. It also means that majority of the systems/components in the RisingV ecosystem can be configured via json files.
BepInEx/configs
└── RisingV.Core
├── Engines
│ ├── AchievementEngine.cfg
│ ├── AdminEngine.cfg
│ ├── BuffEngine.cfg
│ ├── CastleEngine.cfg
│ ├── ClanEngine.cfg
│ ├── DamageEngine.cfg
│ ├── DeathEngine.cfg
│ ├── EquipmentEngine.cfg
│ ├── ItemEngine.cfg
│ ├── LootEngine.cfg
│ ├── SaveEngine.cfg
│ ├── SpawnEngine.cfg
│ └── StatEngine.cfg
├── RisingV.Core.cfg
├── Systems
│ ├── DamageTrackingSystem.cfg
│ └── LootSystem.cfg
└── RisingV.Core.cfg
Docs
For a deeper dive, API reference, and design docs see https://docs.risingv.dev/core.
Contributing
PRs that add new functionality—or improve existing ones—are warmly welcomed. Please open an issue first if you plan a large refactor.
License
GNU GPL-3.0. See LICENSE for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net6.0
- BepInEx.PluginInfoProps (>= 2.1.0)
- RisingV.Shared (>= 0.1.1)
- VRising.Unhollowed.Client (>= 1.1.8.9179701)
- VRising.VampireCommandFramework (>= 0.10.2)
NuGet packages (16)
Showing the top 5 NuGet packages that depend on RisingV.Core:
Package | Downloads |
---|---|
RisingV.Core.DeathEngine
Core Death Engine module for RisingV Mods |
|
RisingV.Core.ItemEngine
Core Item Engine module for RisingV Mods |
|
RisingV.Core.SaveEngine
Core Save Engine module for RisingV Mods |
|
RisingV.Core.ChatEngine
Core Chat Engine module for RisingV Mods |
|
RisingV.Core.DefaultComponentEngine
Core Default Component Engine module for RisingV Mods |
GitHub repositories
This package is not used by any popular GitHub repositories.