Progress counts only when the player’s vertical position, measured against a
chosen baseline, is within the specified bounds at the moment of the action.
Baseline the elevation is measured against. 'SeaLevel' is raw world height: 0 is the default sea level, positive is above it, negative below. 'Ground' is height relative to the terrain surface directly below the player: negative in caves and train tunnels, positive on rooftops or while flying. Over deep water the Ground baseline is the seabed, so a swimmer at the surface reads as far above ground. Defaults to 'SeaLevel' when omitted.
minElevation
number | null
Minimum elevation in meters, any sign. Null (or omitted) means no lower bound.
maxElevation
number | null
Maximum elevation in meters, any sign. Null (or omitted) means no upper bound.
relativeTo picks what elevation is measured against:
SeaLevel (default): raw world height. 0 is the
default sea level, positive values are above it, negative values below.
Use it for absolute heights, like “while flying above 200 meters” or
“while diving below -10 meters”.
Ground: height relative to the terrain surface directly below the
player. Negative in caves and train tunnels, positive on rooftops or while flying. Use it for “underground” or “high above the ground” rules regardless of where on the map the player is.
The player’s position is what matters, at the instant of the action. A
player on top of a mountain shooting a target in a valley is at the mountain’s
elevation. The target’s position is never considered.
Bounds are in meters and negative values are accepted on both
baselines: below sea level for SeaLevel, underground for Ground.
Either bound can be null (or omitted entirely) for “no limit on that
side”, but at least one bound is required. A condition with neither
bound would always be satisfied, so it is invalid and the contract will not
load.
If minElevation is greater than maxElevation, the plugin swaps them and
logs a warning.
Ground is the raw difference between the player and the terrain surface,
with no special handling for water: over deep ocean the baseline is the
seabed, so a swimmer at the surface reads as far above ground. For “in the
water” style rules, prefer SeaLevel with a negative bound.