Skip to content

NBT Editor v1.1

Latest

Choose a tag to compare

@PoweredDeveloper PoweredDeveloper released this 03 Dec 19:33
· 1 commit to main since this release

Major Features

Create New NBT Files

  • Added "Create NBT File" button in toolbar to create empty NBT files
  • New files automatically select the root tag for immediate tag additions

Add Tags Functionality

  • Add new tags to Compound tags (key-value pairs)
  • Add items to List tags with automatic type validation
  • Add elements to Array tags (ByteArray, IntArray, LongArray)
  • Input validation based on tag type (numbers only for integers, decimals for floats)

Enhanced User Experience

  • Visual icons for each tag type in the tree view (using sprite sheet)
  • Improved input validation allowing decimal point entry in Float/Double fields
  • Automatic tag unselection after deletion
  • Confirmation dialogs with proper button ordering (Yes on right, No on left)
  • Removed unnecessary success popup messages

Code Quality Improvements

Major Refactoring

  • Split monolithic main.py (604 lines) into modular components:
    • ui/tree_widget.py - NBT tree view component
    • ui/property_editor.py - Property editing panel
    • ui/main_window.py - Main application window
    • main.py - Minimal entry point (20 lines)

New Utility Modules

  • utils/tag_helpers.py - Centralized tag type checking utilities
  • utils/tag_value_editor.py - Value parsing and editing logic
  • utils/file_operations.py - File operation helpers with error handling

Improved Code Organization

  • Clear separation between UI components, business logic, and utilities
  • Better maintainability and readability
  • Removed duplicate imports
  • Added type hints compatible with Python 3.9+

Technical Details

  • File Structure: Organized into ui/, utils/, and nbt/ directories
  • Dependencies: No changes to external dependencies (still just PyQt5)
  • Compatibility: Python 3.9+ required
  • Platform Support: Windows, macOS, and Linux

Bug Fixes

  • Fixed input validation for Float/Double fields to allow typing decimal points
  • Fixed tag unselection after deletion
  • Fixed confirmation dialog button ordering

Full Changelog: v1.0...v1.1