promotional bannermobile promotional banner

Blank DG-LAB

把 DG-LAB 郊狼连入 Minecraft,每一次受伤、坠落和死亡都会化为真实触觉反馈。Connect your DG-LAB Coyote to Minecraft and feel every hit, fall, and death as real haptic pulses — a serious immersion tool, nothing else.

Blank DG-LAB

Connect your DG-LAB Coyote 3.0 device to Minecraft for real-time, game-driven haptic feedback.


Blank DG‑LAB is a client‑side mod for Minecraft that transforms in‑game events into physical haptic pulses via the DG‑LAB Coyote 3.0 device. Feel every hit, every fall, every close call – and now, feel every turn, climb, and engine roar with deep Create & Aeronautics integration.

This is a haptic / biofeedback peripheral mod. It contains no sexual themes, NSFW elements, or age‑restricted material. All feedback is purely based on in‑game damage, player actions, and vehicle physics.


✨ Features

🔗 Connection

Feature Description
QR Code Pairing Embedded WebSocket server generates a QR code; scan it with the DG‑LAB App to connect instantly
No External Backend The mod runs its own WebSocket server internally – no Node.js or separate backend needed
Auto Port Detection Automatically finds available ports, with a randomize button for quick changes
Reconnection Support Automatically attempts to reconnect if the app disconnects
IP Input Sanitization Handles Chinese punctuation and full‑width numbers in manual IP entry

🌐 Multiplayer (Damage Exchange)

Multiplayer damage exchange lets damage events flow between players – a great way to enrich co‑op interaction. The mode is server‑authoritative, so everyone agrees on it.

Feature Description
Master Switch Global multiplayer damage‑exchange toggle (default: on)
Random Forwarding (RANDOM) A public "random pool": empty by default – players must mutually invite and accept in a popup to join; damage is forwarded randomly only among pool members; no forwarding if you are not in the pool. Any player can always act as a receiver. The same receiver is locked for a single damage event (including the zeroing pulse) so intensity never gets stuck and fails to fade
Chain Targeting (CHAIN) Each player can set their own forwarding target, supporting cyclic chains (A→B→C→A) and multiple players pointing at the same person; received intensity only drives your own device/display and is never forwarded again, avoiding chain amplification
Notification Rules (only relevant people) The victim gets "Your damage was randomly forwarded to XXX"; the selected receiver gets "XXX was hurt – intensity sent to you: A=.. B=.. (lasts N seconds)"; everyone else gets nothing. Continuous damage (fire/poison, etc.) is rate‑limited to avoid spam; duration is shown in seconds
Damage Transfer The victim still takes normal damage; the intensity is forwarded to the receiver, who only feels the intensity and takes no extra damage
No‑Hardware Participation (server‑authoritative) A player with no Coyote hardware connected and "Allow no‑hardware participation" off is automatically removed from multiplayer with a notice. A link forms only when both sides have hardware connected, or both enable "Allow no‑hardware participation"; otherwise the link is rejected on creation, and an established one auto‑disconnects with a notice to both sides
Host Admission Policy The host can control how players without this mod are handled (default: allowed to join)
Multiplayer Panel Open directly in‑game with G (also reachable from the main menu): a scrollable online‑player list; pool "invite/leave"; "set/clear forwarding target"; "release control" (a controlled player can release another player's control over them without the other's action); "global preset sync" entry
Global Preset Sync Requires OP permission, at most once every 10 seconds; the initiator reports the results of all participating players grouped and sorted by "declined / accepted"; receivers get an accept/decline popup; accepting applies the preset and channel mode
Controlled‑Player Combat Notice When a controlled player is hurt, the corresponding intensity value is shown in chat (toggleable)
HUD Multiplayer Link Inside the dark semi‑transparent panel, below the "Coyote connected/disconnected" status line, shows your own chain "previous → you → next" (missing parts omitted)
Coyote Connection Icons Shows a Coyote connection status icon before the player's name above their head and before names in the vanilla Tab player list (green = connected, gray = not connected with a red slash); each has its own toggle (default: on)

✈️ Vehicle Integration (Create + Aeronautics)

Requires the respective mods; integration features auto‑hide when absent, without affecting base features.

  • Create: Aeronautics: vehicle speed / steering / altitude / collision map to haptic intensity, with a fading pulse on balloon damage; includes Light / Medium / Strong / Extreme presets and a custom curve.
  • Create: engine RPM vibration, overheat/damage alert pulses, and mechanical‑operation micro‑vibrations.

⚡ Damage & Status Detection

Category Description
Combat Damage Independent multiplier, min/max strength, and pulse duration for each damage type
Damage Types Generic, Projectile, Fire, Fall, DoT, Magic, Explosion, Drown, Environmental, Death, Attack, Block Break
Low Health Trigger Continuous pulses below max health (independent strength per 10% lost)
Low Hunger Trigger Continuous pulses below max hunger (independent strength per 10% lost)
Absorption Hearts Golden apple absorption counts as effective health
Creative/Spectator Immunity All haptic feedback automatically disabled in creative or spectator mode
Pause Detection Health/hunger checks paused when the game is paused (ESC)

📊 Strength System

Feature Description
Single Max‑Strength Limit Strength uses the in‑game Max Strength (default 40) as the sole cap (no longer depends on the APP‑reported limit); APP‑side limits must be set manually and cannot be synced
A/B Independent Channels Each channel is tracked independently
Float Precision Stacking All damage contributions use float arithmetic, rounded only at final output
Auto Clamping Output strength never exceeds Max Strength

🖥️ HUD Display

Feature Description
4 Visual Styles BAR, WAVE, PULSE, NUMBER
Draggable Position In‑game HUD editor with drag‑and‑drop positioning
Adjustable Scale 0.5× to 2.0× zoom
Smooth Animation Linear interpolation: fast rise on damage, gradual fall on recovery
Connection Status Shows "✓ Connected" or "✗ Disconnected"
Pause‑Aware Wave and pulse animations freeze when the game is paused
Semi‑transparent Background Light overlay for readability on any scene

⚙️ Configuration (YACL)

Feature Description
Quick Access Press B to open the main menu (HUD position editor, Multiplayer Panel, QR Code Connect, Back to Game); press G to open the Multiplayer Panel directly, or access YACL directly
Fine Tuning Independent multiplier, min, max, and duration for each damage type
Preset System Save, load, import, and export strength presets (scrollable list)
Built‑in Presets Light, Medium, Heavy, Extreme – ready out of the box
Safe Import Confirmation dialog when importing presets that exceed current limits

🌍 Current Version Support

Protocol Minecraft Loader Status
V4 26.1 / 26.1.1 / 26.1.2 / 26.2 / 26.3 Fabric / NeoForge ✅ Released
V4 1.21.11 Fabric ✅ Released
V4 1.21.1 NeoForge ✅ Released
V4 1.20.1 Fabric / Forge ✅ Released

Note: A Create Edition (Create integration special edition) is also available for 1.21.1.


📋 Requirements

Required Software

Item Requirement
Minecraft 26.1 / 26.1.1 / 26.1.2 / 26.2 / 26.3 / 1.21.11 / 1.21.1 / 1.20.1
Mod Loader Fabric ≥ 0.18.0 / NeoForge / Forge
API Fabric API / NeoForge / Forge (no separate API required)
YACL ≥ 3.9.0+26.1-fabric (26.x)
≥ 3.9.0+1.21.1-neoforge (1.21.1)
Java ≥ 25 (26.x) · ≥ 21 (1.21.x / 1.20.1)

The Fabric API version must match your Minecraft version; just choose the latest YACL version for your loader.

Optional Dependencies

Mod Purpose
Create Enables engine vibration and mechanical feedback
Create: Aeronautics Enables speed, steering, altitude, and collision feedback
CC:Sable Improves Aeronautics vehicle detection accuracy (recommended)

Hardware

  • DG‑LAB Coyote 3.0 device
  • A mobile phone with the official DG‑LAB 4.0+ App

🚀 Quick Start

Step Action
1 Drop blankdglab-<version>.jar into your mods folder (and install loader dependencies)
2 (Optional) Install Create and/or Aeronautics for full vehicle feedback
3 Press B in‑game to open the main menu
4 Click "QR Code Connect", then scan the QR code with the DG‑LAB App
5 In the App's SOCKET Control page, tap the + button on the A/B channel limits to set your desired maximum
6 Select your preferred waveform in the App, then tap the Start button
7 Start playing – the HUD showing "✓ Connected" means everything is ready

⚠️ Important (latest version): To respect your waveform choice, the mod only sends digital strength values – it does not send waveforms. The signal is sent only after you select the waveform you want and tap the Start button in the App; the device will then output the haptic feedback.


⚙️ Configuration

All settings are accessible via B → main menu → settings, or directly through YACL.
Configuration is saved to config/blankdglab.json.

Connection Settings

Setting Description Default
Server Port Embedded WebSocket server port 8877
Manual IP Override auto‑detected IP (leave empty for auto) -
Channel Mode Dual / A only / B only; with A only the B cap is grayed out, and vice versa Dual
Max Strength Game‑side strength cap (sole limit) 40
Min Strength Minimum pulse strength 0
Sync A/B Channels Send combined strength to both channels true

Port fallback: The default port is 8877. If it is occupied, the mod falls back automatically – it first tries 20000–21000, then ports near the configured one, and finally 8877–8900; if all are occupied it reports a clear error. The QR screen provides a "randomize port" button (random within 20000–20999, avoiding the system's dynamic port range). If it falls back into the 20000 range, the actual port is written back to the config and saved, keeping "configured port / displayed port / QR content" consistent.

Multiplayer Settings

Setting Description Default
Multiplayer Damage Exchange Global multiplayer toggle On
Forwarding Mode Random / Chain Random
Players Without Mod Host admission policy (allow to join, etc.) Allow
Allow No‑Hardware Participation Join multiplayer without hardware connected On
Controlled‑Player Damage Notice Chat notice when receiving forwarded intensity On
Coyote Icon on Nametag Show connection icon before the name above the player's head On
Coyote Icon in Player List Show connection icon before the name in the Tab list On

Damage Feedback

Each damage type has independent settings for the following three items:

Setting Description
Enable Toggle haptic feedback for this damage type
Strength A / B Pulse strength for channel A and B
Pulse Duration Pulse duration in milliseconds

Supported types: Generic, Projectile, Fire, Fall, DoT, Magic, Explosion, Drown, Environmental, Death, Attack, Block Break

Status Feedback

Setting Description Default
Low Health Feedback Pulse when below max health true
Low Health Strength / 10% Strength per 10% health lost 5
Low Health Pulse Interval Milliseconds between pulses 2000
Low Hunger Feedback Pulse when below max hunger false
Low Hunger Strength / 10% Strength per 10% hunger lost 3
Low Hunger Pulse Interval Milliseconds between pulses 3000

Aeronautics Feedback

Requires the Create: Aeronautics mod

Setting Description Default
Speed Feedback Vehicle speed maps to vibration intensity true
Steering Feedback Extra pulses based on angular velocity true
Altitude Feedback Vertical speed controls intensity true
Collision Feedback Instant strong pulse on impact true
Engine Vibration RPM maps to continuous vibration true
Fault Warning Alert pulse on engine damage true
Balloon Damage Fading pulse on balloon breach true

HUD Settings

Setting Description Default
Show HUD Toggle HUD visibility true
HUD Style BAR / WAVE / PULSE / NUMBER BAR
HUD Layout VERTICAL / HORIZONTAL VERTICAL
HUD Position Drag‑and‑drop in HUD editor Left, 30% from top
HUD Scale 0.5× – 2.0× 1.0

Enjoy your haptic Minecraft journey! 🎮

📡 How it Works

Minecraft → Embedded WebSocket Server → DG‑LAB App (phone) → Bluetooth → Coyote Device

The mod embeds a WebSocket server that implements the DG‑LAB SOCKET V4 protocol. When you scan the QR code, the DG‑LAB App connects directly to the mod – no external backend or Node.js server needed. The mod sends structured strength and pulse commands which the App relays to the device via Bluetooth; the waveform itself is chosen by you in the App – the mod never writes waveforms to the App, so the sensation always matches your preference.

For Create/Aeronautics integration, the mod reads vehicle physics data (speed, angular velocity, altitude, RPM) in real time and maps them to haptic intensity using your configured curves.


🔮 Future Plans

✅ Completed

  • Multi‑version support – 26.x (Fabric / NeoForge), 1.21.11, 1.21.1, and 1.20.1 (Fabric / Forge) are all supported.
  • Socket protocol rewrite (V2 → V4) – All versions have been rewritten on the V4 protocol and released.
  • t:4 intensity control fix – All versions use SetTempIntensity absolute strength control, fixing strength stacking over‑limit and missing real output issues.
  • Server‑specific gameplay (damage transfer) – Implemented: the multiplayer damage‑exchange system (random forwarding pool / chain targeting / no‑hardware participation / global preset sync).

📋 Planned

  • Continued maintenance – Maintaining released branches, fixing known issues, and improving performance.
  • Version tracking – Following official Minecraft updates and adding compatibility with future versions.
  • Ecosystem integrations – Exploring additional mod integrations based on community feedback.

❓ FAQ

Q: Is this mod allowed on servers?
A: Depends on the version. Versions without the multiplayer damage exchange feature are client‑side only – they affect only your own machine, do not interact with server logic, and need no server‑side installation, so they are normally not considered a violation. Versions that include it (currently only 26.1~26.2) are client + server mods and do introduce server‑side interaction (server‑authoritative forwarding, admission rules, and preset sync), so server‑side cooperation is required and no guarantee can be given that they will not get you banned.

Q: Will it get me banned?
A: Client‑side‑only versions provide no unfair advantage and do not modify server packets, so they normally will not. However, versions that include the multiplayer damage exchange feature (currently only 26.1~26.2) send and receive custom payloads and interact with server‑side logic, so no guarantee can be given – the same will apply if the feature is later added to other versions. Please follow the rules of the server you play on.

Q: Do I need to run a separate backend?
A: No. The mod has its own embedded WebSocket server – just scan the QR code and connect.

Q: Why are the A/B channel limits 0 in the APP?
A: The SOCKET protocol provides no command to set APP‑side limits. After connecting, go to the APP's SOCKET Control screen and manually tap the + button on both A and B channel limits to set them to your desired maximum.

Q: The APP shows strength but there is no actual output – why?
A: In the latest version, to respect your waveform choice, the mod only sends digital strength values and does not send waveforms. Please select the waveform you want and tap the Start button in the APP – only then will the signal be sent and the device output haptic feedback.

Q: Can I use it with other haptic devices?
A: Currently only the DG‑LAB Coyote 3.0 is supported via the official SOCKET protocol.

Q: Do I need Create or Aeronautics for the mod to work?
A: No. Both are optional. Without them, the mod still provides full damage‑based haptic feedback. Flight features are an extra bonus.

Q: Found a bug / have a suggestion – where do I report it?
A: Please open an issue in the GitHub Issues tracker. I follow up on every report.

Q: When scanning the QR code, the App shows "network error – please try again later" but it still connects fine. Why?
A: This is a prompt from the phone‑side DG‑LAB App itself, unrelated to the mod and harmless. The QR content points to an online domain prefix (dungeon-lab.cn); if the phone cannot reach the internet at that moment (LAN only, DNS failure, etc.), the App shows this prompt first – but the actual LAN address to connect to is embedded in the QR parameters, so the App can still read it and connect normally to the mod's WebSocket server. That's why "it warns yet still works". Making the phone able to reach the internet removes the prompt.

Q: How do I use multiplayer damage exchange? What's the difference between random forwarding and chain targeting?
A: See the "Multiplayer (Damage Exchange)" section above – the random pool requires an invitation and popup acceptance to join, and damage is forwarded randomly among pool members; chain targeting requires each player to set their own forwarding target.

Q: Do forwarded / controlled players lose health?
A: No. The victim takes normal damage; the receiver only feels the intensity and takes no extra damage.


💬 Support & Feedback

Entry Description Link
📦 Repository Source code & Releases Blank-DG-LAB Repository
🐛 Issue Tracker Report bugs, request features, share ideas Issues
📖 Wiki Guides, FAQ & detailed documentation Wiki

⭐ Like this mod? Feel free to hit Star on GitHub to show your support – meow! 🐱


📜 License

This mod is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0). See the LICENSE file for details.


🤝 Acknowledgements

  • DG‑LAB for providing the open‑source SOCKET communication protocol
  • The Fabric team for the excellent modding toolchain
  • The NeoForge / Forge teams for their dedication to the community‑driven loader ecosystem
  • YetAnotherConfigLib for the clean configuration GUI framework
  • The Create and Aeronautics teams for their incredible mods that made this integration possible

Enjoy your new level of immersion – responsibly!

Last updated: October 2026 | Supports Minecraft 26.1 / 26.1.1 / 26.1.2 / 26.2 / 26.3 / 1.21.11 / 1.21.1 / 1.20.1 | Summer 2026 Edition

Blank DG-LAB Team

profile avatar
  • 3
    Projects
  • 1.5K
    Downloads

More from KongBaiBurst

  • No Narrator project image

    No Narrator

    No Narrator 是一个轻量的客户端 模组,它可以禁用用于切换内置旁白的 Ctrl+B 快捷键,防止意外启动。No Narrator is a lightweight client-side Minecraft mod that disables the Ctrl+B Narrator toggle, preventing accidental activation. It doesn’t affect other keybinds and needs no configuration

    • 529
    • October 11, 2026
  • VoidAuth project image

    VoidAuth

    这是一个新生代的可视化GUI登录模组。This is a next-generation visual GUI login module.

    • 42
    • June 2, 2026
  • No Narrator project image

    No Narrator

    No Narrator 是一个轻量的客户端 模组,它可以禁用用于切换内置旁白的 Ctrl+B 快捷键,防止意外启动。No Narrator is a lightweight client-side Minecraft mod that disables the Ctrl+B Narrator toggle, preventing accidental activation. It doesn’t affect other keybinds and needs no configuration

    • 529
    • October 11, 2026
  • VoidAuth project image

    VoidAuth

    这是一个新生代的可视化GUI登录模组。This is a next-generation visual GUI login module.

    • 42
    • June 2, 2026