Add enable toggle and per skill thresholds

This commit is contained in:
TfT-02 2014-08-13 09:25:19 -06:00 committed by TfT_02
parent ce3463ad6d
commit 62a767db89
5 changed files with 23 additions and 5 deletions

View File

@ -11,6 +11,7 @@ Version 1.5.01-dev
+ Added new child skill; Salvage
+ Added UUID support!
+ Added SQL connection pooling and async loading!
+ Added the long awaited Diminished Returns feature
+ Added new feature to Herbalism. Instantly-regrown crops are protected from being broken for 1 second
+ Added option to config.yml to show the /mcstats scoreboard automatically after logging in
+ Added option to config.yml for Alchemy. Skills.Alchemy.Prevent_Hopper_Transfer_Bottles

View File

@ -180,7 +180,8 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
public double getCustomXpPerkBoost() { return config.getDouble("Experience_Formula.Custom_XP_Perk.Boost", 1.25); }
/* Deminished Returns */
public int getDiminishedReturnsThreshold() { return config.getInt("Diminished_Returns.Threshold", 20000); }
public boolean getDiminishedReturnsEnabled() { return config.getBoolean("Diminished_Returns.Enabled", false); }
public int getDiminishedReturnsThreshold(SkillType skill) { return config.getInt("Diminished_Returns.Threshold." + StringUtils.getCapitalized(skill.toString()), 20000); }
public int getDiminishedReturnsTimeInterval() { return config.getInt("Diminished_Returns.Time_Interval", 10); }
/* Conversion */

View File

@ -44,7 +44,8 @@ public class SelfListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerXpGain(McMMOPlayerXpGainEvent event) {
int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold();
SkillType skillType = event.getSkill();
int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold(skillType);
if (threshold <= 0) {
// Diminished returns is turned off
@ -59,7 +60,6 @@ public class SelfListener implements Listener {
Player player = event.getPlayer();
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
SkillType skillType = event.getSkill();
if (skillType.isChildSkill()) {
return;

View File

@ -496,7 +496,7 @@ public class mcMMO extends JavaPlugin {
}
// Clear the registered XP data so players can earn XP again
if (ExperienceConfig.getInstance().getDiminishedReturnsThreshold() > 0) {
if (ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) {
new ClearRegisteredXPGainTask().runTaskTimer(this, 60, 60);
}
}

View File

@ -63,9 +63,25 @@ Experience_Formula:
# Settings for Diminished Returns
###
Diminished_Returns:
Enabled: false
# Limit the amount of experience a player can earn:
# Threshold (amount of experience) per Time_Interval (in minutes)
Threshold: 20000
Threshold:
Swords: 20000
Taming: 20000
Acrobatics: 20000
Excavation: 20000
Herbalism: 20000
Unarmed: 20000
Woodcutting: 20000
Mining: 20000
Archery: 20000
Axes: 20000
Repair: 20000
Fishing: 20000
Alchemy: 20000
Time_Interval: 10
#