EZ Seed Finder
Fast, GUI-based Minecraft Java Edition seed finder with an extensive .ezsf criteria language.
Powered by cubiomes via a vendored cubiomespi-fork build for accurate structure and biome generation.
Features
- GUI — set version, structure distances, stronghold options, and spawn filters
.ezsffiles — expressive criteria syntax for complex multi-dimension searches- Multi-threaded — uses all CPU cores for fast random/sequential scanning
- Structures — villages, temples, mansions, monuments, ruined portals, ancient cities, trial chambers, and more
- Dimensions — overworld, nether, and end criteria in one search
- Strongholds — nearest distance, ring selection, max angle from spawn, under-spawn and full stronghold (heuristic — see Notes)
- Biomes — point checks, region percentages, spawn biome
- Bastions — variant filtering (treasure, housing, stables, bridge)
- Distance rules — e.g. village and ruined portal within 200 blocks of each other
- Terrain / mobs / loot — terrain heuristics (experimental), mob biome proxies, version-aware chest loot
Quick Start
Install from PyPI
pip install ezseedfinder
ezsf -gui # graphical interface (requires tkinter)
ezsf -f criteria.ezsf # headless CLI search
ezsf --village 500 -n 10 # quick village filter
GUI requires tkinter. On Debian/Ubuntu: sudo apt install python3-tk
Windows: pip builds a native cubiomes library during install (requires Microsoft C++ Build Tools with the “Desktop development with C++” workload). If pip selects a wheel built for another OS, it falls back to the source package and compiles locally.
Development
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
ezsf -gui
ezsf -f examples/speedrun.ezsf -n 5
GUI Usage
- Pick a Minecraft version (1.12.2 – 26.2, default 26.2)
- Set structure distances in blocks (0 = ignore)
- Enable stronghold options if needed
- Optionally edit the
.ezsfpanel for advanced criteria - Click Start Search — results appear in the table (double-click to copy seed)
.ezsf Syntax Reference
version 26.2
threads 8
max_results 10
random # or: sequential
seed_range start 0 end 1000000
spawn within 2000 of origin
spawn biome plains | forest
stronghold nearest within 1500 of spawn
stronghold under spawn
stronghold full
stronghold ring 1
stronghold max_angle 90
dimension overworld {
biome at 0, 64, 0 plains | meadow
biome region -512, -512 to 512, 512 y 64 contains desert >= 10%
structure village within 500 of spawn viable
structure between village and desert_pyramid within 800 of spawn viable
ruined_portal within 300 of spawn viable giant false top_missing 1 chest item obsidian min 1 chest item flint_and_steel min 1
terrain at 0, 0 flat radius 128
}
dimension nether {
structure fortress within 400 of 0,0 viable
bastion variant treasure within 600 of spawn viable
}
dimension end {
structure end_city within 1000 of 0,0 viable
}
distance village ruined_portal <= 200 in overworld
mob witch within 200 of spawn in overworld biome swamp
loot at ruined_portal item obsidian min 1 within 500 of spawn in overworld
Structure variants
Ruined portals support cubiomes variant flags plus frame/loot simulation (1.16.1+):
giant true|false— giant portal templateunderground true|false,airpocket true|false,template 3— placement varianttop_missing N— obsidian holes on the top row of the portal frame (after crying-obsidian RNG)frame_missing N— total frame holes (optional; templates usually need 3+ blocks to complete)chest item <name> min N— ruined portal chest loot (obsidian, flint_and_steel, gold_ingot, etc.)
Bastions: bastion variant treasure|housing|stables|bridge within 600 of spawn
Point references
spawn— world spawnoriginor0,0— world originx, z— explicit coordinates
Structures
village, desert_pyramid, jungle_temple, swamp_hut, igloo, ocean_ruin, shipwreck, monument, mansion, outpost, ruined_portal, ancient_city, treasure, mineshaft, fortress, bastion, end_city, trail_ruin, trial_chambers, and more.
Notes
- Full stronghold — cubiomes does not simulate portal room layout;
stronghold fulluses a ring-1 proximity heuristic. - Under spawn — nearest stronghold within ~250 blocks of spawn (approximate).
- Stronghold angle —
max_angle Nchecks ring-1 stronghold angular distance from +Z at spawn (exact position from cubiomes). - Chest loot — version-aware vanilla loot tables for ruined portal, buried treasure, shipwreck, desert/jungle temple, bastion treasure, ancient city, and trail ruins (1.21+). Uses structure variant Y when cubiomes provides it.
- Ruined portal frame — overworld and nether; extracted vanilla templates with crying-obsidian RNG.
- Terrain / height — experimental biome-based proxies in the GUI; not true surface noise.
- Mob rules — biome suitability proxy; expanded mob list in GUI.
- Seed map preview — planned; see
ROADMAP.md.
Examples
See bundled examples (ezseedfinder/examples/ after install, or examples/ in the repo):
ruined_portal_speedrun.ezsf— 1.16.1 portal_6 frame + chest loot speedrunspeedrun.ezsf— 1.16.1 village + portal + stronghold + netheradvanced.ezsf— biomes, terrain, mobs, all dimensions
License
MIT
Metadata
Release files for ezseedfinder 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ezseedfinder-2.2.0.tar.gz | 406.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ezseedfinder-2.2.0-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
Total release size: 1.7 MB
Release files / ezseedfinder-2.2.0.tar.gz
| Download URL | ezseedfinder-2.2.0.tar.gz |
|---|---|
| Size | 406.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a339e463d1891ca99d30d2b8a69ed5e8c42481cfc21def21be1b07d42a5ba85d
|
|
BLAKE2b-256 checksum How to use checksums |
d963b063889c9c7d495fec4ed1fbc91c02f24f44bacc0be0b7aae9572d9ae2f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency logRelease files / ezseedfinder-2.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | ezseedfinder-2.2.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f794e14232b6c66dcc934fae1435d2bdc86770c7dbc2e48183e5591007d06ec
|
|
BLAKE2b-256 checksum How to use checksums |
bd205c3ef28b9c4b62c00ff7d27ef8db19d4c1be5b68c5224941f87d404d996b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency log