Search Patterns
The search-pattern key in rtp.yml controls how EzRTP generates candidate coordinates on each teleport attempt. Different patterns produce different spatial distributions, which affects both fairness and performance depending on your world shape and biome layout.
# rtp.yml
search-pattern: random
Valid values: random, circle, square, diamond, triangle
random (default)
Config key: random
Picks a random integer radius within [min-radius, max-radius] and a random angle, then places the candidate on the perimeter of that circle. Because the radius is sampled as a whole-block integer, candidates cluster slightly more at smaller radii but the distribution is otherwise uniform.
Best for: general use; matches the classic RTP feel on flat or varied terrain.
search-pattern: random
circle
Config key: circle
Identical in shape to random but uses a floating-point radius sampled continuously from [min-radius, max-radius]. This eliminates the slight integer-radius clustering and produces a more even ring distribution.
Best for: large radius ranges where you want an even spread across the full annulus.
search-pattern: circle
square
Config key: square
Candidates are placed uniformly on the perimeter of an axis-aligned square whose half-side equals the sampled radius. Each of the four edges has equal probability.
The result is a square band of candidate points tilted to align with the world axes — the four cardinal directions (N/S/E/W) see no concentration bias.
Best for: square or grid-shaped worlds, or servers with rectangular claimed areas to work around.
search-pattern: square
diamond
Config key: diamond
Places candidates on the perimeter of an 8-vertex chamfered diamond (an octagonal lozenge) aligned so the four primary vertices point north, east, south, and west. The shape approximates the classic Minecraft “diamond” silhouette that appears on maps, with small beveled corners.
Each edge of the octagon has equal probability, giving a uniform perimeter distribution with a 45-degree rotated footprint compared to square.
Best for: when a rotated square feel is preferred, or when you want to bias exploration toward the intercardinal (NE/SE/SW/NW) diagonals.
search-pattern: diamond
triangle
Config key: triangle
Generates a candidate on the perimeter of an equilateral triangle centered on the RTP center. One vertex of the triangle is always placed due north; the other two are rotated 120° and 240° from it. A random edge is selected, then a uniformly random interpolation along that edge determines the final point.
The triangle pattern concentrates travel in three preferred directions and leaves the space between the vertices relatively undersampled — this can be useful to force players into distinct “wings” of the world.
Best for: experimental use or unusual world shapes where three-directional bias is acceptable.
search-pattern: triangle
Comparison summary
| Pattern | Shape | Coverage type | Radius sampling |
|---|---|---|---|
random | Circle perimeter | Perimeter only | Integer |
circle | Circle perimeter | Perimeter only | Floating-point |
square | Square perimeter | Perimeter only | Integer |
diamond | Octagonal lozenge perimeter | Perimeter only | Integer |
triangle | Equilateral triangle perimeter | Perimeter only | Integer |
All patterns respect min-radius and max-radius. Candidates are generated fresh on each attempt up to max-attempts before the teleport fails.