Skip to content

Radios & Transmitters

Samuel De Oliveira edited this page Sep 30, 2026 · 3 revisions

Radios & Transmitters

The Radios & Transmitters module provides multi-channel frequency communication (walkie-talkies) with analog audio DSP filtering, push-to-talk mic clicks, and point-to-point directional transmitters across both Paper / Purpur and Fabric.


System Capabilities

1. Frequency Channels

  • Infinite range communication on specified frequency names (e.g., 145.5, police, ops).
  • Any player tuned into the channel hears transmissions regardless of world coordinates.

2. Analog Walkie-Talkie Filter & Sound Effects

  • Transmissions over radio automatically pass through an analog band-pass filter (300 Hz - 3400 Hz), delivering authentic communication audio.
  • Push-to-talk (PTT) start and end mic-click sound effects play when speaking and releasing.

3. Directional Transmitters

  • Transmitters broadcast speech to specific receiver lists with optional range restrictions.
  • Useful for intercoms, megaphones, or team squad radios.

In-Game Commands

Command Permission Description
/radio join <channel> dreamvoice.radio.use Tunes into a frequency channel.
/radio leave dreamvoice.radio.use Disconnects from active frequency channel.
/radio list dreamvoice.radio.list Lists all active radio frequency channels.
/radio remove <channel> dreamvoice.radio.admin Deletes a radio frequency channel.
/transmitter toggle dreamvoice.transmitter.use Toggles transmitter mode on or off.
/transmitter add <player> [dist] dreamvoice.transmitter.edit Adds a player to direct transmission list.
/transmitter remove <player> dreamvoice.transmitter.edit Removes a player from transmission list.

Java API & Integration (Paper & Fabric)

Service Retrieval

import fr.dreamin.dreamvoice.api.DreamVoiceAPI;
import fr.dreamin.dreamvoice.api.radio.service.VoiceRadioService;
import fr.dreamin.dreamvoice.api.radio.model.RadioChannel;
import fr.dreamin.dreamvoice.api.transmitter.service.VoiceTransmitterService;
import java.util.UUID;

VoiceRadioService radioService = DreamVoiceAPI.get().radioService();
VoiceTransmitterService transmitterService = DreamVoiceAPI.get().transmitterService();

Tuning Players Programmatically

// Ensure channel exists and tune player in:
RadioChannel channel = radioService.getOrCreateChannel("145.5");
radioService.joinChannel(playerUuid, "145.5");

// Disconnect player:
radioService.leaveChannel(playerUuid);

Transmitter Management

// Enable transmitter mode on a player:
transmitterService.createTransmitter(officerUuid);

// Add receiver with 32-block radius:
transmitterService.addReceiver(officerUuid, targetUuid, 32.0f);

Inter-Mod & Network Integration (Fabric)

Companion walkie-talkie items and radio station blocks on Fabric can interface seamlessly using packets:

  • ServerBoundRadioCreatePacket
  • ServerBoundRadioJoinPacket
  • ServerBoundRadioLeavePacket
  • ServerBoundTransmitterCreatePacket
  • ServerBoundTransmitterTogglePacket

For full packet documentation, see Network Packets & Protocols.

Clone this wiki locally