Skip to content

Comments

Add directory browser and async world scanning#4

Open
tcgm wants to merge 2 commits intopigxity:mainfrom
tcgm:main
Open

Add directory browser and async world scanning#4
tcgm wants to merge 2 commits intopigxity:mainfrom
tcgm:main

Conversation

@tcgm
Copy link

@tcgm tcgm commented Feb 7, 2026

Add directory browser and async world scanning

Features:

  • Native Minecraft directory browser (no Swing/AWT dependencies)
  • Asynchronous world file scanning with live progress display
  • Display all valid world files in directory, not just most recent
  • Scrollable world selection list with mouse wheel support
  • Smart Downloads folder detection (respects custom locations)
  • Drive browser with capacity display
  • Graceful handling of corrupted/invalid zip files

Technical:

  • Added DirectoryBrowserScreen for native directory navigation
  • Added WorldScanner for background thread scanning
  • Added async scanning with tick() updates
  • Optimized to filter .zip files first
  • Added null checks for corrupted zip files
  • Made getFileExtension() public
  • Added comprehensive error handling

Fixes:

  • Fixed NullPointerException with corrupted zips
  • Fixed performance issues with large directories

tcgm added 2 commits February 7, 2026 05:40
Features:
- Native Minecraft directory browser (no Swing/AWT dependencies)
- Asynchronous world file scanning with live progress display
- Display all valid world files in directory, not just most recent
- Scrollable world selection list with mouse wheel support
- Smart Downloads folder detection (respects custom locations)
- Drive browser with capacity display
- Graceful handling of corrupted/invalid zip files

Technical:
- Added DirectoryBrowserScreen for native directory navigation
- Added WorldScanner for background thread scanning
- Added async scanning with tick() updates
- Optimized to filter .zip files first
- Added null checks for corrupted zip files
- Made getFileExtension() public
- Added comprehensive error handling

Fixes:
- Fixed HeadlessException crash from JFileChooser
- Fixed NullPointerException with corrupted zips
- Fixed Drives button not showing drives
- Fixed performance issues with large directories
Fixed IllegalStateException Can only blur once per frame crash by removing duplicate renderBackground calls. The super.render method already handles background rendering, so explicit renderBackground calls were causing the blur effect to be applied twice.

Tested and working on Minecraft 1.21.8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant