How lyriya-928/giant-mushroom-finder works
Giant Mushroom Island Finder is a desktop and command-line Minecraft Java seed-search application. Users provide a seed, game version, and radius; the native search generates biome samples, detects Mushroom Fields regions, optionally refines estimates, computes region statistics, and returns the largest results. The GUI adds progress and pause/resume/stop controls, while the CLI provides a separate entry point; the product also documents coordinate copying and CSV/JSON export. The graph follows the documented pipeline and sampled JNI/runner code; some GUI, CLI, and native wiring is inferred only where documented.
Main entry points: mushroom_finder.c Search coordinator · MainFrame.java Swing GUI · SearchRunner.java Search runner · tile_search.c Tiled scan and merge
Components 18
User interfaces
- Swing GUI
src/main/java/dev/sakuhime/mushroomfinder/MainFrame.java - Command-line interface
native/mushroom_cli.c - Copy and export
src/main/java/dev/sakuhime/mushroomfinder/MainFrame.java
Java native bridge
- Search settings
src/main/java/dev/sakuhime/mushroomfinder/SearchSettings.java - Search runner
src/main/java/dev/sakuhime/mushroomfinder/SearchRunner.java - JNI bridge
src/main/java/dev/sakuhime/mushroomfinder/NativeBridge.java - JNI adapter
native/mushroom_finder_JNI.c - Search results
src/main/java/dev/sakuhime/mushroomfinder/SearchResult.java
Native search
- Search coordinator
native/mushroom_finder.c - Tiled scan and merge
native/tile_search.c - Biome sampling and mask
native/mushroom_finder.c - Connected regions
native/mushroom_finder.c - Scale refinement
native/mushroom_finder.c - Region statistics and ranking
native/mushroom_finder.c
Biome generation
- Cubiomes generator
cubiomes/generator.c - Biome layers
cubiomes/layers.c - Biome noise
cubiomes/biomenoise.c
Other components
- User
Connections 23
- User → Swing GUI: enters search
- User → Command-line interface: runs search
- Swing GUI → Search settings: sets parameters
- Swing GUI → Search runner: starts and controls
- Search runner → JNI bridge: calls native search
- JNI bridge → JNI adapter: dispatches JNI
- JNI adapter → Search coordinator: invokes search
- Command-line interface → Search coordinator: invokes search
- Search coordinator → Biome sampling and mask: scans biome samples
- Search coordinator → Tiled scan and merge: dispatches tiled scan
- Biome sampling and mask → Cubiomes generator: requests biome generation
- Tiled scan and merge → Cubiomes generator: generates tile biomes
- Cubiomes generator → Biome layers: uses layers
- Cubiomes generator → Biome noise: uses noise
- Biome sampling and mask → Connected regions: labels samples
- Tiled scan and merge → Connected regions: labels tile samples
- Tiled scan and merge → Connected regions: merges tile regions
- Search coordinator → Scale refinement: optionally refines
- Search coordinator → Region statistics and ranking: computes and ranks
- Search runner → Search results: converts returned data
- Search coordinator → Search runner: returns result data
- Search runner → Swing GUI: reports progress and results
- Swing GUI → Copy and export: copies or exports