-
Notifications
You must be signed in to change notification settings - Fork 0
Wiretaps & Bugs
Samuel De Oliveira edited this page Sep 30, 2026
·
3 revisions
The Wiretaps & Surveillance module provides covert listening bugs, real-time eavesdropping subscriptions across infinite distances, and direct physical cassette recording across both Paper / Purpur and Fabric.
- Static Wiretaps: Planted on blocks, under tables, or inside vents at fixed coordinates.
-
Mobile Wiretaps: Planted covertly on entities or unsuspecting players using
/wiretap attach. The listening radius moves seamlessly with the target.
- Subscribed listeners (
/wiretap listen <name>) receive audio captured by the bug across infinite distance. - Audio packets are received privately in the listener's headphones without alerting nearby players.
- Executing
/wiretap record <name>captures audio intercepted by the bug straight to an active recording session. - Upon stopping, a physical Cassette item is generated, ready to be analyzed, archived, or played back in an interrogation room.
| Command | Permission | Description |
|---|---|---|
/wiretap create <name> [distance] |
dreamvoice.wiretap.create |
Plants a static listening bug at your location. Default radius: 12.0. |
/wiretap attach <name> <target> |
dreamvoice.wiretap.attach |
Dissimulates a bug on an entity or player. |
/wiretap detach <name> |
dreamvoice.wiretap.detach |
Detaches bug, freezing its location. |
/wiretap remove <name> |
dreamvoice.wiretap.remove |
Deletes a wiretap bug. |
/wiretap list |
dreamvoice.wiretap.list |
Lists all active wiretaps and listeners. |
/wiretap listen <name> |
dreamvoice.wiretap.listen |
Toggles live audio eavesdropping on the bug. |
/wiretap record <name> |
dreamvoice.wiretap.record |
Starts or stops recording bug audio directly to a cassette. |
import fr.dreamin.dreamvoice.api.DreamVoiceAPI;
import fr.dreamin.dreamvoice.api.wiretap.service.VoiceWiretapService;
import fr.dreamin.dreamvoice.api.wiretap.model.VoiceWiretap;
import fr.dreamin.dreamvoice.api.model.VoiceLocation;
import java.util.UUID;
VoiceWiretapService wiretapService = DreamVoiceAPI.get().wiretapService();// Create a static bug inside a room:
VoiceLocation bugLoc = new VoiceLocation("minecraft:overworld", 10.0, 64.0, -50.0);
VoiceWiretap bug = wiretapService.createWiretap("Conference_Room_Bug", bugLoc, 12.0f);
// Attach a bug to a suspect entity UUID:
wiretapService.attachToEntity("Suspect_Bug", suspectUuid);// Subscribe detective to listen live:
wiretapService.addListener("Conference_Room_Bug", detectiveUuid);
// Later unsubscribe:
wiretapService.removeListener("Conference_Room_Bug", detectiveUuid);wiretapService.removeWiretap("Conference_Room_Bug");Spy and surveillance mods on Fabric can deploy, inspect, or listen to bugs dynamically via network packets:
ServerBoundWiretapCreatePacketServerBoundWiretapDeletePacketServerBoundWiretapSubscribePacketServerBoundWiretapUnsubscribePacketClientBoundWiretapSyncPacket
For full details, see Network Packets & Protocols.