EFC Calculator

(Effective First-stage Continentalness)

: : : :
(None)
(To bottom of table)
No conditions are necessary.
(To top of table)


So what exactly is this?

The spawn algorithm for Minecraft: Java Edition, in versions 1.18 and beyond, is primarily concerned with "fitness". First the algorithm checks 66 exact points, assigns each point a fitness score, and selects the one with the lowest score; then it repeats the process with 862 more points centered around whichever point was chosen. (Then it nudges the spawnpoint onto the first sky-exposed, top-solid, non-waterlogged block it finds, but that doesn't involve any fitness calculations.)

Now, the game uses two attributes to calculate each point's fitness:

  1. The point's Euclidean distance from the origin, and
  2. The climate values at that point if they are beyond particular thresholds (if they are "extreme" enough). The game actually examines all five climates when calculating this, but negative continentalness (which causes oceans or mushroom islands to generate) has a disproportionate impact on the fitness algorithm compared to every other climate, and most of the time the other climate values are "mild" enough that we can assume they won't significantly impact the fitnesses.

Since those are the two (primary) metrics that are used, if one wants to spawn at a particular distance from the origin or at a particular continentalness, that point will have its own corresponding fitness value, which the algorithm ultimately needs to choose as best in order to actually spawn there (ignoring the spawn nudging unless Allow for Spawn Displacement is checked). That means none of the other 66 points the game samples in the first stage, or 862 points it samples in the second stage, can have lower fitness values than the desired location; otherwise the player would simply spawn at the lower-fitness location instead. Therefore, one's desired spawnpoint creates a bound on what every sampled point's lowest possible fitness can be, and since the same 66 coordinates are checked every time in the first stage, the Euclidean distance portion of the fitness calculations can be factored out to produce a hard limit on the highest possible continentalness a point can have and still allow for the spawn one wants—a limit on the point's Effective First-stage Continentalness values. (And therefore when searching for seeds, any seed having a point with a continentalness value more positive than the limits above can be immediately discarded.)

A couple other notes:

Created by Nel. S. (GitHub)