How fruit32820/mcnbtviewer works
MCNbtViewer is a Java/Bedrock Minecraft NBT viewer and editor with a GUI frontend and CLI backend. The GUI selects an NBT file, invokes the CLI to produce annotated JSON, builds an editable tree, and can send edited JSON back for writing. The CLI also exposes read, write, and help commands for standalone use. The graph includes the documented format and editing capabilities; unsampled GUI navigation and settings internals are shown without inferred call relationships.
Main entry points: Program.cs CLI entry point · Read.cs Read command · Write.cs Write command · EditPage.xaml.cs Edit page
Components 19
GUI
- Home page
GUI/Pages/HomePage.xaml.cs - File selector
GUI/Pages/NbtFileSelectPage.xaml.cs - Settings page
GUI/Pages/SettingPage.xaml.cs - App config
GUI/Definitons/AppConfig.cs
NBT editor
- Edit page
GUI/Pages/EditPage.xaml.cs - JSON tree parser
GUI/Definitons/NbtJsonTreeParser.cs - Tree item model
GUI/Models/JsonTreeItem.cs
CLI backend
- CLI bridge
GUI/Definitons/CliHelper.cs - CLI entry point
CLI/Program.cs - Argument parser
CLI/Library/Helper.cs - Read command
CLI/Services/Read.cs - Write command
CLI/Services/Write.cs - Help command
CLI/Services/Help.cs
NBT conversion
- NBT file I/O
CLI/Library/NbtIO.cs - NBT JSON converter
CLI/Library/NbtJsonConverter.cs
Other components
- User
- NBT files
- Annotated JSON files
- SharpNBT
Connections 19
- User → Home page: opens
- Edit page → File selector: opens
GUI/Pages/EditPage.xaml.cs - Edit page → CLI bridge: reads and writes
GUI/Pages/EditPage.xaml.cs - Edit page → JSON tree parser: parses and exports
GUI/Pages/EditPage.xaml.cs - JSON tree parser → Tree item model: creates nodes
GUI/Definitons/NbtJsonTreeParser.cs - CLI bridge → CLI entry point: starts process
GUI/Definitons/CliHelper.cs - CLI entry point → Argument parser: parses arguments
CLI/Program.cs - CLI entry point → Read command: dispatches read
CLI/Program.cs - CLI entry point → Write command: dispatches write
CLI/Program.cs - CLI entry point → Help command: dispatches help
CLI/Program.cs - Read command → NBT file I/O: reads NBT
CLI/Services/Read.cs - Read command → NBT JSON converter: converts to JSON
CLI/Services/Read.cs - Write command → NBT JSON converter: converts from JSON
CLI/Services/Write.cs - Write command → NBT file I/O: writes NBT
CLI/Services/Write.cs - NBT file I/O → NBT files: reads and writes
- Read command → Annotated JSON files: writes JSON
CLI/Services/Read.cs - Write command → Annotated JSON files: reads JSON
CLI/Services/Write.cs - NBT JSON converter → SharpNBT: converts tags
CLI/Library/NbtJsonConverter.cs - Settings page → App config: uses config
GUI/Pages/SettingPage.xaml.cs