RisingV.Core 0.1.3

dotnet add package RisingV.Core --version 0.1.3
                    
NuGet\Install-Package RisingV.Core -Version 0.1.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RisingV.Core" Version="0.1.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RisingV.Core" Version="0.1.3" />
                    
Directory.Packages.props
<PackageReference Include="RisingV.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RisingV.Core --version 0.1.3
                    
#r "nuget: RisingV.Core, 0.1.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=RisingV.Core&version=0.1.3
                    
Install as a Cake Addin
#tool nuget:?package=RisingV.Core&version=0.1.3
                    
Install as a Cake Tool

<a href="https://risingv.dev"><p align="center"><img src="https://github.com/RisingV-Mods/RisingV.Core/blob/main/assets/images/logo_rounded.png?raw=true" width="400" alt="RisingV.Core" /></p></a>

Build DocFX

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

Feature Link Description
Plugin lifecycle Docs deterministic load / unload / reload with safe dependency ordering using RisingPlugin<TContext>.
Aspect abstraction Docs 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 Docs modular architecture for loading/unloading systems, processors and hooks like DamageEngine, DeathEngine, StatEngine, etc.
Harmony Patches Docs 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 Docs 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 Docs 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 an Engine.
Event bus Docs decoupled, async pub-sub pipeline for game-wide events.
Loot System Docs a system for managing item drops, including support for custom drop tables and loot generation.
Extensions Docs 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

  1. Dependencies – ensure the following are installed:
  2. Download the latest RisingV.Core.<version>.zip from Releases
  3. Extract the zip file into your BepInEx directory.
  4. Restart your dedicated server or client.

Development

  1. Add NuGet package dotnet add package RisingV.Core to your project.
  2. Add [BepInDependency("RisingV.Core")] BepInEx dependency.

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. See CONTRIBUTING.md for more information.

Community

<p>Join the V Rising Mod Community Discord for modding support, updates, and discussions!</p>

Discord

License

GNU GPL-3.0. See LICENSE for details.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.SpawnEngine

Core Spawn Engine module for RisingV Mods

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.3 297 6/26/2025
0.1.2 132 6/25/2025
0.1.1 154 6/5/2025