Cubitect / cubiomes-viewer

An efficient graphical Minecraft seed finder and map viewer.
GNU General Public License v3.0
1.03k stars 61 forks source link

[feature request] print biome match coordinates #170

Closed andrewzah closed 1 year ago

andrewzah commented 1 year ago

We're looking for a biome bordering another biome, but once a seed is found, we have no idea where it matched.

2022-10-21_05-29-46

Is there a way to view where it matched the conditions?

JamesPC44 commented 1 year ago

Specifically, we want to find a location for spawning all fish types in Java (puffer, tropical, cod, salmon) which requires 2-3 biomes in the spawn distance of the player (24-64 blocks) that (AFAIK) cannot generate adjacent to each other. The coordinates of the match would greatly assist with this.

Boobies commented 1 year ago

This would be useful for other things as well, such as finding areas where all flower types grow.

Cubitect commented 1 year ago

The normal biome filter treats the specified area as a whole and there is no specific point 'where it matched'. If you add a condition that references a normal biome condition (like you have shown in the screenshot) the reference will always simply use the center point of that area, regardless what restrictions you specify.

What you can use instead is a specific filter that exists since version 2.5 to locate biome positions (Locate biome center) which produces all the locations of a given biome. For more advanced uses you can also use the Reference point algorithm helpers, which essentially just iterate over the specified area, so you can design a localized biome filter and move it across the area until a match is found.

Is there a way to view where it matched the conditions?

That is what the "Trigger" tab is for.

Specifically, we want to find a location for spawning all fish types

Assuming 1.18+, I would recommend looking for a large temperature gradient using the climate parameters filter.

Cubitect commented 1 year ago

On second thought, since all fish variants can spawn with a combination of lukewarm ocean and a river, checking for a temperature gradient isn't necessary.

Specifically for just bordering biomes like this, the Reference point helpers are probably a good choice. I have added an example for the lukewarm_ocean + river check into the example filters as this seems like an illustrative use case.

andrewzah commented 1 year ago

Specifically for just bordering biomes like this, the Reference point helpers are probably a good choice. I have added an example for the lukewarm_ocean + river check into the example filters as this seems like an illustrative use case.

Yeah, this is what we ended up doing. It's conditions 11-14 in this search. (1-10 are for finding a meadow surrounded by frozen peaks, grove, or snowy slopes).

full-conditions.txt