How lungmen-hkm/trainercraft works
TrainerCraft bridges BLE cycling telemetry into Minecraft Bedrock bike movement. The documented flow is sensor data into the Flutter app, speed calculation and WebSocket broadcast, then Minecraft-side speed mapping and vehicle movement. The Dart service implementations were not included in the sampled source, so their internal calls and precise message handling are represented only where the README documents the flow. Other-game adapters are a proposed extension, not an implemented subsystem in this tree.
Main entry points: ble_service.dart BLE ingestion · server_service.dart WebSocket server · main.dart App entry · main.js Speed listener and tick loop
Components 7
Flutter bridge
- BLE ingestion
app_bridge/lib/services/ble_service.dart - App entry
app_bridge/lib/main.dart - WebSocket server
app_bridge/lib/services/server_service.dart
Minecraft add-on
- Speed listener and tick loop
mc_addon/TrainerCraft-BP/scripts/main.js - TrainerCraft bike
mc_addon/TrainerCraft-BP/entities/bike.json
Other components
- BLE CSC sensor
- Bedrock runtime
Connections 7
- BLE CSC sensor → BLE ingestion: sends CSC data
- App entry → BLE ingestion: uses
- App entry → WebSocket server: uses
- BLE ingestion → WebSocket server: provides telemetry
- WebSocket server → Bedrock runtime: broadcasts over WebSocket
- Bedrock runtime → Speed listener and tick loop: delivers speed event
- Speed listener and tick loop → TrainerCraft bike: sets movement