PixelSkills has what can be a mildly complicated rewarding system if looking at it for the first time. Each skill has its own rewards config file, and they are all formatted in the same way. By default, each skill's rewards come pre-configured in what I would say is a pretty balanced way. Rewards are mapped to an identifying value (really just a name that's only used in the config file for your own records) and then settings for that reward are configured in that "block". As I mentioned, all skills' rewards config files are formatted in the same way, just the different rewards they give by default being changed based on the skill, so I'll only provide one example of the rewards config below, specifically coming from the default rewards config for the Breeder skill.
Rewards {
# An identifier, really just used for organization as well as a getter in the code
# You can name these whatever, though naming them is not really necessary
"Reward-1" {
# When this reward is accessed
"Access" {
# The chance of getting this reward every time EXP is earned in this skill
"EXP"=0
"Level-Up" {
# The chance of getting this reward on a level up
"Chance"=0
# Sets guaranteed levels to give this reward on, if any
# Note: this bypasses requirements below and chance values above
"Guaranteed-Levels"=[
5
]
}
}
# Sets the command(s) this rewards runs
"Commands"=[
"give %player% pixelmon:destiny_knot 1",
"give %player% pixelmon:everstone 1",
"give %player% pixelmon:rose_incense 1",
"give %player% pixelmon:full_incense 1",
"give %player% pixelmon:lax_incense 1",
"give %player% pixelmon:rock_incense 1",
"give %player% pixelmon:odd_incense 1",
"give %player% pixelmon:wave_incense 1"
]
# Sets the requirements, if any, to be able to get this reward
"Requirements" {
# Examples:
# < 6 would only allow this reward to be triggered on levels 1, 2, 3, 4, and 5 but would stop at level 6 onward
# > 3 would only allow this reward to be triggered on any level after level 3
"Levels"=[]
# Player needs to have any and all permissions in this list to be able to get this reward
"Permissions"=[]
}
}
"Reward-2" {
"Access" {
"EXP"=0
"Level-Up" {
"Chance"=0.15
"Guranateed-Levels"=[]
}
}
"Commands"=[
"give %player% pixelmon:hourglass_silver 16"
]
"Requirements" {
"Levels"=[
"> 4"
]
"Permissions"=[]
}
}
"Reward-3" {
"Access" {
"EXP"=0
"Level-Up" {
"Chance"=0
"Guranateed-Levels"=[
10
]
}
}
"Commands"=[
"give %player% pixelmon:oval_charm 1"
]
"Requirements" {
"Levels"=[]
"Permissions"=[]
}
}
}
To start off, we can see that this skill has 3 different rewards configured for it. Reward-1, Reward-2, and Reward-3. Each reward is told when it is meant to be run in the Access field.EXP sets the chance (can be really any decimal number, 1.0 for 100%) that this reward is given to the player when they gain EXP in this skill. Setting this value to 0 disables this reward from being given when they earn EXP.Chance in the Level-Up field sets the chance (also a decimal number, also 1.0 for 100%) that this reward is given when the player levels up in this skill. Setting this value to 0 will disable this reward from being given on level up.Guaranteed-Levels is a list of integers (levels) that this reward is guaranteed to be given to the player when they level up to any level defined in this list, bypassing chance values and Requirements.Commands=[] is a list of command(s) that PixelSkills will run as a console to reward the player with whatever the command(s) are set to run.Requirements contains requirements that the player must meet in order to be able to get given this reward. These can be levels or permission nodes.Levels=[] is a list of Strings (words) defining the level and the operator assigned to it. This is formatted to tell PixelSkills to only allow this reward to be given if the player is on a level greater than a set level or less than a set level. You can use both operators (> and <) at the same time if you choose. To provide an example:
Levels=[
"> 4",
"< 10"
]
will only allow this reward to be given to the player as long as they are on a level greater than 4, and less than 10, so this reward can only ever get given to the player between levels 5 and 9.Permissions=[] is a list of Strings (words) for permission nodes that player has to have in order to be able to get this reward given to them. So, say I set a permission "breeder.reward.donator" to this reward. Only players with that permission node will be able to get this reward. Players that don't have this permission will never get this reward.
312
0