Radio
Radio is a paper plugin for providing the best experience of interaction with broadcasting.
Benefits:
Visual
Radio is a paper plugin for providing the best experience of interaction with broadcasting.
Benefits:
- Customisable permission system (manage commands and styles that your players can use).
- Suggestions system (your players can suggest you news for broadcast).
- Flexible GUI with a lot of abilities to custom.
- Easy customization (every message used in the plugin can be edited in a config).
- Different styles for every broadcast (declare so many as you want in a config).
- Open-source (full access to the plugin code and a chance make it better).
- Smart configuration system (declare variables and then use it for easy config changes).
Visual
In next list is declared subcommands of /radio that's fully customisable.
- broadcast <style> <message> — broadcast a message in the style.
- suggest <message> — suggest a message to broadcast (require approve by admin).
- suggestions — list of suggestions in declared format.
- approve <suggestion id> <style> — broadcast suggested message in the style.
- decline <suggestion id> — decline suggestion with the id.
- reload — reload config without server reload require.
- styles — list of declared in config styles with their examples.
All permissions can be configured in related config.
- radio.execute — execute /radio command.
- radio.execute.subscommand — execute /radio subcommand.
- radio.styles.stylename — use style with name "stylename".
YAML:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# User placeholders.
# Use existent by enter {{name}} or declare a new yourself.
# Don't use placeholders in placeholders because of that will not work.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
permission-prefix: "radio.execute"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
broadcast:
# /radio <name>.
name: "broadcast"
# The permission required for execute the command.
permission: "{{permission-prefix}}.broadcast"
suggest:
name: "suggest"
permission: "{{permission-prefix}}.suggest"
suggestions:
name: "suggestions"
permission: "{{permission-prefix}}.suggestions"
approve:
name: "approve"
permission: "{{permission-prefix}}.approve"
decline:
name: "decline"
permission: "{{permission-prefix}}.decline"
styles:
name: "styles"
permission: "{{permission-prefix}}.styles"
reload:
name: "reload"
permission: "{{permission-prefix}}.reload"
YAML:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Every message related a player has {target} placeholder for the player nickname.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# User placeholders.
# Use existent by enter {{name}} or declare a new yourself.
# Don't use placeholders in placeholders because of that will not work.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
white: "§f"
red: "§c"
blue: "§9"
yellow: "§e"
gold: "§6"
gray: "§7"
dark-purple: "§5"
accent: "§f"
primary: "§7"
server-name: "FM"
server-block: "§9[§fFM§9]"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Common messages.
common:
# {millis} — measured time of config reload in millis.
reloaded:
- "{{server-block}} {{primary}}Config reloaded in {{accent}}{millis}{{primary}} millis."
# {id} — id of the suggestion that was approved.
# {from} — sender the of suggestion.
# {content} — content of the suggestion.
# {created} — date of creation the suggestion.
approved:
- "{{server-block}} {{primary}}Suggestion {{accent}}{id} {{primary}}approved."
# {id} — id of the suggestion that was approved.
# {from} — sender the of suggestion.
# {content} — content of the suggestion.
# {created} — date of creation the suggestion.
declined:
- "{{server-block}} {{primary}}Suggestion {{accent}}{id} {{primary}}declined."
# {id} — id of the suggestion that not found.
suggestion-not-found:
- "{{server-block}} {{primary}}Suggestion with id {{accent}}{id} {{primary}}not found."
no-suggestions:
- "{{server-block}} {{primary}}Good work, {{accent}}{target}{{primary}}! No more suggestions has found."
# {id} — id of the suggestion.
# {from} — id of the player that suggest it.
# {created} — the creation date and time in "dd.MM hh:mm:ss" format.
# {content} — the suggestion content.
suggestion:
- "{{blue}}[{{accent}}{id}{{blue}}] {{accent}}{from} {{gray}}{created} {{primary}}suggest broadcast {{accent}}'{content}'."
# {max-count} — max count of suggestions.
you-have-reached-max-suggestions:
- "{{server-block}} {{accent}}{target}{{primary}}, you already have {{accent}}{max-count} {{primary}}suggestions, please, wait a bit before suggest one more."
unexpected-exception:
- "{{server-block}} {{primary}}Sorry, but seems unexpected exception has occurred. Please, try again later!"
you-do-not-have-perm:
- "{{server-block}} {{accent}}{target}, {{primary}}you don't have permission to do that."
# {style} — style name.
style-not-exists:
- "{{server-block}} {{primary}}Style {{accent}}{style} {{primary}}not exists. Use {{accent}}/radio styles {{primary}}to see existing styles."
broadcast-sent:
- "{{server-block}} {{primary}}The broadcast sent to {{accent}}{{server-name}} Radio{{blue}."
suggestion-sent:
- "{{server-block}} {{primary}}Your suggestion sent to {{accent}}{{server-name}} Radio {{primary}}and will be processed in near time."
# Messages related to command (like help for command etc.).
commands:
help:
- "{{primary}}/radio suggest <your radio message> {{accent}}— suggest a message to broadcast."
- "{{primary}}/radio broadcast <style> <your radio message> {{accent}}— broadcast a message."
- "{{primary}}/radio styles {{accent}}— show broadcast styles."
- "{{primary}}/radio suggestions {{accent}}— show suggestions."
- "{{primary}}/radio approve <suggestion id> <style> {{accent}}— approve suggestion."
- "{{primary}}/radio decline <suggestion id> {{accent}}— decline suggestion."
- "{{primary}}/radio reload {{accent}}— reload plugin config."
# Help for /radio suggest.
suggest-help:
- "{{server-block}} {{primary}}/radio suggest <your radio message>."
broadcast-help:
- "{{server-block}} {{primary}}/radio broadcast <style> <your radio message>."
styles-help:
- "{{server-block}} {{primary}}/radio styles."
suggestions-help:
- "{{server-block}} {{primary}}/radio suggestions."
approve-help:
- "{{server-block}} {{primary}}/radio approve <suggestion id> <style>."
decline-help:
- "{{server-block}} {{primary}}/radio decline <suggestion id>."
reload-help:
- "{{server-block}} {{primary}}/radio reload."
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Original by vie10.
# If you're a translator just put your nickname here in "Translated to *language* by *your
# nickname*" format.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
YAML:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# User placeholders.
# Use existent by enter {{name}} or declare a new yourself.
# Don't use placeholders in placeholders because of that will not work.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
green: "§a"
dark-green: "§2"
gray: "§7"
dark-red: "§4"
white: "§f"
yellow: "§e"
permission-prefix: "radio.styles"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Styles for radio.
styles:
# An example how to declare style.
info:
# Permission that broadcaster should to have for use the style.
permission: "{{permission-prefix}}.info"
# Sets date format for {date} placeholder.
date-format: "yyyy-MM-dd"
# Sets time format for {time} placeholder.
time-format: "hh:mm:ss"
# Use {lines} placeholder for mark the line from which lines will start.
# Use {date} placeholder for provide current date in your format.
# Use {time} placeholder for provide current time in your format.
format:
- "{{green}}┌──────────────────────────────────"
- "{{green}}│ {{gray}}Open-source radio, {date} {time}."
- "{{green}}│ {{dark-green}}Information wave"
- "{{green}}├──────────────────────────────────"
- "{lines}"
- "{{green}}└──────────────────────────────────"
# Format for every line.
line-format: "{{green}}│ {{white}}{content}"
# Settings about wrap lines.
line-wraps:
# True or false.
enabled: true
# The length over that requires line wrap.
length: 50
warn:
permission: "{{permission-prefix}}.warn"
date-format: "yyyy-MM-dd"
time-format: "hh:mm:ss"
format:
- "{{dark-red}}┌──────────────────────────────────"
- "{{dark-red}}│ {{gray}}Open-source radio, {date} {time}."
- "{{dark-red}}│ {{yellow}}Warning wave!"
- "{{dark-red}}├──────────────────────────────────"
- "{lines}"
- "{{dark-red}}└──────────────────────────────────"
line-format: "{{dark-red}}│ {{white}}{content}"
line-wraps:
enabled: true
length: 50
YAML:
# The maximum count of suggestions per player.
max-per-player: 1
# Format for created date and time.
date-time-format: "dd-MM hh:mm:ss"
YAML:
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# User placeholders.
# Use existent by enter {{name}} or declare a new yourself.
# Don't use placeholders in placeholders because of that will not work.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
accent: "§f"
primary: "§7"
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
templates:
# A template example.
manage:
# The template title.
title: "Choose an action"
# The template cells count.
size: 9
# Content of the cells.
items:
# Indexes where the item will be.
"3":
# Minecraft material id, you can find its there: https://minecraft-ids.grahamedgecombe.com (required).
id: "stained_glass_pane"
# Custom name for the item (if needed).
name: "{{primary}}Decline"
# It's a glass, so can have the color (if needed).
color: "red"
"5":
id: "stained_glass_pane"
name: "{{primary}}Send to info wave"
# Mark as true if the item will be a container for data (if needed).
data: true
# Custom lore for the item (if needed).
lore:
- "{{primary}}The content will be sent to info wave on click:"
- "{{accent}}{content}"
color: "green"
"0,1,2,4,6,7,8":
id: "stained_glass_pane"
name: "{{primary}}Just a cosmetic item"
click-handlers:
# Indexes where the handler will be listening for clicks.
"3":
# Performs the command as the player that clicks.
- command: "radio decline {id}"
- command: "radio gui"
"5":
- command: "radio approve {id} info"
- command: "radio gui"
main:
title: "Radio GUI"
size: 27
items:
"0,1,2,3,4,5,6,7,8,18,19,20,21,22,23,24,25,26":
id: "stained_glass_pane"
name: "{{primary}}Just a cosmetic item"
"17":
id: "arrow"
name: "{{primary}}Next page"
"9":
id: "arrow"
name: "{{primary}}Previous page"
"10":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
"11":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
"12":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
"13":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
"14":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
"15":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
"16":
id: "paper"
name: "{{primary}}{id}"
lore:
- "{{primary}}Created {{accent}}{created} {{primary}}by {{accent}}{from}{{primary}}."
- ""
- "{{primary}}Content:"
- "{{accent}}{content}"
data: true
click-handlers:
"9":
# Moves list to previous page if it's possible.
- "PreviousPage"
"17":
# Moves list to next page if it's possible.
- "NextPage"
"0,1,2,3,4,5,6,7,8,18,19,20,21,22,23,24,25,26":
# Closes the GUI.
- "Close"
"10,11,12,13,14,15,16":
# Opens the GUI with the name if it exists.
- gui: "manage"
Last edited: