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 componentui/property_editor.py- Property editing panelui/main_window.py- Main application windowmain.py- Minimal entry point (20 lines)
New Utility Modules
utils/tag_helpers.py- Centralized tag type checking utilitiesutils/tag_value_editor.py- Value parsing and editing logicutils/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/, andnbt/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