A plugin for giving players the option to broadcast and receive long distance messages across a server using radio towers.


  • Construction of a broadcast tower for radio signals
  • Transmission of long distance messages via Radio towers
  • Ability to receive signals on specific frequencies
  • Ability to scan for signals on unknown frequencies
  • Ability to customize signal distance, clarity, and colour.

Commands & Permissions

/radio tune [frequency] to the specified [frequency]
/radio for any radio signals in range
/radio off the hand-held radio receiver


For a quickstart, check out zippe's tutorial on the MinerAp wiki.

Constructing a Radio

The most primitive radio possible is constructed by placing a jukebox, then 1 iron bar above it, then a sign on one of the sides of the jukebox with the frequency and a message.

The first line on the sign is the frequency at which the radio will broadcast at. It is written in the form [123.45], where [] are necessary brackets surrounding the frequency, and 123.45 is any valid decimal frequency. Alphabetical characters are not allowed, but any number which can fit on a sign (e.g. [0.0000000000] to [99999999999]) is valid.

Frequencies are truncated, meaning that [0.000] is the same as [0.00] and [0] But none of those are the same as the frequency [0.0010000].

Any other line on the sign holds a message. Additional signs can be placed on the radio. The frequency will only be read off of one sign, meaning that on the other signs the first line can be used to extend your message. The message on all of the signs is stitched into a single long one on broadcast.

The message ignores the fact that signs have limited space and does not split the message. In order to split your message into multiple lines, use the newline character \n.

The order of these steps DOES NOT matter. What does matter though, is that the radio receive redstone power AFTER all of the other steps have been concluded. REDSTONE COMES LAST. The radio must be receiving a constant redstone signal in order to broadcast. Radios broadcast on a time-delay, not based on how fast their redstone power is fluctuating.

Receiving a Signal

Once a radio is broadcasting, the signal it emits can be picked up by a player. To do this, the player must be holding the pipboy. By default this is the compass. The pipboy does not have to be in the player's hand to receive signals, but it must be in their hotbar. However, to perform Radio commands, the pipboy must be in the player's hand.

Once the pipboy is in the player's hand, the tune command (e.g. /radio tune 123.45 for a radio broadcasting on frequency [123.45]) will tune to that signal and broadcast to the player any signals from any nearby radios with a matching frequency.

The player can also use /radio scan which will rarely (1% chance by default) pickup a signal in-range on a random frequency.

The player can use /radio off to shut off their radio.

Enhancing a Radio

Range Boosting

Adding additional iron blocks on top of a Radio (in a vertical line, to make a radio tower) increases the range of the Radio's broadcast. With the default settings, a radio with a tower 170 blocks high will transmit in a 14000 block radius circle. The configuration for amount of boost provided with each additional iron bar is not exact, as the scale is exponential, with INCREASING returns for each additional iron bar added.

Signal Clarity

By default, a Radio's signal quality rapidly diminishes, and even after a short distance will rapidly degrade into illegibility. Adding an iron block, lapus block, gold block, or diamond block (these blocks and their values can be configured) directly above the jukebox (and underneath the iron bars) increases the signal quality.

Without one of these blocks, the signal clarity is 0%, meaning it begins to degrade at distance 0. However, iron bars also slightly increase the clarity.

By default, a gold block will keep the signal clarity at 50%. This means that if the Radio's broadcast distance is 2000 blocks, then approximately 1000 blocks away from the radio, the signal will begin to degrade, but closer than 1000 blocks to the radio it will be crystal clear. A diamond block has a clarity of 99% by default, making it the best for transmitting a powerful signal.

Colouring your Messages

You can place a coloured wool block above the jukebox to change the colour of the transmitted message. If used in conjunction with a signal clarity block, the wool block must go above the clarity block. So from bottom-to-top, jukebox, signal block, wool, iron bars is correct.


Many aspects of the plugin are configurable. At the moment, the options wallRadioPersist and userRadioPersist do nothing.

Due to a programming miscommunication, signal clarity blocks cannot be changed within the configuration at the moment.




VersionChangesCompatible Builds
1.16.0Update to
1.15.2Minimize jar size1.6.4
1.15.1Fix plugin-breaking bug introduced in
1.15.0Fix hard-coded signal clarity values1.6.4
1.14.0Fix fugue state bug1.6.2
1.11.1Initial commit1.5.2 R-1.0


All bugs and TODO information can be found on the issue tracker for this project on GitHub.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Indivisible0 Indivisible0 Jan 28, 2014 at 12:55 UTC - 0 likes

    @hiphip85: Go

    Thanks for the ideas, I'll consider them!

    @n0etics: Go

    Glad to hear that!

    @nytmaster: Go

    That is not possible.

    @nullschritt: Go

    Scan functionality on my server is meant to be a rare occurrence, and not player-dictated. I will however put that on the tracker as a future feature for an alternative scan method.

    @alphatails: Go

    Sorry, but I can't determine the conflict from that trace. If you are using any of my other plugins (BlockSaver, BookDupe, etc.), the conflict is probably there. This is because all my plugins rely on a specific API, and they will interfere with each other as I link the library into the jar. I will provide the option for an API-less jar so you can download the API separately and then the plugins will be inter-compatible. HOWEVER, I believe that currently, if the major versions of the plugins match up (i.e. 1.16.* Radio and BookDupe), then they should work.

    @Dimentio099: Go

    I'll add an option for delay, but not for randomly picked messages.


  • Avatar of Dimentio099 Dimentio099 Jan 05, 2014 at 21:45 UTC - 0 likes

    Can we add our own delay and possibly more messages picked at random in the future?

  • Avatar of alphatails alphatails Jan 02, 2014 at 04:16 UTC - 0 likes

    Not exactly sure what the ordeal is, prolly a conflict somewhere... The plugin was working great for a few days, a lot of players liked it. It is most likely a conflict with something I installed, but I'm not sure.

    Edit: I removed about ten plugins, it started working again. Not sure which one caused the error.

    Startup Dump

    [23:03:45] [Server thread/INFO]: [Radio] Enabling Radio v1.16.0 [23:03:45] [Server thread/ERROR]: Error occurred while enabling Radio v1.16.0 (Is it up to date?) java.lang.VerifyError: Bad access to protected data in getfield Exception Details: Location: com/amshulman/mbapi/commands/DelegatingCommand.registerSubcommand(Lcom/amshulman/mbapi/commands/BukkitCommand;)V @5: getfield Reason: Type top (current frame, stack[2]) is not assignable to 'com/amshulman/mbapi/commands/DelegatingCommand' Current Frame: bci: @5 flags: { } locals: { 'com/amshulman/mbapi/commands/DelegatingCommand', 'com/amshulman/mbapi/commands/BukkitCommand' } stack: { 'com/amshulman/typesafety/TypeSafeMap', 'java/lang/String' } Bytecode: 0000000: 2ab4 0026 2bb4 0084 b600 63b9 0088 0200 0000010: 9900 0dbb 0081 5912 8ab7 008d bf2a b400 0000020: 262b b400 84b6 0063 2bb9 0091 0300 572a 0000030: b400 302b b400 84b6 0063 b900 9402 0057 0000040: b1 Stackmap Table: same_frame(@29)

    at [?:?] at [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.plugin.SimplePluginManager.enablePlugin( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.m( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.g( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.a( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.init( [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at [craftbukkit-1.7.2-R0.2.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]

    Last edited Jan 02, 2014 by alphatails
  • Avatar of nullschritt nullschritt Dec 30, 2013 at 11:37 UTC - 0 likes

    Great plugin, but would be neat if you could scan for channels by right clicking the air with the pipboy in hand.

  • Avatar of nytmaster nytmaster Nov 14, 2013 at 03:35 UTC - 0 likes

    Should put in, were u can place record in jukebox so when the message gets transmitted the records plays full song. That way if you are using custom resource pack and have custom music ingame being played threw different stations..

  • Avatar of n0etics n0etics Nov 02, 2013 at 10:53 UTC - 0 likes

    @n0etics: Go

    ok so I tired it out and not only is it super easy to use, it's really cool! Thanks for the great plugin!

  • Avatar of n0etics n0etics Oct 24, 2013 at 19:31 UTC - 0 likes

    @Indivisible0: Go

    I don't need something that's too up-to-date as I'm not interested in a tutorial, I kinda jut wanted to see it in action.

    Last edited Oct 24, 2013 by n0etics
  • Avatar of hiphip85 hiphip85 Oct 22, 2013 at 15:28 UTC - 0 likes

    I've a lot of ideas for this wonderful plugin.

    • - Add RDS System: Lign 1 frequency - Lign 2 Name station - Lign 3 "relay" (optionnal if you use principal antenna) ==> allow extend of a radio for world broadcasting and detect auto frequency changements
    • - use 1 place to broadcast (if you use the RDS System) ==> Cant change ALL signs to antennas in same time
    • - use a new system to broadcast: signs is too limited. use a "microphone" (item can config.yml) that speaker should use to broadcast. Chat text transmitted to clients. or use both.
    • - allow possibility to change delay of display in chat (config.yml) ==> 5 sec flooding

    /!\ boosts blocks don't work in 1.6.2 for me. Use a lot of iron bar

    Last edited Oct 22, 2013 by hiphip85: add ideas
  • Avatar of hiphip85 hiphip85 Oct 22, 2013 at 00:29 UTC - 0 likes

    submit idea >> add the fonction to display only the better signal (for broadcast of same frequency). Radio pirates ^^

  • Avatar of Indivisible0 Indivisible0 Oct 13, 2013 at 19:09 UTC - 1 like

    @n0etics: Go

    @wezerds: Go

    There are no up-to-date videos. I will make one eventually.

    For now, if you need a simpler explanation, just read this.


Date created
Jul 03, 2013
Last update
Dec 28, 2013
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Recent files