Zum Hauptinhalt springen

Quest Codex Waypoint

The quest_codex_waypoint entry renders a modular GPS for each player. Its display entities are packet-only and scheduled per player, so they do not create persistent entities in the world and remain attached to the player's camera when the player moves quickly.

Targets

Target caseUsage
fixed_waypoint_targetA configurable fixed Position.
objective_waypoint_targetA specific active LocatableObjective.
tracked_objective_waypoint_targetThe highest-priority, first, or closest locatable objective from the tracked quest.
entity_waypoint_targetThe current position of an EntityInstanceEntry.

The target is hidden when it cannot be resolved. hideWithinDistance is an optional hard-hide distance; with its default 0, the text remains visible above the target when the player is close.

Layers

Layers are ordered and composable. Each layer has an enabled variable, a placement (HUD or TARGET) where applicable, and an offset relative to its anchor.

Layer caseUsage
waypoint_text_layerThe text display layer. Supports {icon}, {distance}, {distance_m}, {distance_km}, {elevation}, {direction}, {vertical_direction}, {target}, {world_name}, {height_diff}, and {eta}.
waypoint_block_layerA centered block display anchored to the HUD or target.
waypoint_beacon_layerA centered, rotating vertical beacon-style block display with configurable mode, material, height, thickness, lighting, and view distance.

The public implementation intentionally has no item-display or directional-arrow layer. Configure an icon as text or as a resource-pack glyph through the waypoint's icon field and insert it with {icon} in the text layer.

When the player is within nearTargetDistance (default 10 blocks), text layers move above the target using nearTargetVerticalOffset instead of staying in front of the player's camera. Outside that range, HUD text is placed at hudForwardDistance (default 5.5 blocks) with hudVerticalOffset.

hudVisibilityAngle controls the horizontal visibility cone. The default 180 degrees shows the waypoint only in the front hemisphere; near-target text ignores this filter so the objective remains readable when the player reaches it.

Example: tracked objective with text and beacon

{
"type": "quest_codex_waypoint",
"id": "quest_waypoint",
"target": {
"case": "tracked_objective_waypoint_target",
"value": { "selection": "HIGHEST_PRIORITY" }
},
"layers": [
{
"case": "waypoint_text_layer",
"value": {
"enabled": true,
"text": "{icon} <gold>{target}</gold>\n<white>{distance_m} m</white> <aqua>{direction}</aqua>",
"offset": { "x": 0.0, "y": 0.0, "z": 0.0 },
"placement": "HUD",
"scale": 1.0,
"lineWidth": 200,
"shadow": true,
"seeThrough": true,
"breathing": true,
"breathingAmplitude": 0.3,
"breathingPeriod": 2.0
}
},
{
"case": "waypoint_beacon_layer",
"value": {
"enabled": true,
"mode": "TARGET",
"material": "LIME_STAINED_GLASS",
"height": 64,
"thickness": 0.5,
"rotationSpeed": 3.0,
"offsetY": 1.0,
"viewDistance": 250.0,
"blockLight": 15,
"skyLight": 15
}
}
],
"icon": "<yellow>✦</yellow>",
"refreshTicks": 1,
"targetViewDistance": 250.0,
"nearTargetDistance": 10.0,
"nearTargetVerticalOffset": 2.25,
"hudVisibilityAngle": 180.0,
"hudForwardDistance": 5.5,
"hudVerticalOffset": 1.0
}

For a location objective, set priorityOverride as an object with enabled and value fields. The waypoint can then use HIGHEST_PRIORITY to select it from the tracked quest.