AcnhModding.BfevLibrary 1.0.0

dotnet add package AcnhModding.BfevLibrary --version 1.0.0
                    
NuGet\Install-Package AcnhModding.BfevLibrary -Version 1.0.0
                    
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="AcnhModding.BfevLibrary" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AcnhModding.BfevLibrary" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="AcnhModding.BfevLibrary" />
                    
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 AcnhModding.BfevLibrary --version 1.0.0
                    
#r "nuget: AcnhModding.BfevLibrary, 1.0.0"
                    
#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.
#:package AcnhModding.BfevLibrary@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AcnhModding.BfevLibrary&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=AcnhModding.BfevLibrary&version=1.0.0
                    
Install as a Cake Tool

Bfev Library

This is the ACNH Modding fork, distributed as AcnhModding.BfevLibrary. It includes serialization fixes used by EventFlowToCode. The assembly name and C# namespaces remain BfevLibrary.

Nintendo Binary cafe Event Flow Libray | Based on evfl by Léo Lam

BfevLibrary has been tested to parse, serialize (json), deserialize (json), and write every BFEV file found in Breath of the Wild byte-perfectly.

Usage

Reading a Bfev File

// Read from a File Path
BfevFile bfev = BfevFile.FromBinary("path/to/file.bfevfl");
// Read from a byte[]
// Do not use with File.ReadAllBytes(), use
// a Stream instead.
SarcFile sarc = SarcFile.FromBinary("D:/Botw/Update/content/Events/100enemy.sbeventpack");
BfevFile bfev = BfevFile.FromBinary(sarc["EventFlow/100enemy.bfevfl"]);
// Read from a Stream
using FileStream fs = File.OpenRead("path/to/file.bfevfl");
BfevFile bfev = new(fs);
// Read from JSON
string json = File.ReadAllText("path/to/file.bfevfl.json");
BfevFile bfev = BfevFile.FromJson(json);

Writing a Bfev File

// Write to a File Path
bfev.ToBinary("path/to/file_out.bfevfl");
// Write to a byte[]
byte[] data = bfev.ToBinary();
// Write to a Stream
using FileStream fs = File.Create("path/to/file_out.bfevfl");
bfev.ToBinary(fs);
// Write to Json
string json = bfev.ToJson(format: true);

Install

NuGet

NuGet
Install-Package AcnhModding.BfevLibrary -PreRelease
Build From Source
git clone https://github.com/acnhmodding/BfevLibrary.git
dotnet build BfevLibrary/src/BfevLibrary.csproj

Publishing

The nuget.yml workflow publishes version tags such as v0.12.2-acnh.1 using NuGet Trusted Publishing. Configure the policy for repository owner acnhmodding, repository BfevLibrary, workflow file nuget.yml, no environment, and package scope AcnhModding.BfevLibrary. Allow publishing new packages and package versions.

Set the GitHub repository Actions variable NUGET_USER to the nuget.org username that created the policy (not an email address). No API key secret is needed. Push the workflow and package changes before pushing a version tag; the tag determines the package version. Publish the fork before publishing an EventFlowToCode package that depends on it.

Credits

  • Arch Leaders: C# Re-Implementation & JSON SerDe
  • Léo Lam: Original Python Implementation & General Help
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  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.
  • net7.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AcnhModding.BfevLibrary:

Package Downloads
AcnhModding.EventFlowToCode.Core

Compiler and decompiler for readable Nintendo EventFlow (.bfevfl) source.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 66 10/22/2026