Ecosystem
VoiceCraft.Addon (Bedrock Addon)
Repository: AvionBlock/VoiceCraft.Addon
VoiceCraft.Addon (Bedrock Addon)
Repository: AvionBlock/VoiceCraft.Addon
This repository contains 3 practical packages:
Basic— ready-to-use addon with bind flow and effects UI.Core.McHttp— McHttp transport (typical for BDS).Core.McWss— command tunnel transport for singleplayer/world use.
API namespace
Across packages:
VoiceCraft.Namespace = "voicecraft"
Addon commands
Basic
voicecraft:vcbind <binding_key>- permission:
Any - binds a player to VoiceCraft network entity.
- permission:
voicecraft:vcsettings- permission:
GameDirectors - opens effects/player settings UI.
- permission:
Core.McHttp
voicecraft:vcconnect <hostname> <token>- permission:
GameDirectors - connects world to McHttp endpoint.
- permission:
Core.McWss
voicecraft:vcconnect <token>- permission:
Host - connects to McWss.
- permission:
voicecraft:data_tunnel [data]- permission:
Host - bi-directional packet tunnel (
|-separated chunks, around 1000 chars per response batch).
- permission:
Bind flow details (Basic)
From BindingManager.ts:
- A new network entity receives a random 5-char binding key.
- Entity description is updated to:
Welcome! Your binding key is .... - Player runs
voicecraft:vcbind <key>. - Entity is mapped to player; name/description are updated.
- On player leave, entity is unbound and gets a new key.
Script events emitted:
voicecraft:onPlayerBindvoicecraft:onPlayerUnbind
Useful for custom world automation.
Effects UI (Basic)
voicecraft:vcsettings currently exposes:
- Visibility
- Proximity
- Directional
- Proximity Echo
- Echo
- Proximity Muffle
- Muffle
Effects are applied by bitmask through McApiSetEffectRequestPacket.
What to customize
- Bind/unbind policy (tags, roles, game modes).
- worldId/position/rotation update logic.
- Staff UI forms (
@minecraft/server-ui) for managing active bindings.
Known limitations in current code
- Player action menu
KickinBasicis currentlyNot implemented. Core.McWssstability heavily depends on command throughput and payload sizing limits.
Recommended setup: BDS
- Enable
McHttpConfig.Enabled = trueonVoiceCraft.Server. - Ensure
McHttpConfig.Hostnameis reachable from BDS. - Get
LoginTokenfromServerProperties.json. - Install
Core.McHttppackage. - Run
voicecraft:vcconnect <hostname> <token>. - Validate bind with
voicecraft:vcbind <key>.
Recommended setup: singleplayer/world
- Enable McWss on VoiceCraft side.
- Install
Core.McWsspackage. - Run
voicecraft:vcconnect <token>. - Keep
voicecraft:data_tunnelaligned withServerProperties.jsoncommand name.