VRising.GameData 0.3.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package VRising.GameData --version 0.3.2                
NuGet\Install-Package VRising.GameData -Version 0.3.2                
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="VRising.GameData" Version="0.3.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add VRising.GameData --version 0.3.2                
#r "nuget: VRising.GameData, 0.3.2"                
#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.
// Install VRising.GameData as a Cake Addin
#addin nuget:?package=VRising.GameData&version=0.3.2

// Install VRising.GameData as a Cake Tool
#tool nuget:?package=VRising.GameData&version=0.3.2                

Still WIP, use it at your own risk.

VRising Game Data Library

See V Rising Database for detailed information about V Rising items, NPCs and more.

Installation

Install the NuGet package VRising.GameData

Add the following lines to your plugin's .csproj file:

To the PropertyGroup:

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

To the references ItemGroup:

<PackageReference Include="Fody" Version="6.6.3">
    <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="ILMerge.Fody" Version="1.23.0" />

And update the FodyWeavers.xml to look like this:

<?xml version="1.0" encoding="utf-8"?>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  <ILMerge NamespacePrefix="PluginName_" IncludeAssemblies="VRising.GameData">
  </ILMerge>
</Weavers>

Replace PluginName with your plugin's name. If you have more assemblies to add, separate the with the pipe | character. For example:

<?xml version="1.0" encoding="utf-8"?>
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  <ILMerge NamespacePrefix="RandomEncounters_" IncludeAssemblies="VRising.GameData|Wetstone">
  </ILMerge>
</Weavers>

Usage

Optionally, add the following to your Plugin's Load() method. You shouldn't access any of the GameData properties before initialization is done.:

public override void Load()
{
    // ... other code
    GameData.OnInitialize += GameDataOnInitialize;
    // ... other code
}
  • Sample initialization method:
private static void GameDataOnInitialize(World world)
{
    // Here you can start using the methods like these:
    Logger.LogWarning("All Users:");
    foreach (var userModel in GameData.Users.All)
    {
        Logger.LogMessage($"{userModel.CharacterName} Connected: {userModel.IsConnected}");
    }

    var weapons = GameData.Items.Weapons.Take(10);
    Logger.LogWarning("Some Weapons:");
    foreach (var itemModel in weapons)
    {
        Logger.LogMessage($"{itemModel.Name}");
    }
}

Remove the event hook in your plugin's Unload() method:

public override bool Unload()
{
    // ... other code
    GameData.OnInitialize -= GameData_OnInitialize;
    // ... other code
    return true;
}

After the initialization is done, you can access to the GameData class from anywhere of your plugin code.

See the sample project here:

https://github.com/adainrivers/VRising.GameData/tree/main/src/VRising.GameData.SamplePlugin

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.3.3 233 8/20/2022
0.3.2 129 8/20/2022
0.3.1 125 8/17/2022
0.3.0 114 8/17/2022
0.2.2 158 8/14/2022 0.2.2 is deprecated because it is no longer maintained.
0.1.0 188 7/19/2022 0.1.0 is deprecated because it is no longer maintained.