Skip to main content

Observe the world

Observations return bounded immutable evidence. They do not move the player, aim the camera, or keep a live object reference.

Inspect the crosshair

local hit = hexis.world.crosshair.observe({})
if hit.kind == "block" then
local block = hit.block
end

The result includes world_generation, observed_tick, kind, and optional hit position, distance, block, or entity evidence. Your bundle needs world.crosshair.read.

Find blocks

local found = hexis.world.blocks.find({
center = {x = 12, y = 70, z = -8}, -- optional; player position is default
radius = 12,
selector = {block_ids = {"minecraft:coal_ore"}},
limit = 32,
})

Check complete and truncated before treating the result as a complete set. Use world.blocks.observe to refresh exact positions you already know.

Find entities

local found = hexis.world.entities.find({
area = {kind = "radius", radius = 32.0},
selector = {
type_ids = {"minecraft:zombie"},
exclude_self = true,
},
limit = 16,
})

Entity references are compare-and-submit evidence for supported actions. They can become stale when the entity leaves, dies, or the world changes.

Read the tab list

local tab = hexis.world.tab.observe({})
for _, line in ipairs(tab.lines or {}) do
-- Parse only the bounded information your script needs.
end

Build a text inspector

Combine a crosshair observation with a HUD panel. The current API does not expose reusable block outlines, entity outlines, world labels, or highlight collections. Do not copy old world-highlight calls into API 4.