Radio Tiers¶
A tier is a YAML file in plugins/<edition>/radios/. It defines the item, access rules, playback controls, sound behavior, hologram, particles, protection, and recipe for one radio type.
Bundled tiers¶
default-radio.yml— normal owner/trusted-player radio with a 32-block default range.admin-radio.yml— administrator-controlled radio with a 48-block default range.
Free loads only these two exact tiers. Pro can create and load additional tier files.
Creating a Pro tier¶
This creates radios/event-stage.yml from the default template. Edit it, then run:
Tier IDs may contain lowercase letters, digits, hyphens, and underscores, up to 64 characters.
Identity and texture¶
id: default-radio
display-name: "<gradient:#66ff9e:#d6ff7a>Default Radio</gradient>"
head:
texture-type: BASE64
texture: ""
texture-type accepts BASE64 or URL. A URL must point directly to textures.minecraft.net. An empty texture uses the embedded radio appearance.
Access¶
access:
place-permission: "proximityradio.use"
control-permission: "proximityradio.use"
control: TRUSTED_PLAYERS
break-owner-only: true
allow-connect: true
control accepts ADMIN_ONLY, TRUSTED_PLAYERS, or ALL. Administrative break permission always bypasses owner-only breaking.
allow-connect is a Pro-only setting. It lets an owner merge this tier's radios with /radio connect. Both radios must have the same tier and be owned by that player. proximityradio.admin.connect bypasses ownership and this setting, but never the same-tier requirement. Existing Pro tier files without this key default to false. See Connected Radios.
Playback¶
playback:
enabled-on-place: false
disable-on-server-restart: true
allow-loop: true
allow-shuffle: true
allow-skip: true
allow-previous: true
allow-pause: true
allow-seek-with-client-mod: true
pause-when-empty: false
empty-check-radius: 32.0
allowed-tracks: ["*"]
vanilla-join-behavior: WAIT_FOR_SYNC
desynchronization-alert: true
synchronization-alert: true
desynchronization-alert controls chat messages sent to vanilla listeners when their playback no longer matches the radio timeline. synchronization-alert independently controls chat messages sent when their playback synchronizes again. Both default to true, including for existing tier files where the keys are absent. Player preferences can further suppress either category; see Controls and Synchronization.
These settings affect chat alerts only. They do not hide synchronization information in the radio menu or action bar.
Use explicit track IDs instead of "*" to create a restricted station:
Sound¶
sound:
proximity: true
directional-audio: true
max-distance: 32.0
allow-distance-change: true
minimum-distance: 4.0
falloff: LINEAR
default-volume: 60
minimum-volume: 0
maximum-volume: 100
allow-global-volume-change: true
allow-private-volume-change: true
default-private-volume: 40
minimum-private-volume: 0
maximum-private-volume: 100
Shared volume belongs to the placed radio. Private volume belongs to a listener globally. Radio range is saved per placed radio and stays separate from both volume values.
Hologram and action bar¶
hologram:
enabled: true
height: 1.05
view-distance: 40.0
update-interval-ticks: 20
scale: 0.75
line-width: 360
background-color: "#900B0C18"
shadow: true
see-through: false
lines:
- "<gradient:#66ff9e:#d6ff7a><bold>{radio_name}</bold></gradient>"
- "<green><bold>{track}</bold></green> <white>{elapsed}/{duration}</white>"
- "<gray>Next:</gray> <yellow>{next_track}</yellow>"
action-bar:
enabled: true
Hologram placeholders include:
{radio_name} {tier} {state} {track} {artist}
{elapsed} {duration} {remaining} {next_track}
{volume} {listeners} {next_sync} {desynchronized}
{loop} {shuffle}
Particles and protection¶
grief-prevention:
protect-from-pistons: true
protect-from-explosions: true
protect-from-entity-block-changes: true
particles:
enabled: true
interval-ticks: 10
view-distance: 32.0
ambient-area:
enabled: false
interval-ticks: 40
radius: 6.0
particles-per-burst: 3
Protection also covers the block supporting a floor or wall radio.
Crafting recipe¶
crafting:
enabled: true
ingredients:
1: "minecraft:iron_ingot"
2: "minecraft:copper_ingot"
3: ""
4: "minecraft:note_block"
5: "itemsadder:myitems:radio_core"
6: "minecraft:amethyst_shard"
7: ""
8: "minecraft:redstone"
9: ""
Slots match a 3×3 crafting table:
Supported prefixes are minecraft: and itemsadder:/ia:. Custom ingredients use exact item matching.