Releases: mattbaconz/plugdev
Release list
PlugDev 1.4.1
PlugDev 1.4.1 improves Prism startup reliability, the PlugDev-2 virtual cursor, and Codex skill installation.
[added]
- Project skills include Codex display metadata and implicit invocation. Install the global skill with
npx skills add mattbaconz/plugdev --skill plugdev -g -y, then ask an agent to “use PlugDev”.
[changed]
- PlugDev-2 Cursor uses an image-generated compact dark arrowhead, cream outline, and subtle warm glow inspired by the supplied reference. It is a recreation, not an extracted or pixel-identical Codex asset.
- CLI requires Node.js 22 or newer, matching the Minecraft bot dependency. MCP stays at 0.5.0.
[fixed]
agent install --codex --forcepreserves unrelated AGENTS.md instructions and customized skill invocation policies.- Transient Windows rename locks receive bounded retries without deleting the existing session file.
Install: npm install -g @plugdev/cli@1.4.1
Verification: 273 automated tests passed with real FFmpeg tests enabled; builds and GitHub CI passed. Native capture requires a renderable, non-minimized Windows client. The Prism bridge targets Fabric 26.1.2; protocol test players do not render screenshots.
- Prism startup now allows up to five minutes for account preflight and mod loading, with cancellation and duplicate-launch protection.
Final packaged CLI integration passed against FO 26.1.2: two protocol test players, real GUI click, movement, preemptive stop, cancellation, same-process reattachment, four PNGs and two GIFs. Minimized capture was rejected as designed. Example artifacts are attached.
PlugDev 1.4.0 — background capture and player controls
PlugDev 1.4.0 adds background capture and rendered-player controls to the local plugin development loop. MCP 0.5.0 exposes the same implementation to coding agents.
Added
- Native screenshots for existing Fabric 26.1.2 Prism instances, animated in-game cursors, real GUI hover/click interaction, camera and bounded player movement, HUD control and up to eight scenario test players.
- PlugDev-1 Cursor: a white arrow with an amber accent. PlugDev-2 Cursor: a smaller dark arrow with a soft orange glow. Both sprites are original generated assets bundled with the optional client bridge.
- Project-bound Windows recording, named PNG/GIF batches, crop/size controls, recording status/stop/cancel and source-once GIF/MP4 export. Failed encoding retains source footage for retry.
- An optional isolated Minecraft 1.21.4 client with a 512 MiB heap limit, capped rendering and idle shutdown. The Prism main-client path preserves that profile's existing mods and memory settings.
Changed and fixed
- Capture selects a verified client/window identity and does not inject global F1/F2 or activate Minecraft. Unsupported minimized, locked and headless states fail explicitly.
- Agent command imports are loaded on demand; logs and rebuild queues are bounded.
- MCP capture/player controls require CLI 1.4.0 or newer, preventing accidental dispatch to older foreground-capture implementations.
- Optional GUI/TUI capture guidance, readiness and hover/focus states are clearer.
Install
npm install -g @plugdev/cli@1.4.0 @plugdev/mcp@0.5.0From a running local development project:
plug client start --instance "FO 26.1.2" --player CaptureTester
plug capture shot --name menu --width 960See capture scenarios and controls. Reload the MCP server in your editor after updating.
Verified with 270 passing CLI/MCP tests and real Windows/FO 26.1.2 GUI captures, player actions, test players, cancellation and reattachment. A same-client benchmark measured median native screenshots at 0.81 s versus 6.88 s for the existing WGC path (three warm samples per path); this is a local result, not a universal speed guarantee. Existing full-repository TypeScript diagnostics remain outside the release's passing build/test checks.
Capture requires an unlocked Windows desktop, FFmpeg with gfxcapture, and FFprobe. The rendered-client test used an isolated Paper 1.21.4 server through ViaVersion. No native Paper 26.1.2, headless or locked-desktop support is claimed.
v1.3.0
Added
- Listing capture on Windows:
plugdev capture doctor|shot|gif|run|inittakes F2 screenshots and short ffmpeg GIFs from the embedded client into.plugdev/media/ - YAML capture scenarios (
.plugdev/scenarios/listing.yml) withrcon,as,wait,wait_join,shot,hud,gif, and in-run bots - GIF encode falls back to MP4 when ffmpeg palette/gdigrab GIF fails
- Bootstrap
/plugdev as <player> <command>so agents can open plugin GUIs as the joined player - MCP 0.4.0:
plugdev_open_client,plugdev_capture_doctor,plugdev_capture_shot,plugdev_capture_gif,plugdev_capture_run
npm i -g @plugdev/cli@1.3.0
plug runv1.2.2
Added
- Auto-stop idle or orphan Paper servers after 1 minute by default (
run.autoStop:1m,30s, oroff). Bootstrap shuts the JVM down when the CLI heartbeat is stale (nobody online) or when the last player has been gone for the timeout
npm i -g @plugdev/cli@1.2.2
plug runv1.2.1
Fixed
- Embedded alt client (Open as client / extra GUI) no longer launches with incomplete vanilla assets — Minecraft 26 crashed immediately on missing textures. PlugDev now treats assets as required, copies from Prism/MultiMC when present, and aborts spawn if they are still missing
- Open as client waits for the headless bot to disconnect before launching the window
- Embedded offline profiles use a name-based UUID instead of all-zeros; immediate client crashes print the crash-report path
npm i -g @plugdev/cli@1.2.1
plug runv1.2.0
Added
- Mojang skins on the offline Paper loop — bootstrap looks up textures by username (
dev.applySkins, default true) - In-run command panel: type
.panelor.helpduringplug run(server shortcuts, bots, open client) .bot <name> say|look|walk|sneak|stop|quit|opento drive headless alts from the console- Open as client: quit that bot, then launch an embedded Minecraft window as the same name
Changed
- Paper run templates: zero spawn-limits, lower entity-activation-range, hopper/collision caps, merge paper-global chunk-loading keys
- Ready banner points at
.panelfor actions
npm i -g @plugdev/cli@1.2.0
plug runv1.1.3
Fixed
- Headless bot launch on Node 22+ —
waitForPortOpen(port, host)argument order was swapped inbot.ts
npm i -g @plugdev/cli@1.1.3
plug runv1.1.2
Added
- TUI Configure Extra mode (
bot/client) — toggle headless vs GUI alts without editing YAML
Fixed
- TUI Open headless bot no longer freezes the menu (detaches after spawn; CLI
open --botstill waits for Ctrl+C)
npm i -g @plugdev/cli@1.1.2
plugdevv1.1.1
Added
- Headless alt bots via Mineflayer —
client.players[].mode: bot(no second Minecraft window) plugdev open --bot --name Tester2joins a running server as an offline protocol bot- Init / global defaults:
Tester2withmode: bot; Configure writes extras as bots
Changed
- TUI "Open second player" becomes "Open headless bot" when the first extra is
mode: bot
npm i -g @plugdev/cli@1.1.1
plugdevv1.1.0
Added
- Auto-init: bare
plugdev/plugwritesplugdev.ymlfrom detection when missing, then opens the TUI - Global settings in
~/.plugdev/config.yml(ui.hideSteps, client defaults, update/dev/jvm defaults) - Mod dedicated server loop:
plug run --serverwaits for GradlerunServerready, then launches DevPlayer + alt players - Mod
plugdev.ymlmay includeport+clientfor server-mode join - Default alt player
Tester2via init templates and global/client defaults
Changed
- Paper run templates: void world default,
view-distance/simulation-distance2,max-players8, tighter paper-global chunk loading - Mod-aware TUI: hide plugin deps/client actions in
runClientmode; show Open client / second player in mod server mode - Configure writes schema-legal fields only (mods no longer re-hybridize with
server/run) --quietalso hides numbered PlugDev step lines
Fixed
- Schema validation uses the discriminated config branch (no Ajv
oneOfspam) - Plugin-only keys on
type: modconfigs are ignored with one clear warning - Single-module Fabric/Quilt no longer defaults
gradleSubprojectto:fabric(barerunClient/runServer)
npm i -g @plugdev/cli@1.1.0
plugdev