RunicLab.Dbc
1.0.0-alpha
dotnet add package RunicLab.Dbc --version 1.0.0-alpha
NuGet\Install-Package RunicLab.Dbc -Version 1.0.0-alpha
<PackageReference Include="RunicLab.Dbc" Version="1.0.0-alpha" />
<PackageVersion Include="RunicLab.Dbc" Version="1.0.0-alpha" />
<PackageReference Include="RunicLab.Dbc" />
paket add RunicLab.Dbc --version 1.0.0-alpha
#r "nuget: RunicLab.Dbc, 1.0.0-alpha"
#:package RunicLab.Dbc@1.0.0-alpha
#addin nuget:?package=RunicLab.Dbc&version=1.0.0-alpha&prerelease
#tool nuget:?package=RunicLab.Dbc&version=1.0.0-alpha&prerelease
๐๏ธ DBC Library for World of Warcraft WOTLK 3.3.5a
<p align="center"> <img src="https://img.shields.io/badge/.NET-10.0-5C2D91?" alt=".NET"> <img src="https://img.shields.io/badge/C%23-14.0-239120?logo=c-sharp" alt="C#"> <img src="https://img.shields.io/badge/License-MIT-green.svg" alt="License"> </p>
A high-performance, modern .NET library for reading and writing World of Warcraft: Wrath of the Lich King (3.3.5a) DBC ( DataBase Client) files with exceptional speed and memory efficiency.
โจ Features
- ๐ Ultra-High Performance - Optimized for maximum throughput with minimal memory allocation
- ๐ Read Support - Fast and efficient DBC file parsing with type-safe access
- โ๏ธ Write Support - Create and modify DBC files with integrity validation
- ๐ง Type Safety - Strongly-typed API with compile-time validation
- ๐พ Memory Efficient - Minimal memory footprint with smart caching strategies
- ๐ฏ WOTLK 3.3.5a Focused - Specifically designed and tested for this version
- ๐งต Thread Safe - Safe for concurrent operations across multiple threads
๐ Quick Start
Installation
dotnet add package Dbc
Basic Usage
using Dbc;
// Reading a DBC file
var achievementData = DbcFile.Load<AchievementDbc>(@"C:\My\Path\To\Achievement.dbc");
foreach (var achievement in achievementData.Records)
{
Console.WriteLine($"Spell: {achievement.Name} (ID: {achievement.Id})");
}
// Writing a DBC file
var newAchievement = new List<AchivementDbc>();
// ... populate with data
DbcWriter.Save("NewAchievement.dbc", newAchievement);
๐ Supported DBC Files
The library supports all major DBC files from WOTLK 3.3.5a, including:
- Spell.dbc - Spell definitions and properties
- Item.dbc - Item database entries
- Creature.dbc - NPC and creature data
- Map.dbc - World map definitions
- Achievement.dbc - Achievement system data
- And many more...
๐ง Advanced Features
Custom Data Structures
[DbcStructure]
public class CustomEntry
{
[DbcField(0)]
public uint Id { get; set; }
[DbcField(1)]
public string Name { get; set; } = string.Empty;
[DbcField(2)]
public float Value { get; set; }
}
Performance Optimizations
// Enable memory pooling for large files
var options = new DbcReaderOptions
{
UseMemoryPool = true,
BufferSize = 8192
};
var data = DbcFile.Load<AchievementDbc>("Achievement.dbc", options);
Asynchronous Operations
// Async loading for better responsiveness
var spellData = await DbcFile.LoadAsync<AchievementDbc>("Achievement.dbc");
// Async writing
await DbcFile.SaveAsync("Output.dbc", records);
๐ ๏ธ Requirements
- .NET 10.0 or later
- C# 14.0 language features
- World of Warcraft WOTLK 3.3.5a client data
๐ค Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Related Projects
- WoW Database Editor - Visual DBC editor
- AzerothCore
- TrinityCore - WoW server emulator
<div align="center"> <sub>Built with โค๏ธ for the World of Warcraft community</sub> </div>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- No dependencies.
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 |
|---|---|---|
| 1.0.0-alpha | 379 | 11/20/2025 |
Initial release with read/write support for DBC files.