Skip to content

Releases: Prohect/BindAlias

v1.12.0 — agent_msg channel, diffState & printScreen aliases

Choose a tag to compare

@Prohect Prohect released this 08 Aug 09:50

Added

  • diffState alias — captures a state diff mid-chain and posts it to the new agent_msg channel
  • printScreen alias — grabs an async screenshot and posts base64 PNG to agent_msg
  • agent_msg channel — structured message channel keyed by clientTick; same-tick state+screenshot entries merge automatically

Changed

  • MCP: simplified snap parametersnap (multi-entry array) replaced by snapDeferredTicks (single integer defer); screenshots moved from snap into printScreen alias
  • MCP: JS bridge — extracts agent_msg screenshots as MCP image blocks, removes legacy multi-snap code

Fixed

  • cfg auto-load — world-specific agent.cfg no longer wipes global bind-alias.cfg aliases
  • deferred snap extra — recipes JSON from listRecipes now preserved in deferred snap envelopes
  • 1.21.x alias parsingdivider4AliasArgs corrected from \ to /, fixing all BuiltinAliasWithArgs aliases (yaw, log, say, etc.) on 1.21.x branches

v1.11.2 — Fix stale screenshots + per-snap image delivery

Choose a tag to compare

@Prohect Prohect released this 07 Aug 16:46

Fixed

  • MCP: snap screenshots were stale — all screenshots were captured before the alias chain ran, so every snap envelope carried a pre-action frame. Immediate snaps now capture right after the action; deferred snaps capture at expiry on the main thread, ensuring the frame matches the captured state.

Changed

  • MCP: each snap screenshot delivered as its own image block — multi-snap responses now return one image block per screenshot instead of bundling everything into a single block, matching the documented per-envelope delivery contract.

BindAlias v1.11.1

Choose a tag to compare

@Prohect Prohect released this 07 Aug 15:33

Fixed

  • MCP: runAlias without snap returned {} — the pre-execution state diff and channels were discarded when snap was not defined. Now returns a single envelope with state diff and drained channels, matching the documented contract.

BindAlias v1.11.0

Choose a tag to compare

@Prohect Prohect released this 07 Aug 15:26

Changed

  • MCP: deep state diff — state diffs now use recursive JSON comparison so only changed sub-fields are emitted (e.g. {"pos":{"yaw":45}} instead of the entire pos object). Arrays are diffed as a whole.
  • MCP: verbose and channels scoped to last deferredTick — in multi-snap calls, verbose only applies to the last deferredTick envelope; message channels (chat, mod, sound, unlocked_recipe) only appear in the last envelope since entries carry tick-index info internally.

v1.9.0

Choose a tag to compare

@Prohect Prohect released this 05 Aug 08:12

Changed

  • MCP: verbose/nap unification — replaced /state with verbose param. Added nap to /screenshot.
  • MCP: selected hotbar slot — always emits slot+item; hotbar suppressed while container open.
  • MCP: recipe placeability — placeable field filters by grid size.
  • change divider4AliasArgs from backslash to slash.

v1.8.7

Choose a tag to compare

@Prohect Prohect released this 04 Aug 04:44

Changed

  • /time family without cheats — the vanilla /time command family no longer requires gamemaster permission, so it works in singleplayer worlds with cheats off (client-side only, same approach as the existing /tick family).

v1.8.6

Choose a tag to compare

@Prohect Prohect released this 02 Aug 05:27

Added

  • Per-save agent cfg — a second cfg file at <game_root>/saves/<save>/bind-alias/agent.cfg loads alongside the main cfg on world join. The maintainer can place initialization details in global cfg that are hidden from the MCP agent.
  • MCP /readNotes and /writeNotes tools — read/write arbitrary text files inside the per-save agent directory (<game_root>/saves/<save>/bind-alias/<file>). Only plain filenames (no path separators, no ..) are accepted.

Changed

  • MCP readCFG/writeCFG scope — both tools now operate exclusively on the per-save agent cfg file and require the player to be in a singleplayer world. The main cfg is no longer accessible via the MCP API.
  • held_keys no longer includes +freeCursor — the internal +freeCursor toggle is hidden from the standard envelope to avoid confusing the agent with unnecessary state.
  • Bridge tool instructions cleaned — removed +-freeCursor and reapply from the MCP bridge descriptions since they are developer-oriented and not useful to MCP agents.

Fixed

  • +use missing from held_keys in the MCP envelope.
  • POST MCP tools timing outreq.end() was missing from the bridge's apiPost, causing all POST-based tools (runAlias, writeCFG, defineAlias, writeNotes) to hang indefinitely.
  • writeCFG/writeNotes bridge timeout increased from 10s to 30s to accommodate per-save cfg reload.

BindAlias 1.8.5

Choose a tag to compare

@Prohect Prohect released this 01 Aug 03:22

Changed

  • MCP envelope channel rename — the recipe-unlock channel recipe is renamed to unlocked_recipe.
  • MCP state held_item refactoredheld_item (string) / held_item_count / selected_hotbar_slot / top-level durability collapse into a single item-stack obj held_item (same shape as container/hotbar entries: item, name, count plus optional durability / enchanted / tooltip; null when the hand is empty).
  • MCP state target extended — field kind renamed to class; added ray_hit obj ({x, y, z}) with the exact crosshair ray hit position.
  • /tick family without cheats — the vanilla /tick command family no longer requires admin permission, so it works in singleplayer worlds with cheats off; tick rate valid range expanded to [0.1, 10000] (the internal 1.0 clamp was lifted to match).

BindAlias 1.8.4

Choose a tag to compare

@Prohect Prohect released this 31 Jul 12:48

Added

  • unloadUser built-in aliases* — unloadUserAliases, unloadUserVars, unloadUserBinds, unloadUserAll remove runtime-created items while preserving CFG-loaded and builtin items.

Fixed

  • /var cN feedback — now correctly shows success instead of "Failed".
  • /runAlias suggestions — chain-aware completion with token-level alias + var suggestions.
  • swapSlot var suggestions — container slot and general int vars now suggested.

v1.8.3

Choose a tag to compare

@Prohect Prohect released this 30 Jul 19:39

Changed

  • MCP standard envelope — rename tick field to client_tick.
  • logger helper tickPrefix() — now use same tick counter format as the MCP tool api.
  • style consistency — make all tick counter formats consistent.
  • perf — pre-size StringBuilders for late-game recipe lists (500+ recipes).