Skip to main content

Bundles and capabilities

An API 4 bundle declares its entrypoint, compatibility, files, settings, capabilities, dependencies, and data packs before Lua executes.

Capabilities

Every observation or action that can read or control the client requires a named capability. Examples include:

TaskCapabilities
Read and click a GUIgui.read, gui.interact
Mine a blockmining, navigation, pathfinding
Find and fight mobsworld.entities.read, combat
Read a routeroutes.read
Hold an iteminventory
Use an entity or blockinteraction
Watch GUI changesevents.gui.filtered
Watch matching chatevents.chat.filtered

Declare only what the script uses in requestedCapabilities. An undeclared capability fails before a game-facing operation begins.

Some options require a conditional capability. For example, navigation with Ether Transmission requires etherwarp only when the request enables it.

Content packs

Static server-specific data belongs in a declared pack, not in the core API. Load one exact pack by name:

local WORKLOAD = hexis.content.pack({name = "workload"})

The manifest names the pack kind, schema version, relative path, and SHA-256. Lua cannot read an undeclared file or choose an arbitrary path.