⭐ Survey Plus | ⚡️ Get useful feedback from players!

 ⭐ Survey Plus | ⚡️ Get useful feedback from players! 2.7.5

fb175a7dfd9e50f8e52f00c530f0cdd703057b3b

Do you no longer want to redirect people to the internet to answer your surveys? Do you want to get players' feedback in-game?
Survey plus is the in-game Minecraft survey solution!

Improve your server today by collecting useful feedback from your players!
1f3ef547a7ba751508daf8c02ad935bb165e0d57

  • 3 Different survey types (Inventory GUI, Chat Survey and Book survey)
  • Easy in-game editor. Configure everything using the in-game GUI menu for maximum convenience.
  • View survey results in-game.
  • Custom rewards for players that finish a survey. (Custom for every survey!)
  • NEW SQLite storage for single servers.
  • MySql storage for networks
  • Configure the surveys to make them unique for your server.
  • Target specific servers or server groups in your network.
  • NEW Only target a certain group of players using permissions.
  • NEW Cooldown on featured survey display (across servers)
  • Fast & without any lag. Programmed for minimal server impact.
  • NEW Export survey results to JSON.
Question types supported:
  • Open questions
  • Closed questions (yes / no)
  • Select question (select one of the options)
  • Multiple questions (select 0 or more options)
8cd38b0c1bd5179fc3d5a8b31c2028ef777fbf5d


Example of a BOOK survey
bf1fb28b9a3f3833b04febb91ad72e8cd62e2e98
(Layout and colors can be changed!)

Example of a GUI survey
a51cc03818048fb9d7a7ac1b3c8dc25671ea38e5

(Layout and colors can be changed!)

Example CHAT survey
77e9914c911a98ba61151479683bd85d200574db

(Layout and colors can be changed!)

A passive way to serve surveys to players:
8538b3419cecd856b0d122798286c851d549b644

(Layout and colors can be changed!)

Or have them pop-up when someone joins the server:
0ddb6add72c445c51819737b52bcf1de7c1ea16d

ad8ee4290693a9cfab6459562a8e515aaf8b9e23

  1. Download the surveyplus.jar
  2. Drop the jar in your plugin folder and start the server.
  3. Stop the server and configure the config.yml (MySql, SQLite)
  4. Start your server again.
  5. Use /sp menu to open the survey editor.
  6. Create your first survey.
  7. Activate the survey and collect feedback!
  8. Enjoy
    :D
    😀
c021388d51c0b3dcec1c7c71a6eead7fdc0ece5e

There is only 1 config that contains all the data. An example config can look like this: (this is the default config)

YAML:
#   ___                                     _  _              ___     _
#  / __|   _  _      _ _   __ __    ___    | || |            | _ \   | |    _  _     ___
#  \__ \  | +| |    | '_|  \ V /   / -_)    \_, |            |  _/   | |   | +| |   (_-<
#  |___/   \_,_|   _|_|_   _\_/_   \___|   _|__/            _|_|_   _|_|_   \_,_|   /__/_
#_|"""""|_|"""""|_|"""""|_|"""""|_|"""""|_| """"| {======|_| """ |_|"""""|_|"""""|_|"""""|
#"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
#
#       A survey solution for networks and single servers by MartenM
#
#"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'./o--000'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'
#

# The server name specified here in the config is used to target the featured survey option.
# Server names don't have to be unique. This means that all servers in 1 group can carry the same name.
server_name: GLOBAL

# Database settings
# Specify the used database here.
# Possible options: "SQLite, mysql"
database_option: "SQLite"
mysql:
  user: root
  password: ''
  port: 3306
  host: localhost
  database: mc
SQLite:
  file_name: surveyData

# Used to define the default language file for easy use.
# Default is English.
language: "English"

# Featured settings
featured:
 # Timeout between the event and the presentation of the featured survey.
  # (in minecraft ticks: 20 ticks = 1 second)
  timeout: 20
  # Show a featured survey on server join.
  on_join: true

# Interfaces for different survey types.
interface:

  # Universal sound settings
  sounds:
   # Configure sound settings, values like "none" "" will be ignored.
    feature_popup: "ENTITY_CAT_AMBIENT 1 1.5"
    next_question: "BLOCK_NOTE_BLOCK_XYLOPHONE 0.8 1"
    toggle_answer: "BLOCK_STONE_BUTTON_CLICK_ON 0.7 3"
    click: "BLOCK_STONE_BUTTON_CLICK_ON 1 3"
    finish_survey: "ENTITY_PLAYER_LEVELUP 0.3 0.5"
    error: "BLOCK_NOTE_BASS 1 0.5"

  ######################################################################
  #                                                                    #
  #                      Chat interface settings                       #
  #                                                                    #
  ######################################################################
  chat:
   # General settings for this survey interface
    settings:
      chat_clear_rows: 20
      spacing: "          "

    # General UI settings
    general:
      hover_answer: "&eClick to answer&e: %option%"
      header:
       - "       &e&l%question%"
        - " "
      footer:
       - " "

    #
    #  Start of per question specifications
    #
    open:
      hint_message: "&e   Please type your answer in the chat!"
    closed:
      yes_option: "&7> &a&lYES"
      no_option: "&7> &c&lNO"
    select:
      format: "&7> &0 %option%"
      # Footers can be overridden for each question type!
      # The same holds for headers.
      footer:
       - "&7 Click an answer to proceed"
    multiple:
      format_selected: "&a&l✓&r &e %option%"
      format_unselected: "&7● &e %option%"
      # Footers can be overridden for each question type!
      # The same holds for headers.
      hover_selected: "&eClick to &cdeselect&e: %option%"
      hover_unselected: "&eClick to &aselect&e: %option%"
      hover_next: "&eClick to move to the next question"
      next_question:
       - " "
        - "        > &a&lNext question&r <"
    finish_screen:
      text:
       - "&aThanks for filling in this survey"
        - "&aUsing your feedback we will make sure to improve our server in the future"
        - " "
        - "&7You have been given some rewards for finishing the survey"
    featured_screen:
      text:
       - "      &6&lWe are hosting a survey!"
        - " "
        - "      &l%name%"
        - "      &7%description%"
        - " "
        - "<START>"
        - " "
      start_text: "     &a&lStart survey"
      start_hover: "&7Click to &astart &7the survey"

  ######################################################################
  #                                                                    #
  #                      Book interface settings                       #
  #                                                                    #
  ######################################################################
  book:
    general:
     # Adds a little space before answer entry.
      answer_spacing: " "
      hover_answer: "&eClick to answer&e: %option%"
      header:
       - "&lQuestion:"
        - "%question%"
        - " "
        - " "
    open:
      hover_text: "&aClose the book"
      content:
       - "&lClose the book and type your answer in chat."
      chat_content:
       - " "
        - "&7&e Type your answer in chat!"
        - " "
    closed:
      yes_option: "&7> &2&lYES"
      no_option: "&7> &4&lNO"
    select:
      format: "&7>&0 %option%"
    multiple:
      format_selected: "&2&l✓&r&0 %option%"
      format_unselected: "&7● &0%option%"
      hover_selected: "&7Click to &cdeselect&7: %option%"
      hover_unselected: "&7Click to &aselect&7: %option%"
      hover_next: "&7Click to move to the next question"
      next_question:
       - " "
        - "  > &1&lNext question&r <"
    finish_screen:
      text:
       - "&2&lThanks for filling in this survey"
        - " "
        - "&0Using your feedback we will make sure to improve our server in the future"
        - " "
        - "&0You have been given some rewards for finishing the survey."
    featured_screen:
      text:
       - "&1&lWe are hosting a survey!"
        - " "
        - " &l%name%"
        - " %description%"
        - " "
        - "    <START>"
        - " "
      start_text: "&2&lStart survey"
      start_hover: "&7Click to &astart &7the survey"
      # Use <CLOSE> to create a close button.
      close_text: "&c&lClose"
      close_hover: "&7Click to close this pop-up"

  ######################################################################
  #                                                                    #
  #                      Inventory interface settings                  #
  #                                                                    #
  ######################################################################
  inventory:
    general:
      size: 45
      # Header items that display the question
      # Placeholders: %username% %question%
      extra_items:
        q1:
          material: ITEM_FRAME
          slot: 12
          name: "&7Question:"
          lore:
           - "%question%"
        q2:
          material: ITEM_FRAME
          slot: 13
          name: "&7Question:"
          lore:
           - "%question%"
        q3:
          material: ITEM_FRAME
          slot: 14
          name: "&7Question:"
          lore:
           - "%question%"
      # Distribution of answer items
      distribution:
       - 31
        - 30 32
        - 30 31 32
        - 29 30 32 33
        - 29 30 31 32 33
        - 28 29 30 32 33 34

    # Settings per question type
    open:
      material: WRITTEN_BOOK
      name: "Open the chat and type your answer"
      lore:
       - " "
        - "&7There is also an message in chat to help you answer :)"
    closed:
      yes_option:
        material: LIME_CONCRETE
        name: "&a&lYes"
        lore:
         - " "
          - "&7Click to answer &ayes"
      no_option:
        material: RED_CONCRETE
        name: "&c&lNo"
        lore:
         - " "
          - "&7Click to answer &cno"
    multiple:
      selected:
        material: YELLOW_CONCRETE
        name: "&e%option%"
        lore:
         - " "
          - "&7Click to &ede-select&7 %option%"
      un_selected:
        material: LIGHT_GRAY_CONCRETE
        name: "&f%option%"
        lore:
         - " "
          - "&7Click to &aselect&7 %option%"
      next_question:
        slot: 44
        material: ARROW
        name: "&aNext question"
        lore:
         - " "
          - "&7Click to move to the next question"
    select:
      material: ORANGE_CONCRETE
      name: "&f%option%"
      lore:
       - " "
        - "&7Click to answer"
    finished_screen:
      general:
        size: 36
        name: "&lThanks for participating"
      items:
        thanks1:
          slot: 21
          material: "GOLD_INGOT"
          name: "&6&lThanks for your help!"
          lore:
           - " "
            - "&7With your feedback we can improve the server!"
            - "&7You have been &6rewarded&7 for your participation."
        thanks2:
          slot: 22
          material: "GOLD_BLOCK"
          name: "&6&lThanks for your help!"
          lore:
           - " "
            - "&7With your feedback we can improve the server!"
            - "&7You have been &6rewarded&7 for your participation."
        thanks3:
          slot: 23
          material: "GOLD_INGOT"
          name: "&6&lThanks for your help!"
          lore:
           - " "
            - "&7With your feedback we can improve the server!"
            - "&7You have been &6rewarded&7 for your participation."
    featured_screen:
      general:
        size: 36
        name: "&lPlayer feedback: %survey_name%"
      start_items:
        start1:
          slot: 30
          material: "LIME_CONCRETE"
          name: "&a&lStart survey"
          lore:
           - " "
            - "&7Click here to start the survey"
        start2:
          slot: 31
          material: "LIME_CONCRETE"
          name: "&a&lStart survey"
          lore:
           - " "
            - "&7Click here to start the survey"
        start3:
          slot: 32
          material: "LIME_CONCRETE"
          name: "&a&lStart survey"
          lore:
           - " "
            - "&7Click here to start the survey"

      extra_items:
        extra1:
          slot: 13
          material: "DIAMOND"
          name: "&l&bGive feedback & get epic rewards"
          lore:
           - " "
            - "%survey_description%"
            - " "
            - "&7Answer the questions in the survey"
            - "&7and receive &bepic &6rewards&7."


######################################################################
#                                                                    #
#               Available survey interface settings                  #
#                                                                    #
######################################################################
available_surveys:
 # General settings like size and inventory name
  general:
    inventory_name: "&lAvailable surveys"
    inventory_size: 45

  # Settings about the items used to display available surveys.
  survey_item:
    material: "WRITABLE_BOOK"
    name: "&6&l%survey_name%&r"
    lore:
     - " "
      - "%survey_description%"
      - " "
      - "&7Click to start the survey"

  # If no surveys are available this item will be shown instead.
  none_available:
    slot: 31
    material: "BARRIER"
    name: "&cNo survey available"
    lore:
     - " "
      - "&7No new surveys are available!"
      - "&7Please check back later."

  # Distribution of surveys across the inventory.
  distribution:
   - 31
    - 30 32
    - 29 31 33
    - 29 30 32 33
    - 29 30 31 32 33

  # Add any extra items here. These will be overwritten by the survey
  # items if they are in the same slot.
  extra_items:
    hint_item:
      slot: 13
      material: "GOLDEN_APPLE"
      name: "&a&lHelp us improve the server"
      lore:
       - " "
        - "By answering surveys you"
        - "give us useful feedback."
        - " "
        - "With that feedback we can"
        - "make improvements to the server!"
        - " "
        - "&7Finishing a survey will give you rewards"
    fancy_1:
      slot: 12
      material: "GOLD_NUGGET"
      name: "&a&l>"
    fancy_2:
      slot: 14
      material: "GOLD_NUGGET"
      name: "&a&l<"

######################################################################
#                                                                    #
#                         Survey reminders                           #
#                                                                    #
######################################################################
survey_reminders:
 # If this setting is set to false no reminders will be send
  # even if in the database this setting is set to true.
  enabled: true
  # Rest of the settings for reminders is in the database.
  messages:
   - " "
    - "    &6&lYou have an ongoing survey left open!"
    - "    &eClick here to continue."
    - " "
  hover_text: "&7Click to &acontinue &7with the survey."

769030015bdddfea15eaab67f5a851c57b671e9d

  • /survey /surveys - Opens the available survey menu
  • /answer - Give an answer to the currently asked question. (Mostly used to give support for the book and chat surveys. You will NOT be typing this command manually.)
  • /sp - Shows the survey plus help
  • /sp menu - Opens the survey list menu for editing.
  • /sp start <id> (playername) - Start the survey. The optional parameter is the target player's name.
There are very few commands to this plugin. The reason for that is that it features a whole in-game editor using inventories instead of a command-based system.

082f399f61dd4ffb4470e79076bfeef4489fd5c0

Code:
// Root
surveyplus.open.menu - Open the editor
surveyplus.open.available - Open the survey start screen

// Editor
surveyplus.edit.survey.create
surveyplus.edit.survey.name
surveyplus.edit.survey.description
surveyplus.edit.survey.rewards
surveyplus.edit.survey.type
surveyplus.edit.survey.questions
surveyplus.edit.survey.featured
surveyplus.edit.survey.available
surveyplus.edit.survey.servertarget
surveyplus.edit.survey.start
surveyplus.edit.survey.permission

// danger zone
surveyplus.edit.survey.reset
surveyplus.edit.survey.delete

// Commands
surveyplus.cmd.settings
surveyplus.cmd.survey.start.other

// base node for starting a survey with permission enabled.
surveyplus.survey.start.<ID>

// Access to certain views
view.survey.advanced
view.survey.results;

Survey-specific permissions may be a feature addition if people are needing this.

0f3d93e9806944a183cfc4bf824b7895ee6f06db

In order to use the API you first need to install the surveyplus-api.jar into your local maven repository.

After that, you can use the SurveyPlusAPI class.
You can get an instance of this class using the services manager in Bukkit.
Java:
public class DependentPlugin extends JavaPlugin {

    @Override
    public void onEnable() {
        SurveyPlusAPI myAPI = Bukkit.getServicesManager().load(SurveyPlusAPI.class);
    }

}

SurveyPlusAPI JavaDoc: https://martenm.nl/jdoc/surveyplus/nl/martenm/surveyplus/api/SurveyPlusAPI.html
Full JavaDoc: https://martenm.nl/jdoc/surveyplus/

1ff2678e61f804210fc25e268cad5e4af8b1a130

These are items I have planned for future updates:

  • Allow people to answer a survey multiple times.
  • Schedule surveys
  • More options for when a user should be able to answer a survey.
  • Export survey results to a flatfile.Done!
  • Reminder when someone leaves his survey. Done!
  • Add a stable developer API. Done!
  • Add survey settings table for global changes. Done!
  • More features.
8f7595331a2de8a24cb61c8469523077376e6044

Latest reviews

You have version 1? (For support of 1.8)

Similar resources

⭐ Survey Plus | ⚡️ Get useful feedback from players! Dekomori
Get feedback using in game surveys! In game editor and result viewer!
0.00 star(s) 0 ratings
Downloads
426
Updated
(-20% off for first 10 buyers) ⭐ ChatTags ⭐ THE BEST TAGS/TITLES PLUGIN [1.7.x-1.12.x] B
5.00 star(s) 1 ratings
Downloads
516
Updated
1.13 - 1.19.3 ⭐ MiniaturePets - Custom Companions ⭕ Your Own Custom 3D Pets ✅ 30% SALE MikeyBoy
Create Your Personal 3D Pet Companion⭐ 10+ Pets ⭐ Unique Animations ⭐ Ride and Disguise
0.00 star(s) 0 ratings
Downloads
58
Updated
BlackSpigot General Chat
Rules Help Users
    C @ cleopatra: 1984 1984 1984 1984 1984 1984 🗣️🗣️🗣️🗣️🗣️🗣️🗣️🗣️🗣️🗣️
    Top