{"data":{"kind":"file","path":"README.md","version_id":"imfh6xr71w5szp2wygk64kfh","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":3470,"modified_at":"2026-02-12T02:42:05.114000","content_hash":"ca072e28317e1669c43cb1978c82ab718272e69784876c24c829c99dc6b0ee06"},"entries":[],"content":"# minecraft-mineflayer-lite\n\n> HELLO! Just testing! But it should theoretically work? Sorry, I will clean this up later\n\nPrime/Verifiers environment for Minecraft tool-use evaluation and training.\n\n## Prerequisites For HTTP Mode\n- A reachable Minecraft server must already be running.\n- A Mineflayer bridge must be running at `bridge_base_url` (default `http://127.0.0.1:3010`).\n- `auto_start_bridge=true` can start the bridge process, but it does not start the Minecraft server.\n\nIf you are using this repo locally:\n```bash\ncp .env.example .env\n./tools/minecraft-server/start-lite-stack.sh\n```\n\n## Hub Slug\n- `zerozerozerozero/minecraft-mineflayer-lite`\n\n## Install\n```bash\nprime env install zerozerozerozero/minecraft-mineflayer-lite\n```\n\n## Quick Eval (Mock)\n```bash\nprime eval run zerozerozerozero/minecraft-mineflayer-lite -m gpt-4.1-mini -n 4 -r 1 \\\n  -a '{\"adapter_mode\":\"mock\",\"scenario_set\":\"lite_core_v1\",\"reasoning_backend\":\"disabled\"}'\n```\n\n## Quick Eval (HTTP Bridge)\n```bash\nprime eval run zerozerozerozero/minecraft-mineflayer-lite -m gpt-4.1-mini -n 8 -r 1 \\\n  -a '{\"adapter_mode\":\"http\",\"scenario_set\":\"coal_v1\",\"bridge_base_url\":\"http://127.0.0.1:3010\",\"minecraft_host\":\"127.0.0.1\",\"minecraft_port\":25565,\"minecraft_username\":\"prime{example_id}\",\"minecraft_auth\":\"offline\",\"auto_start_bridge\":false,\"reasoning_backend\":\"disabled\"}'\n```\n\nIn HTTP mode, `craft_item(\"iron_ingot\")` now uses real furnace smelting flow (place/find furnace, add fuel+input, collect output).\n\nIf you see `Incorrect API key provided: EMPTY`, set a real key first:\n```bash\nexport OPENAI_API_KEY=your_key_here\n```\n\nFor package smoke/integration tests, this env also supports a no-inference fallback:\n- If `OPENAI_API_KEY` is explicitly set to a placeholder (for example `EMPTY`), episodes auto-finish before model generation.\n- This also handles cases where eval wiring injects placeholder OpenAI credentials internally (without exporting `OPENAI_API_KEY` in the shell).\n- Disable this behavior by setting `allow_offline_smoke_eval_on_empty_openai_key=false`.\n\n## Longer Get-Iron Eval\n```bash\nprime eval run zerozerozerozero/minecraft-mineflayer-lite -m gpt-4.1-mini -n 24 -r 1 \\\n  -a '{\"adapter_mode\":\"http\",\"scenario_set\":\"iron_v1\",\"dataset_repeats\":24,\"max_turns\":64,\"bridge_base_url\":\"http://127.0.0.1:3010\",\"minecraft_host\":\"127.0.0.1\",\"minecraft_port\":25565,\"minecraft_username\":\"prime{example_id}\",\"minecraft_auth\":\"offline\",\"auto_start_bridge\":false,\"reasoning_backend\":\"disabled\"}'\n```\n\n## Uploading Eval Results\nRun without `--skip-upload` and with a published env id (as above). If you run a local-only env id or pass `--skip-upload`, results remain local.\n\n## Scenario Sets\n- `coal_v1`\n- `iron_v1`\n- `lite_core_v1`\n- `core_v1`\n- `core_plus_iron_v1`\n\n## Reward Notes\n- Deaths are penalized by default:\n  - `death_penalty_per_event=0.20`\n  - `death_termination_penalty=0.10` (applies on death-limit auto-termination)\n- Episode wallclock timeout is enabled by default:\n  - `episode_timeout_s=300.0`\n  - `episode_timeout_penalty=0.15` (applies when termination reason starts with `episode_timeout(...)`)\n\n## Tools\n- `observe()`\n- `move_bot(direction, steps)`\n- `gather_resource(resource, count)`\n- `craft_item(item, count)`\n- `list_craftable(include_missing, limit)`\n- `check_inventory(item)`\n- `set_held_item(item)`\n- `run_skill(skill, target, count, zone)`\n- `ask_reasoner(question, context)`\n- `build_plan(objective, horizon)`\n- `execute_plan(plan_json, max_actions)`\n","encoding":"utf-8","truncated":false,"total_bytes":3470},"status":null}