Redeemer - Promotion and Voucher Plugin v0.5

Plugin for command based promotions and vouchers.

  1. dudiditsch
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.13
    Features
    As of now this plugin let's you create promotion codes based on commands. You can create a promotion, assign it a specific code, give it a date until this promotion runs and you can also set specific promotion codes to be valid only in specific worlds. Unlimited commands can be assigned to each promotion code.

    New with v0.4 are vouchers. You can create vouchers, add unlimited commands to them and set them to be valid only in specific worlds. After you created a voucher and enabled it, you can generate as many one-time usable voucher codes for this type as you want and share them with your players.

    Since v0.4 Java 8 is not required anymore and the plugin is running now also in Java 7!

    Known Bugs
    No known bugs so far. Please tell me if you found one!

    Planned Features
    If anyone has ideas or suggestions for this plugin, please share it within the discussion section!
    • Ingame buyable voucher-codes (with Vault compability)
    • Webinterface for admins to maintain promotions and voucher codes
    • PHP and Python module for maintaining the promotions and voucher codes
    • Support of other databases (PostgreSQL for example)

    Requirements
    • MySQL Database
    • Java 1.7
    • Spigot 1.13.2
    Setup
    Place the .jar in your plugins folder, restart your server once and after that adjust the configuration file. At the moment there is only a configuration for the prefix which is used by the plugin when it sends messages and the database configuration which should be self explanatory. Once your database is linked up correctly, you can start using this plugin.

    Support
    If you encounter any issue with my plugin, just post it in the "discussion" on this site.

    Permissions
    The permissions should explain them self by name:
    redeemer.promotion.create Allows the creation of promotion codes
    redeemer.promotion.show Allows to show a specific promotion
    redeemer.promotion.list Allows to list all existing promotions
    redeemer.promotion.remove Allows the removal of promotion codes
    redeemer.promotion.config Allows the configuration of promotion codes
    redeemer.promotion.use Allows the usage of promotion codes
    redeemer.voucher.create Allows the creation of voucher types
    redeemer.voucher.show Allows to show a specific voucher
    redeemer.voucher.list Allows to list all existing vouchers
    redeemer.voucher.remove Allows the removal of vouchers
    redeemer.voucher.config Allows the configuration of voucher codes
    redeemer.voucher.use Allows the usage of voucher codes

    Commands - Promotion
    /redeemer promo create <name> Creates a new promotion with name <name>
    /redeemer promo <name> valid <date> Sets a date until the promotion is valid. <date> must be in format "yyyy-DD-mm", for example: "2016-12-31"
    /redeemer promo <name> world <world> Sets the promotion to be only usable in world <world>
    /redeemer promo <name> code <code> Sets the promotion code to be <code>
    /redeemer promo <name> enable Enables the promotion so it can be used by players.
    /redeemer promo <name> disable Disables the promotion.
    /redeemer promo <name> command add <command> Adds the command <command> to be executed for this promotion. A command may contain the string "<player>" to refer to the player using the code.
    Example: /redeemer promo aPromotion command add give <player> diamond 1
    /redeemer promo <name> command remove <command> Removes the given command <command> from the promotion.
    /promotion <code> Redeem a promotion code.
    /redeemer promo list Lists all existing promotions
    /redeemer promo show <name> Shows details of promotion <name>
    /redeemer promo remove <name> Removes the promotion <name>

    Commands - Voucher
    /redeemer voucher create <name> Creates a new voucher with name <name>
    /redeemer voucher <name> world <world> Sets the voucher to be only usable in world <world>
    /redeemer voucher <name> enable Enables the voucher so it can be used by players.
    /redeemer voucher <name> disable Disables the voucher
    /redeemer voucher <name> command add <command> Adds the command <command> to be executed for this voucher. A command may contain the string "<player>" to refer to the player using the code.
    Example: /redeemer voucher aVoucher command add give <player> diamond 1
    /redeemer voucher <name> command remove <command> Removes the given command <command> from the voucher.
    /redeemer voucher <name> generate Generates a voucher vode for the voucher <name>
    /voucher <code> Redeem a voucher code
    /redeemer voucher list Lists all existing voucher
    /redeemer voucher show <name> Shows details of voucher <name>
    /redeemer voucher remove <name> Removes the voucher <name>

    Example configuration
    Note that if you upgraded versions you might to put the new config keys in your existing config on your own. Here is the sample configuration file, showing all configurations.

    # Prefix for messages sent by the server

    prefix: [Redeemer]
    #Enable Vault support for selling Vouchers
    enable_vault: false
    #Database configuration
    database:
    #This can only be "mysql" for now.
    type: mysql
    #url of database host including port
    url: localhost:3306
    #database name
    db: dbname
    #database user
    user: dbuser
    #database password
    password: anAwesomePassword
    #messages the plugin is using
    error_wrong_arguments: "Wrong amount of arguments!"
    redeemer_running: "Redeemer plugin is enabled and running."
    redeemer_only_player: "This command can only be run by a player."
    error_execution: "There was an error while executing the promotion. Please contact Support."
    error_promo_not_exist: "This promotion-code does not exist!"
    redeemer_promo_command_added: "Successfully added command: <command> to promotion: <promotion>"
    error_promo_command_added: "There was an error adding command: <command> to promotion <promotion>"
    error_promo_command_removed: "There was an error removing command: <command> from promotion: <promotion>"
    redeemer_promo_command_removed: "Successfully removed command: <command> from promotion: <promotion>"
    error_promo_command_wrong: "You need to use \"add\" or \"remove\" to add or remove a command."
    redeemer_promo_world_set: "Promotion: <promotion> is now only valid in world: <world>"
    error_promo_update: "Promotion: <promotion> could not be updated, please check logs."
    redeemer_promo_code_set: "Promotion: <promotion> has now the code: <code>"
    redeemer_promo_enabled: "Promotion: <promotion> is now enabled."
    redeemer_promo_disabled: "Promotion: <promotion> is now disabled."
    error_promo_invalid_name: "The words create|remove|list|show are not allowed as promotion name."
    redeemer_promo_created: "Promotion: <promotion> created successfully with code: <code>"
    error_promo_creation: "Promotion: <promotion> could not be generated, please check in log!"
    error_promo_already_exists: "Promotion: <promotion> already exists!"
    redeemer_promo_date_set: "Promotion: <promotion> is now valid till <date>"
    error_promo_wrong_date: "Provided Date <date> is not a correct date or is not in format yyyy-MM-dd!"
    error_promo_inactive: "Promotion: <promotion> is not active at the moment."
    error_promo_wrong_world: "Promotion: <promotion> can not be used in this world."
    error_promo_outdated: "Promotion: <promotion> is not valid anymore."
    error_promo_redeeming_not_working: "Promotion: <promotion> caused an error when redeemed. Please contact your Mod / Admin."
    error_promo_already_used: "You already used promotion: <promotion>. You cannot use it again."
    error_wrong_permissions: "You don't have the permissions to use this command"
    redeemer_promo_word_enable: "enabled"
    redeemer_promo_word_disable: "disabled"
    redeemer_promo_show: "The promotion <promotion> is valid till <date> and is: <active>"
    redeemer_promo_removed: "The promotion <promotion> has been removed successfully."
    redeemer_promo_list: "You have the following promotions configured: <promotions>."
    error_voucher_invalid_name: "The words create|remove|list|show are not allowed as Voucher name."
    redeemer_voucher_list: "You have the following Vouchers configured: <vouchers>."
    redeemer_voucher_created: "Voucher has been created successfully."
    error_voucher_already_exists: "Voucher already exists."
    error_voucher_not_exist: "This Voucher doesn't exist."
    redeemer_voucher_enabled: "Voucher is now enabled."
    error_voucher_update: "Could not update Voucher."
    redeemer_voucher_disabled: "Voucher is now disabled"
    redeemer_voucher_world_set: "Voucher is now valid in world: <world>."
    redeemer_voucher_command_added: "Successfully added command: <command> to Voucher: <voucher>"
    error_voucher_command_added: "Could not add command to Voucher"
    redeemer_voucher_command_removed: "Successfully removed command: <command> from Voucher: <voucher>"
    error_voucher_command_removed: "Could not remove command from Voucher"
    redeemer_voucher_show: "The Voucher <voucher> is: <active>, is valid in <world> and has the following commands configured: <commands>"
    redeemer_voucher_word_enable: "enabled"
    redeemer_voucher_word_disable: "disabled"
    redeemer_word_no_command: "no command"
    redeemer_word_no_promotion: "no Promotion"
    redeemer_word_no_voucher: "no Voucher"
    redeemer_voucher_removed: "Voucher <voucher> has been successfully removed."
    redeemer_voucher_generated: "Successfully generated new Voucher code: <code>"
    error_voucher_generated: "New Code for Voucher could not be generated."
    error_voucher_inactive: "This Voucher is disabled, you need to enable it first."
    error_voucher_wrong_world: "This Voucher is not valid in your world."
    error_voucher_already_used: "This Voucher has been used already."
    error_voucher_redeeming_not_working: "Unknown error in redeeming Voucher code happened."
    redeemer_word_all_worlds: "all worlds"
    error_unknown_voucher_command: "This is not a valid voucher command"
    error_unknown_promotion_command: "This is not a valid promotion command"
    error_unknown_redeemer_command: "This is not a valid redeemer command"
    zThana likes this.

Recent Reviews

  1. Souljalex
    Souljalex
    1/5,
    Version: v0.4
    The plugin does not work at all. When I type a command all I get is /redeemer. Please fix.
  2. Jheric2121
    Jheric2121
    3/5,
    Version: v0.4
    I have tested in Minecraft 1.11.2. The plugin it's working but all commands are not working.It keeps telling /redeemer when I typing the command that you give the information. Please upgrade this plugin.
  3. SpasoMC
    SpasoMC
    5/5,
    Version: 0.3
    Best plugin ever !!! I was searching for this for a long time and finally got it, thanks a lot man :D
    1. dudiditsch
      Author's Response
      Thanks for the review, much appreciated! :)