-
Notifications
You must be signed in to change notification settings - Fork 0
Bedrock Add On
Blockpal also exists as a native Minecraft Bedrock Edition Add-On — a behavior pack + resource pack that puts an AI companion (default name Ethan) into your own single-player Bedrock world. Phone, tablet, console*, or the Windows Bedrock app: no server, no Geyser, no Java Edition, nothing to host.
Two different Bedrock stories — pick yours:
- You want to join a friend's modded Java server from Bedrock → Bedrock (Geyser). The full Java feature set, LLM and all.
- You want the companion in your own Bedrock world, offline → this page.
* Consoles can't import
.mcaddonfiles directly; the usual routes are the Windows app or sharing a world that already has the packs applied.
- Get
builds/blockpal-bedrock-<version>.mcaddonfrom the repo (or build it yourself — see below). - Open the file — Minecraft launches and imports the behavior pack and resource pack together.
- Edit your world → Behavior Packs → activate Blockpal Companion [BP]. The resource pack is a listed dependency, so it activates automatically.
- Play. You'll get a one-time chat hint; type
!ai helpany time.
Requirements: Minecraft Bedrock 1.21.60 or newer. No experimental toggles — the add-on sticks to stable Script APIs. As with any behavior pack, Minecraft disables achievements in that world.
-
!ai summonspawns Ethan (or!ai summon Robofor a custom name). There's also a Blockpal Companion spawn egg in the creative inventory. - He follows you by default, fights back when hurt, floats in water, opens doors while pathing, calls for help when badly hurt, and never despawns.
- Right-click / tap him to toggle follow ↔ stay.
-
Talk to him:
Ethan, follow me·Ethan: where are you·Ethan, build a 5x5 floor— addressing by name works exactly like the Java mod. Quick intents (come/follow/stay/stop/guard/where) answer instantly.
All chat-based, so they work identically on every Bedrock device:
| Chat | Effect |
|---|---|
!ai help |
Show help |
!ai summon [name] |
Spawn a companion (up to 4 per player) |
!ai dismiss |
Send it home |
!ai come / follow / stay / guard / stop
|
Orders |
!ai where / locate
|
Find it |
!ai name <name> |
Rename |
!ai skin <default|robot|ember|void> |
Change skin |
!ai personality [<id>] |
List / set the personality |
!ai bots |
List your companions (mode, spot, health) |
!ai inv |
What's in its 10-slot backpack |
!ai say <text> |
Make it speak |
!ai <task> |
A natural-language task (next section) |
Prefer slash commands? /scriptevent blockpal:ai <anything above, minus the !ai>
does the same (requires cheats enabled; the !ai chat form doesn't).
The Java mod plans tasks with a cloud LLM. Bedrock's Script API has no
network access in single-player worlds (@minecraft/server-net exists only
on Bedrock Dedicated Server), so this add-on recreates the planning layer
on-device: an instruction parser turns natural phrasing into the same
kind of step-by-step plan, executed one block per tick with a 5-minute
watchdog — the exact execution rules the Java mod converged on after its
early lag lessons.
Things it understands (sizes and materials are flexible):
-
build a 5x5 floor of stone·build a platform 9 by 9 of oak planks build a wall 8 long 3 high of stone bricks-
build a tower 12·build a bridge 16 of cobblestone -
build a house(a little hut with a doorway, facing you) -
mine a 3x3 hole·dig down 10(staircase, never straight down) -
collect items(walks to drops and stores them in its backpack) -
kill the monsters/guard(hostile-mob targeting within 16 blocks) -
wait 10 seconds·jump·say <anything>
Floors and bridges pave over terrain; walls, towers and houses only fill air so the companion never overwrites your builds. Mining uses real block drops. Unknown requests get a personality-voiced "I didn't get that" with examples — nothing fails silently.
The six Java personalities, recreated: friendly (default), cheerful,
grumpy, stoic, heroic, shy. !ai personality grumpy and every
line he says — greetings, task chatter, calls for help, even the where-am-I
report — switches voice. Per-companion, persisted with the world.
Four built-ins (default, robot, ember, void) switchable live with
!ai skin <id>. They use the classic 64×64 player-skin layout, so to add
your own: drop any standard skin PNG over one of the files in
bedrock/packs/resource/textures/entity/companion/ and rebuild the
.mcaddon (custom skins can't be hot-loaded from a folder on Bedrock the way
the Java mod does — packs are sealed at import).
| Java feature | Status on Bedrock |
|---|---|
| Cloud LLM planning | No HTTP in single-player scripts → replaced by the offline planner above |
| Settings GUI panels | No custom GUI API in stable scripts → everything is !ai chat commands |
| Voice (push-to-talk / TTS) | No microphone/audio APIs in the sandbox |
| Possession, hosting, parties, minigames | Out of scope for the single-player v1 |
| Per-player API keys / admin panel | No API to manage; single-player has one player |
A future phase could restore real LLM planning for worlds hosted on a
Bedrock Dedicated Server via @minecraft/server-net.
python3 bedrock/tools/gen_assets.py # (only if you changed skins/icons)
python3 bedrock/build.py # → builds/blockpal-bedrock-<version>.mcaddon
Pure Python 3 standard library — no Gradle, no Node, no dependencies. The
pack source lives under bedrock/packs/; the scripts are plain JavaScript
(behavior/scripts/), and version/UUIDs live in the two manifest.json
files.
-
"Ethan ignores chat" — make sure the behavior pack is active on the
world (not just the resource pack), and that you're typing in chat, not the
command bar.
!ai helpshould always answer. - Companion slides instead of walking during tasks — script-driven movement is positional (Bedrock scripts can't drive the native pathfinder to arbitrary points); following uses real pathfinding, task movement uses smoothed steps. Cosmetic, documented, same honesty as the Java possession "tug".
- No blocks appear when building a floor — it only replaces terrain with a different block; a stone floor on stone ground is already done.
-
Invisible/broken companion — the resource pack didn't attach; re-import
the
.mcaddonor add Blockpal Companion [RP] manually under Resource Packs.
Use /blockpal:ai <command> on current versions, or
/scriptevent blockpal:ai <command> on older ones. Cheats must be on.
/blockpal:ai help
/blockpal:ai summon [name]
/blockpal:ai come | follow | stay | guard | stop | where
/blockpal:ai name <name> | skin <default|robot|ember|void>
/blockpal:ai personality <friendly|cheerful|grumpy|stoic|heroic|shy>
/blockpal:ai bots | inv | say <text>
/blockpal:ai build a 5x5 floor of stone
Reading chat requires world.beforeEvents.chatSend, which Minecraft ships as an
experimental-only API. With Beta APIs off — the normal case — no add-on can see chat
at all, so !ai cannot work. Everything else works without any experiment.
- Are cheats on? Every command needs them.
- Are both packs applied to the world (behaviour and resource)?
- Check the content log at world load. Blockpal prints exactly which entry points
registered:
Commands: /blockpal:ai, /scriptevent blockpal:ai. If one is missing it also prints why.
Requires Minecraft Bedrock 1.21.80 or newer — that's where the
@minecraft/server2.x script API arrived. On older versions Minecraft can't provide the API the pack asks for and drops the script module without running it.
Known-bad versions: 1.0.0 and 1.0.1. 1.0.1 still declared
@minecraft/server1.17.0 (the Minecraft 1.21.60 line).2.0.0was a breaking major, so on any current Minecraft that version doesn't exist and the script module was dropped before running a single line — no commands, and no logs at all, not even an error. Fixed in 1.1.0.
Known-bad version: 1.0.0. It called the experimental chat API unguarded, which threw while the module was loading and killed the entire add-on — no command of any kind worked. If you have 1.0.0, replace it with 1.0.1 or newer.
Bedrock never tells you an add-on is broken; it just does nothing. So the build refuses to package one that is:
python3 bedrock/build.py # validates, runs the tests, then packages
python3 bedrock/validate.py # checks only
bedrock/tests/run.sh # behaviour tests only
validate.py checks that every JSON file parses, the manifests are well-formed with
unique UUIDs and a real script entry, the behaviour pack depends on the resource pack,
every script parses, every import resolves and every imported name is actually
exported (a typo there stops the whole pack loading), every entity event the scripts
trigger exists on the entity, and every texture and geometry the resource pack names is
present.
tests/run.sh then loads the real scripts against a stubbed @minecraft/server and drives
them like a player would — summon, follow, stay, guard, rename, re-skin, change
personality, run a build task and check blocks actually changed. It runs three times: a
normal world (stable APIs only, no chat), a world with Beta APIs on, and an older
runtime without custom commands. The stable-only run is the one that would have caught
1.0.0.
The add-on announces itself in chat a few seconds after the world loads:
Blockpal loaded ✓ Type /blockpal:ai help to begin.
That message exists because the content log is off by default, so a console line is invisible to almost everyone. If you don't see it, the script module never ran — check your Minecraft version (1.21.80+), that both packs are applied, and that cheats are on.
If you do see it, it also tells you which entry points registered, so you know whether
to use /blockpal:ai, /scriptevent blockpal:ai, or !ai in chat.
Blockpal — a Minecraft Fabric AI companion mod · default companion Ethan · Report an issue · MIT License
Start here
Using the mod
- Commands
- Talking to Your Assistant
- Client-Side Assistant
- Possession Mode
- Voice
- Settings
- Performance Presets
- Custom Skins
- Personalities
- Trust & Per-Bot Management
- Running Commands
- AI Actions
- Vision & Code
- PVT — learning by watching
- Speed & Combat
- Bedrock (Geyser)
- Bedrock Add-On (single-player)
Multiplayer & games
AI providers
- MCP server (Claude/ChatGPT/Grok/Gemini)
- Local AI on your GPU
- Local & Player2 AI
- Per-Player Keys & Models
Admin & safety
Reference