Radio icon

Radio -----

Plugin provides useful broadcast abilities



Radio
[​IMG]

Radio is a spigot plugin for providing the best experience of interaction with broadcasting.

Hey, guys using the plugin, I'll happy to see any feedback from you to know I'm on the right way.
:unsure:


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".
Code (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"
 
Code (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.
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 
Code (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
 
Code (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"
 
Code (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: [URL]https://minecraft-ids.grahamedgecombe.com[/URL] (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"
 
Resource Information
Author:
----------
Total Downloads: 508
First Release: Feb 23, 2022
Last Update: Mar 17, 2022
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings