Maple2.File.Parser 2.0.9

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

// Install Maple2.File.Parser as a Cake Tool
#tool nuget:?package=Maple2.File.Parser&version=2.0.9                

Maple2.File

Strongly typed MapleStory2 m2d file parsing

xblock Parsing Example:

using var reader = new M2dReader(EXPORTED_PATH);
var index = new FlatTypeIndex(reader);
var parser = new XBlockParser(reader, index);
parser.Include(typeof(ISpawnPoint));
parser.Include(typeof(IMS2TriggerObject));
parser.Include(typeof(IPortal));
...

var results = new Dictionary<string, MapEntityMetadata>();
parser.Parse((xblock, entities) => {
    var metadata = new MapEntityMetadata();
    foreach (IMapEntity entity in entities) {
        switch (entity) {
            case ISpawnPointPC spawnPoint:
                ...
            case ISpawnPointNPC npcSpawnPoint:
                ...
            default:
                ...
        }
    }
    results[xblock] = metadata;
});

xblock Parallel Parsing Example:

using var reader = new M2dReader(EXPORTED_PATH);
var index = new FlatTypeIndex(reader);
var parser = new XBlockParser(reader, index);

var results = new Dictionary<string, MapEntityMetadata>();
parser.Parallel().ForAll(map => {
    var metadata = new MapEntityMetadata();
    foreach (IMapEntity entity in map.entities) {
        switch (entity) {
            case ISpawnPointPC spawnPoint:
                ...
            case ISpawnPointNPC npcSpawnPoint:
                ...
            default:
                ...
        }
    }
    results[map.xblock] = metadata;
});

xml Parsing Example:

using var reader = new M2dReader(XML_PATH);

// LOCALE: "TW", "TH", "NA", "CN", "JP", "KR"
// ENV:    "Dev", "Qa", "DevStage", "Stage", "Live"
Filter.Load(reader, LOCALE, ENV);
var parser = new ItemParser(reader);

foreach ((int id, string name, ItemData data) in parser.Parse()) {
    // Extract fields from ItemData that are needed.
}

xblock CliExplorer Example:

using var reader = new M2dReader(EXPORTED_PATH);
var index = new FlatTypeIndex(reader);
index.CliExplorer();
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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Maple2.File.Parser:

Repository Stars
AlanMorel/MapleServer2
MapleStory 2 Emulator
Version Downloads Last updated
2.1.7 120 5/10/2024
2.1.6 118 5/9/2024
2.1.3 126 5/6/2024
2.0.23 320 9/8/2023
2.0.22 170 9/1/2023
2.0.21 161 8/27/2023
2.0.20 215 8/6/2023
2.0.19 178 7/2/2023
2.0.18 213 4/8/2023
2.0.17 263 3/2/2023
2.0.16 283 2/23/2023
2.0.15 337 12/10/2022
2.0.14 382 11/14/2022
2.0.13 350 11/11/2022
2.0.12 363 11/7/2022
2.0.11 331 11/7/2022
2.0.10 452 7/30/2022
2.0.9 449 7/10/2022
2.0.8 1,834 7/5/2022
2.0.7 449 6/29/2022
2.0.6 547 6/12/2022
2.0.5 434 5/7/2022
2.0.4 423 5/1/2022
2.0.2 437 4/30/2022
2.0.1 421 4/23/2022
2.0.0 2,373 12/31/2021
1.0.6 2,001 7/31/2021