🎁 Rewards - Rewards/Achievements

#:gift: Rewards - Rewards/Achievements
Build Status Gitter GitHub release

Rewards is an advance reward/achievement plugin. One goal of Rewards is to provide a diverse and easiest way to setup automatic rewards for server owners. Another goal is to provide APIs to allow developers modify and add functionality to the way Rewards works.


:arrow_down: Github All Releases

:exclamation: GitHub issues

:wrench: GitHub source

:book: GitHub wiki

:dollar: PayPal

##Quick Guide

[spoiler=Quick Guide]
##Terminology

In order to understand this wiki there are terms you are going to need to know here is the list:

  • Reward Block - A section of the rewards.conf that contains a rewards Block and possibly another/other Block(s).

  • Block - A section within the Reward Block that contains information about the Reward Block. For example the rewards Block which defines the rewards that a player would get for setting off this Reward Block.

  • Reward - The reward a player gets such as a permission group.

  • Test - A check a player has to pass in order to get a set of rewards.

  • Trigger - A trigger that is set off by a player doing an action and receives a set of rewards for doing that action.

##Settings.conf

The settings.conf is where we need to start configuring Rewards. At the time of writing this settings.conf has 3 values:

  • DEFAULT_INTERVAL - The default of the interval variable for a Reward Block which defines the number of minutes the tests Block is run for this Reward Block.

  • DEFAULT_QUANTITY - The default of the quantity variable for a Reward Block which defines the number of times a player can receive this Reward Block

  • DEBUG - If set to true, this shows debug messages in the console.

##Basic Rewards.conf

RewardName {
    rewards {
        message="Sends a message to a player"
    }

    tests {
        playtime=5
    }
  
    interval=1
    quantity=1
}

The above is a basic rewards.conf. Now let’s go over what all of this means:

  • RewardName - A Reward Block with the name of “RewardName”. The name is used to keep track of quantity amounts. So don’t change this if you want quantity checking to work properly. NOTE: Since these are used for quantity tracking, Reward Block names need to be unique from each other.

  • rewards - This the rewards Block I have been talking about. Every Reward Block needs this. In this Block you define the rewards a player will get when he/she passes every test or sets off a trigger. In this case, the player would receive a message saying “Sends a message to a player”.

  • tests - This the tests Block. The information in this Block defines checks a player has to pass in order to receive rewards. In this case, a player must have a playtime of 5 minutes in order to receive all the rewards in the rewards Block.

  • interval - This defines the number of minutes each test is checked for every player online. This value is only used when a tests Block is within the Reward Block (usually).

  • quantity - This defines the number of times a player can receive this Reward Block. Remember that the lookup is based on the name of the Reward Block.

For a more in-depth guide head over the Configuring rewards.conf page.

[/spoiler]

##Suggestions and Issues

If you find a bug or have a suggestion, please open a new issue with as much information on the suggestion or bug as you can. If there is not enough, information chances are I will probably ignore it. If you are having a hard time setting up the plugin, please post a reply here with your problem or question. I will help you as soon as I can.

8 Likes

##New Release v0.2.0

This release introduces the new Block alltriggers. This block will give out the set of rewards when all triggers have been set. This release also introduces Arrays of Rewards, Tests, and Triggers. This will allow you to specify multiple of rewards, tests, or triggers of the same type. Here is an example of both these features in action:

RewardBlock {
    rewards {
        message="You killed a creeper and a spider!"
    }

    alltriggers { //Notice the new Block name
        mobkill=["Creeper", "Spider"] //Notice the new syntax
    }
}

##Download

:arrow_down: Github All Releases

3 Likes

I love this plugin!!! it’s like an auto-ranker and Salary Plugin All rolled into one simple configuration!!! Please keep up the great work! if you need any assistance with coding even if just to bounce Ideas off of Please let me know. I absolutely love the way that the coding in this looks. and the fact that you are actively bettering it makes things even better :smiley: .

On that note…could you add a amount loop to the trigger for mob kills. as i notice you do have one for the intervals of the test blocks…this would make it so that instead of every time a player kills a mob, the reward would only be valid if the loop exceeded or hit the threshold’s of what the amount of the specified mob was. :smiley: this way we could say instead of being paid every time a player kills a zombie. We could pay them once for the achievement of killing 100 zombies etc. :slight_smile: and could make then control that quantity etc.

Thank you for your time reading this :smiley: let me know what you decide as i’m very excited about this.

1 Like

Hi, this plugin would be great for my server if you could add a playtime-based trigger instead of a test, so that I could reward my players every few hours of playtime with currency. I haven’t had any luck in finding another plugin which could implement that but it looks like this plugin could do just that!

Thanks for your time

1 Like

I am actually working on triggers having a quantity value for triggers. I just need to refactor some of the API a bit.
@WryWolfy I will definitely look into implementing this! I don’t work side projects on the weekends but there will be an update probably within the next depending on my school work level.

1 Like

Just a little update for anyone following this plugin. I am planning on a huge rewrite which will allow me and hopefully other developers easily add to the whole system. There will be some changes to the how the configuration works, but it will be mostly the same. I hope to have the rewrite done before next week. If you want to follow the code, it will be under the branch great-rewrite.

2 Likes

Still progressing with this? :slight_smile:

Is this project still moving? This is a fantastic way to get my players off of voting for rewards and just have them show up for rewards.

If the original plugin creator cannot maintain this, can we have another plugin similar to this be developed? Seems like a simple project. Maybe.