Correct structure of Archery skill config to have parity with others

This commit is contained in:
nossr50 2019-09-20 17:00:58 -07:00
parent a6a544f472
commit 1a3832f117
4 changed files with 73 additions and 23 deletions

View File

@ -1,46 +1,36 @@
package com.gmail.nossr50.config.hocon.skills.archery; package com.gmail.nossr50.config.hocon.skills.archery;
import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel; import com.gmail.nossr50.config.ConfigConstants;
import ninja.leaping.configurate.objectmapping.Setting; import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable @ConfigSerializable
public class ConfigArchery { public class ConfigArchery {
@Setting(value = "Daze") @Setting(value = ConfigConstants.SUB_SKILL_NODE)
private ConfigArcheryDaze daze = new ConfigArcheryDaze(); private ConfigArcherySubSkills subSkills = new ConfigArcherySubSkills();
@Setting(value = "Skill-Shot")
private ConfigArcherySkillShot skillShot = new ConfigArcherySkillShot();
@Setting("Arrow-Retrieval")
private ConfigArcheryArrowRetrieval arrowRetrieval = new ConfigArcheryArrowRetrieval();
public ConfigArcheryDaze getDaze() { public ConfigArcheryDaze getDaze() {
return daze; return subSkills.getDaze();
} }
public ConfigArcherySkillShot getSkillShot() { public ConfigArcherySkillShot getSkillShot() {
return skillShot; return subSkills.getSkillShot();
}
public ConfigArcheryLimitBreak getLimitBreak() {
return subSkills.getLimitBreak();
} }
public double getSkillShotDamageMultiplier() { public double getSkillShotDamageMultiplier() {
return skillShot.getSkillShotDamageMultiplier(); return subSkills.getSkillShotDamageMultiplier();
} }
public double getSkillShotDamageCeiling() { public double getSkillShotDamageCeiling() {
return skillShot.getSkillShotDamageCeiling(); return subSkills.getSkillShotDamageCeiling();
}
public double getMaxChance() {
return daze.getMaxChance();
}
public MaxBonusLevel getMaxBonusLevel() {
return daze.getMaxBonusLevel();
} }
public double getBonusDamage() { public double getBonusDamage() {
return daze.getDazeBonusDamage(); return subSkills.getBonusDamage();
} }
} }

View File

@ -0,0 +1,17 @@
package com.gmail.nossr50.config.hocon.skills.archery;
import ninja.leaping.configurate.objectmapping.Setting;
public class ConfigArcheryLimitBreak {
private static final boolean DEFAULT_PVE = false;
@Setting(value = "PVE", comment = "If true, the bonus damage from Limit Break will apply to PVE in addition to PVP." +
"\nDefault value: "+DEFAULT_PVE)
private boolean PVE = DEFAULT_PVE;
public boolean isEnabledForPVE() {
return PVE;
}
}

View File

@ -0,0 +1,44 @@
package com.gmail.nossr50.config.hocon.skills.archery;
import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
public class ConfigArcherySubSkills {
@Setting(value = "Daze")
private ConfigArcheryDaze daze = new ConfigArcheryDaze();
@Setting(value = "Skill-Shot")
private ConfigArcherySkillShot skillShot = new ConfigArcherySkillShot();
@Setting("Arrow-Retrieval")
private ConfigArcheryArrowRetrieval arrowRetrieval = new ConfigArcheryArrowRetrieval();
@Setting("Limit-Break")
private ConfigArcheryLimitBreak limitBreak = new ConfigArcheryLimitBreak();
public ConfigArcheryDaze getDaze() {
return daze;
}
public ConfigArcherySkillShot getSkillShot() {
return skillShot;
}
public ConfigArcheryLimitBreak getLimitBreak() {
return limitBreak;
}
public double getSkillShotDamageMultiplier() {
return skillShot.getSkillShotDamageMultiplier();
}
public double getSkillShotDamageCeiling() {
return skillShot.getSkillShotDamageCeiling();
}
public double getBonusDamage() {
return daze.getDazeBonusDamage();
}
}

View File

@ -4,7 +4,6 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.StringUtils; import com.gmail.nossr50.util.StringUtils;
import com.gmail.nossr50.util.player.PlayerLevelTools;
import org.bukkit.boss.BarColor; import org.bukkit.boss.BarColor;
import org.bukkit.boss.BarStyle; import org.bukkit.boss.BarStyle;
import org.bukkit.boss.BossBar; import org.bukkit.boss.BossBar;