In Minecraft, the distance between two points is the measurement of how far apart the two points are. The sides of a block are considered to be 1 meter (3.28084 feet or 1250381 feet) in length. Distance in the game is measured in one of three ways, Euclidean distance, taxicab distance, or Chebyshev distance, depending on whether geometric accuracy or calculation efficiency is required.

Taxicab distance compared to Euclidean distance. The two endpoints are also 3 and 4 blocks Chebyshev distance from the starting point.

In the following formulas, let two points in three dimensions have coordinates (x1,y1,z1) and (x2,y2,z2) and let d be the distance between them.

Euclidean distance Edit

Euclidean distance, also known as straight-line distance, measures the distance between two points using the length of the line segment between them. It is calculated via the Pythagorean theorem:

d=(x1x2)2+(y1y2)2+(z1z2)2

Spherical distance Edit

The set of points within a given euclidian distance, d, of some point, form a sphere with radius d centered at that point. This sphere is also reffered to as a Euclidian sphere.

Usages Edit

Minecraft uses Euclidean distance calculations in cases that are relatively infrequent or when accuracy is required. This is geometrically the most accurate calculation. However, the square root calculation is processor intensive, particularly on mobile devices that may have slow processors. Too many processor-intensive operations performed during a game tick can introduce lag in the game.

Situations in which Minecraft calculates Euclidean distance:

  • The detection range of most mobs, if they have a line of sight to the target.
  • The attenuation range of most sounds forms a Euclidean sphere with a radius of 16 blocks, centered on the source of the sound.
  • Mob despawning range in Java Edition.
  • Disks in rivers and lakes generate as blocks within a Euclidean distance from a central block. (Small disks with a radius of up to three blocks including the center appear identical to a taxicab diamond, however larger sizes correctly reveal a more circular shape.)
  • Effects of explosions.
  • A Lightning rod redirects lightning within a Euclidean sphere with a radius of 128‌[JE only]/64‌[BE only] blocks, centered on the rod.
  • The /locate command prints the Euclidian distance from the caller to the located object in chat.
  • Nether portal searches for destination portals.
  • Sculk sensors and calibrated sculk sensors detect vibration emission in a spherical region.
  • Splash potions affect mobs inside a Euclidean sphere with a radius of 4 blocks.
  • Target selectors used in commands use Euclidean distances.
  • A zombie siege is started based on Euclidean distance between a player and the village center.

Taxicab distance Edit

Taxicab distance as represented by Minecraft blocks rather than city streets.

Taxicab distance, also known as rectilinear distance, city block distance, Manhattan distance, and other names, is a metric in taxicab geometry for measuring distance, as an alternative to Euclidean distance. It eliminates the square root and squaring operations by simply calculating the absolute value (positive value) of the difference between each coordinate value and is defined as:

d=|x1x2|+|y1y2|+|z1z2|

Usages Edit

Minecraft uses taxicab distance as an efficient range measurement in several elements of the game as it is a less accurate but faster calculation that can be done many times during a game tick. An obvious consequence of this calculation is that a taxicab "circle" drawn with a constant taxicab radius appears as a square whose vertices are in the directions of the axes (such as torch illumination), in which the taxicab radius equals the Euclidean radius only in the four cardinal directions (north, south, east, west), and the radius is shorter in all other directions. Similarly, in three dimensions, a taxicab "sphere" appears as an octahedron.

Situations in which Minecraft calculates taxicab distance:

  • Light from light sources such as torches, campfires, lanterns, glowstone, etc. illuminate surfaces according to taxicab distance.
    • As a direct result of this, torches melt snow layers within 2 blocks and ice within 3 blocks taxicab distance. Several other light-emitting blocks also melt snow in a taxicab radius; see Snow § Melting.
    • Heat blocks[Minecraft Education only] melt snow layers and ice within 2 blocks taxicab distance, but do not emit light.
  • Liquid (water or lava) flowing horizontally on a flat surface flows from the source in taxicab distance. For example, if flowing water is forced into a 1-block-wide stream and turns corners, it travels 7 blocks. If it is allowed to flow freely on a surface, it also travels 7 blocks taxicab distance.
  • Redstone wire signals spread this way, as can be seen if a large plane of the substance is laid out.
  • Levers and buttons emit a redstone signal in a 1-block planar taxicab distance around them.
  • In Bedrock Edition, simulation distance is the distance from the player at which blocks get tick updates (such as lightning strikes), and beyond which mobs despawn; this also uses taxicab distance.
  • In Bedrock Edition, a monster spawner spawns mobs within a 4-block taxicab horizontal range from the monster spawner.
  • A sponge absorbs water up to 7 blocks away in taxicab distance (an octahedral volume centered on the sponge).
  • Leaves and scaffolding determine their distance from the center via a "distance" block state determined by taxicab distance.
  • Phantoms in Java Edition spawn 20–34 blocks above the player, and off to the side by a taxicab distance of up to 10 blocks.
  • Using bone meal on sea pickles that are on coral blocks creates more sea pickles on nearby coral blocks out to a horizontal taxicab distance of 2.
  • A block of copper is oxidized according to a taxicab distance search for unwaxed copper blocks within 4 blocks of the block being considered for oxidation.
  • Shulkers can move along only one of the three grid axes at a time and on integer steps, meaning that they move according to taxicab geometry.
  • Some redstone components produce block updates up to two blocks away by taxicab distance, including up and down.

Chebyshev distance Edit

Chebyshev distance, also know as the chessboard distance or maximum metric, is the maximum absolute difference between two points in one of three axes:

d=max(|x1x2|,|y1y2|,|z1z2|)

A "circle" drawn with a Chebyshev-distance radius would appear as an axis-aligned square, and a "sphere" would appear as a cube.

Usages Edit

Computationally, Chebyshev distance is roughly as efficient as taxicab distance, but it is useful for effects that need to happen in a square area or cuboid volume from a center coordinate.

Situations in which Minecraft calculates Chebyshev distance:

  • Determining whether farmland is hydrated by a block of water in range of 4 blocks.
  • A villager in Java Edition detects an iron golem within ±16 blocks on any axis.
  • An iron golem in Bedrock Edition spawns within ±8 blocks horizontally and ±6 blocks vertically from the village center block.
  • The horizontal range of a beacon, which is 20, 30, 40 or 50 blocks depending on the size of the beacon pyramid.
  • The spawning range of wardens from naturally generated sculk shriekers is ±5 blocks horizontally and ±6 blocks vertically from the shrieker.
  • In Java Edition, the load level of a chunk decreases in a square pattern, creating a 7 by 7 chunk area around the world spawn known as the spawn chunks.
  • Trial spawners use this in Java Edition, but not in Bedrock Edition.

See also Edit

Navigation Edit