Releases: Prohect/BindAlias
Releases · Prohect/BindAlias
Release list
v1.12.0 — agent_msg channel, diffState & printScreen aliases
Added
diffStatealias — captures a state diff mid-chain and posts it to the newagent_msgchannelprintScreenalias — grabs an async screenshot and posts base64 PNG toagent_msgagent_msgchannel — structured message channel keyed by clientTick; same-tick state+screenshot entries merge automatically
Changed
- MCP: simplified snap parameter —
snap(multi-entry array) replaced bysnapDeferredTicks(single integer defer); screenshots moved from snap intoprintScreenalias - MCP: JS bridge — extracts
agent_msgscreenshots as MCP image blocks, removes legacy multi-snap code
Fixed
- cfg auto-load — world-specific
agent.cfgno longer wipes globalbind-alias.cfgaliases - deferred snap extra — recipes JSON from
listRecipesnow preserved in deferred snap envelopes - 1.21.x alias parsing —
divider4AliasArgscorrected from\to/, fixing allBuiltinAliasWithArgsaliases (yaw,log,say, etc.) on 1.21.x branches
v1.11.2 — Fix stale screenshots + per-snap image delivery
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
Fixed
- MCP:
runAliaswithoutsnapreturned{}— the pre-execution state diff and channels were discarded whensnapwas not defined. Now returns a single envelope with state diff and drained channels, matching the documented contract.
BindAlias v1.11.0
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 entireposobject). Arrays are diffed as a whole. - MCP: verbose and channels scoped to last deferredTick — in multi-snap calls,
verboseonly applies to the lastdeferredTickenvelope; message channels (chat, mod, sound, unlocked_recipe) only appear in the last envelope since entries carry tick-index info internally.
v1.9.0
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
v1.8.6
Added
- Per-save agent cfg — a second cfg file at
<game_root>/saves/<save>/bind-alias/agent.cfgloads alongside the main cfg on world join. The maintainer can place initialization details in global cfg that are hidden from the MCP agent. - MCP
/readNotesand/writeNotestools — 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/writeCFGscope — 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_keysno longer includes+freeCursor— the internal+freeCursortoggle is hidden from the standard envelope to avoid confusing the agent with unnecessary state.- Bridge tool instructions cleaned — removed
+-freeCursorandreapplyfrom the MCP bridge descriptions since they are developer-oriented and not useful to MCP agents.
Fixed
+usemissing fromheld_keysin the MCP envelope.- POST MCP tools timing out —
req.end()was missing from the bridge'sapiPost, causing all POST-based tools (runAlias,writeCFG,defineAlias,writeNotes) to hang indefinitely. writeCFG/writeNotesbridge timeout increased from 10s to 30s to accommodate per-save cfg reload.
BindAlias 1.8.5
Changed
- MCP envelope channel rename — the recipe-unlock channel
recipeis renamed tounlocked_recipe. - MCP state
held_itemrefactored —held_item(string) /held_item_count/selected_hotbar_slot/ top-leveldurabilitycollapse into a single item-stack objheld_item(same shape as container/hotbar entries:item,name,countplus optionaldurability/enchanted/tooltip;nullwhen the hand is empty). - MCP state
targetextended — fieldkindrenamed toclass; addedray_hitobj ({x,y,z}) with the exact crosshair ray hit position. /tickfamily without cheats — the vanilla/tickcommand family no longer requires admin permission, so it works in singleplayer worlds with cheats off;tick ratevalid range expanded to [0.1, 10000] (the internal 1.0 clamp was lifted to match).
BindAlias 1.8.4
Added
- unloadUser built-in aliases* —
unloadUserAliases,unloadUserVars,unloadUserBinds,unloadUserAllremove runtime-created items while preserving CFG-loaded and builtin items.
Fixed
/var cNfeedback — now correctly shows success instead of "Failed"./runAliassuggestions — chain-aware completion with token-level alias + var suggestions.swapSlotvar suggestions — container slot and general int vars now suggested.
v1.8.3
Changed
- MCP standard envelope — rename
tickfield toclient_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).