Turned skilltypes into constants instead of enum

This commit is contained in:
ile123ile 2014-08-23 14:14:36 -07:00
parent be690962ee
commit ebd02dc30e
77 changed files with 492 additions and 497 deletions

View File

@ -32,7 +32,7 @@ public final class ExperienceAPI {
* @return true if this is a valid mcMMO skill
*/
public static boolean isValidSkillType(String skillType) {
return SkillType.getSkill(skillType) != null;
return SkillType.getSkillFromLocalized(skillType) != null;
}
/**
@ -46,7 +46,7 @@ public final class ExperienceAPI {
* @return true if this is a valid, non-child mcMMO skill
*/
public static boolean isNonChildSkill(String skillType) {
SkillType skill = SkillType.getSkill(skillType);
SkillType skill = SkillType.getSkillFromLocalized(skillType);
return skill != null && !skill.isChildSkill();
}
@ -644,7 +644,7 @@ public final class ExperienceAPI {
int powerLevel = 0;
PlayerProfile profile = getOfflineProfile(playerName);
for (SkillType type : SkillType.NON_CHILD_SKILLS) {
for (SkillType type : SkillType.nonChildSkills) {
powerLevel += profile.getSkillLevel(type);
}
@ -665,7 +665,7 @@ public final class ExperienceAPI {
int powerLevel = 0;
PlayerProfile profile = getOfflineProfile(uuid);
for (SkillType type : SkillType.NON_CHILD_SKILLS) {
for (SkillType type : SkillType.nonChildSkills) {
powerLevel += profile.getSkillLevel(type);
}
@ -981,7 +981,7 @@ public final class ExperienceAPI {
}
private static SkillType getSkillType(String skillType) throws InvalidSkillException {
SkillType skill = SkillType.getSkill(skillType);
SkillType skill = SkillType.getSkillFromLocalized(skillType);
if (skill == null) {
throw new InvalidSkillException();

View File

@ -1,7 +1,6 @@
package com.gmail.nossr50.api;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.gmail.nossr50.datatypes.skills.SkillType;
@ -18,7 +17,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getSkills() {
return getListFromEnum(Arrays.asList(SkillType.values()));
return SkillType.skillNames;
}
/**
@ -30,7 +29,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getNonChildSkills() {
return getListFromEnum(SkillType.NON_CHILD_SKILLS);
return getStringListFromSkillList(SkillType.nonChildSkills);
}
/**
@ -42,7 +41,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getChildSkills() {
return getListFromEnum(SkillType.CHILD_SKILLS);
return getStringListFromSkillList(SkillType.childSkills);
}
/**
@ -54,7 +53,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getCombatSkills() {
return getListFromEnum(SkillType.COMBAT_SKILLS);
return getStringListFromSkillList(SkillType.combatSkills);
}
/**
@ -66,7 +65,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getGatheringSkills() {
return getListFromEnum(SkillType.GATHERING_SKILLS);
return getStringListFromSkillList(SkillType.gatheringSkills);
}
/**
@ -78,14 +77,14 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getMiscSkills() {
return getListFromEnum(SkillType.MISC_SKILLS);
return getStringListFromSkillList(SkillType.miscSkills);
}
private static List<String> getListFromEnum(List<SkillType> skillsTypes) {
private static List<String> getStringListFromSkillList(List<SkillType> skillsTypes) {
List<String> skills = new ArrayList<String>();
for (SkillType skillType : skillsTypes) {
skills.add(skillType.name());
skills.add(skillType.getName());
}
return skills;

View File

@ -41,6 +41,6 @@ public class AddlevelsCommand extends ExperienceCommand {
@Override
protected void handlePlayerMessageSkill(Player player, int value, SkillType skill) {
player.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.1", value, skill.getName()));
player.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.1", value, skill.getLocalizedName()));
}
}

View File

@ -39,6 +39,6 @@ public class AddxpCommand extends ExperienceCommand {
@Override
protected void handlePlayerMessageSkill(Player player, int value, SkillType skill) {
player.sendMessage(LocaleLoader.getString("Commands.addxp.AwardSkill", value, skill.getName()));
player.sendMessage(LocaleLoader.getString("Commands.addxp.AwardSkill", value, skill.getLocalizedName()));
}
}

View File

@ -39,7 +39,7 @@ public abstract class ExperienceCommand implements TabExecutor {
return true;
}
skill = SkillType.getSkill(args[0]);
skill = SkillType.getSkillFromLocalized(args[0]);
if (args[1].equalsIgnoreCase("all")) {
skill = null;
@ -58,7 +58,7 @@ public abstract class ExperienceCommand implements TabExecutor {
return true;
}
skill = SkillType.getSkill(args[1]);
skill = SkillType.getSkillFromLocalized(args[1]);
if (args[1].equalsIgnoreCase("all")) {
skill = null;
@ -98,7 +98,7 @@ public abstract class ExperienceCommand implements TabExecutor {
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size()));
case 2:
return StringUtil.copyPartialMatches(args[1], SkillType.SKILL_NAMES, new ArrayList<String>(SkillType.SKILL_NAMES.size()));
return StringUtil.copyPartialMatches(args[1], SkillType.skillNames, new ArrayList<String>(SkillType.skillNames.size()));
default:
return ImmutableList.of();
}
@ -119,13 +119,13 @@ public abstract class ExperienceCommand implements TabExecutor {
sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.2", playerName));
}
else {
sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getName(), playerName));
sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getLocalizedName(), playerName));
}
}
protected void editValues(Player player, PlayerProfile profile, SkillType skill, int value) {
if (skill == null) {
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
handleCommand(player, profile, skillType, value);
}

View File

@ -47,6 +47,6 @@ public class MmoeditCommand extends ExperienceCommand {
@Override
protected void handlePlayerMessageSkill(Player player, int value, SkillType skill) {
player.sendMessage(LocaleLoader.getString("Commands.mmoedit.Modified.1", skill.getName(), value));
player.sendMessage(LocaleLoader.getString("Commands.mmoedit.Modified.1", skill.getLocalizedName(), value));
}
}

View File

@ -44,7 +44,7 @@ public class SkillresetCommand implements TabExecutor {
return true;
}
editValues((Player) sender, UserManager.getPlayer(sender.getName()).getProfile(), SkillType.getSkill(args[0]));
editValues((Player) sender, UserManager.getPlayer(sender.getName()).getProfile(), SkillType.getSkillFromLocalized(args[0]));
return true;
case 2:
@ -62,7 +62,7 @@ public class SkillresetCommand implements TabExecutor {
skill = null;
}
else {
skill = SkillType.getSkill(args[1]);
skill = SkillType.getSkillFromLocalized(args[1]);
}
String playerName = CommandUtils.getMatchedPlayerName(args[0]);
@ -97,7 +97,7 @@ public class SkillresetCommand implements TabExecutor {
List<String> playerNames = CommandUtils.getOnlinePlayerNames(sender);
return StringUtil.copyPartialMatches(args[0], playerNames, new ArrayList<String>(playerNames.size()));
case 2:
return StringUtil.copyPartialMatches(args[1], SkillType.SKILL_NAMES, new ArrayList<String>(SkillType.SKILL_NAMES.size()));
return StringUtil.copyPartialMatches(args[1], SkillType.skillNames, new ArrayList<String>(SkillType.skillNames.size()));
default:
return ImmutableList.of();
}
@ -130,7 +130,7 @@ public class SkillresetCommand implements TabExecutor {
}
protected void handlePlayerMessageSkill(Player player, SkillType skill) {
player.sendMessage(LocaleLoader.getString("Commands.Reset.Single", skill.getName()));
player.sendMessage(LocaleLoader.getString("Commands.Reset.Single", skill.getLocalizedName()));
}
private boolean validateArguments(CommandSender sender, String skillName) {
@ -142,13 +142,13 @@ public class SkillresetCommand implements TabExecutor {
sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardAll.2", playerName));
}
else {
sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getName(), playerName));
sender.sendMessage(LocaleLoader.getString("Commands.addlevels.AwardSkill.2", skill.getLocalizedName(), playerName));
}
}
protected void editValues(Player player, PlayerProfile profile, SkillType skill) {
if (skill == null) {
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
handleCommand(player, profile, skillType);
}

View File

@ -22,7 +22,7 @@ public class HardcoreCommand extends HardcoreModeCommand {
@Override
protected boolean checkEnabled(SkillType skill) {
if (skill == null) {
for (SkillType skillType : SkillType.values()) {
for (SkillType skillType : SkillType.skillList) {
if (!skillType.getHardcoreStatLossEnabled()) {
return false;
}
@ -52,7 +52,7 @@ public class HardcoreCommand extends HardcoreModeCommand {
private void toggle(boolean enable, SkillType skill) {
if (skill == null) {
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
skillType.setHardcoreStatLossEnabled(enable);
}
}
@ -60,6 +60,6 @@ public class HardcoreCommand extends HardcoreModeCommand {
skill.setHardcoreStatLossEnabled(enable);
}
mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Hardcore.Mode." + (enable ? "Enabled" : "Disabled"), LocaleLoader.getString("Hardcore.DeathStatLoss.Name"), (skill == null ? "all skills" : skill.getName())));
mcMMO.p.getServer().broadcastMessage(LocaleLoader.getString("Hardcore.Mode." + (enable ? "Enabled" : "Disabled"), LocaleLoader.getString("Hardcore.DeathStatLoss.Name"), (skill == null ? "all skills" : skill.getLocalizedName())));
}
}

View File

@ -76,7 +76,7 @@ public abstract class HardcoreModeCommand implements TabExecutor {
return true;
}
SkillType skill = SkillType.getSkill(args[0]);
SkillType skill = SkillType.getSkillFromLocalized(args[0]);
if (!CommandUtils.isChildSkill(sender, skill)) {
return true;

View File

@ -22,7 +22,7 @@ public class VampirismCommand extends HardcoreModeCommand {
@Override
protected boolean checkEnabled(SkillType skill) {
if (skill == null) {
for (SkillType skillType : SkillType.values()) {
for (SkillType skillType : SkillType.skillList) {
if (!skillType.getHardcoreVampirismEnabled()) {
return false;
}
@ -52,7 +52,7 @@ public class VampirismCommand extends HardcoreModeCommand {
private void toggle(boolean enable, SkillType skill) {
if (skill == null) {
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
skillType.setHardcoreVampirismEnabled(enable);
}
}

View File

@ -53,17 +53,17 @@ public class InspectCommand implements TabExecutor {
sender.sendMessage(LocaleLoader.getString("Inspect.OfflineStats", playerName));
sender.sendMessage(LocaleLoader.getString("Stats.Header.Gathering"));
for (SkillType skill : SkillType.GATHERING_SKILLS) {
for (SkillType skill : SkillType.gatheringSkills) {
sender.sendMessage(CommandUtils.displaySkill(profile, skill));
}
sender.sendMessage(LocaleLoader.getString("Stats.Header.Combat"));
for (SkillType skill : SkillType.COMBAT_SKILLS) {
for (SkillType skill : SkillType.combatSkills) {
sender.sendMessage(CommandUtils.displaySkill(profile, skill));
}
sender.sendMessage(LocaleLoader.getString("Stats.Header.Misc"));
for (SkillType skill : SkillType.MISC_SKILLS) {
for (SkillType skill : SkillType.miscSkills) {
sender.sendMessage(CommandUtils.displaySkill(profile, skill));
}

View File

@ -70,7 +70,7 @@ public class MctopCommand implements TabExecutor {
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
switch (args.length) {
case 1:
return StringUtil.copyPartialMatches(args[0], SkillType.SKILL_NAMES, new ArrayList<String>(SkillType.SKILL_NAMES.size()));
return StringUtil.copyPartialMatches(args[0], SkillType.skillNames, new ArrayList<String>(SkillType.skillNames.size()));
default:
return ImmutableList.of();
}
@ -120,7 +120,7 @@ public class MctopCommand implements TabExecutor {
return null;
}
SkillType skill = SkillType.getSkill(skillName);
SkillType skill = SkillType.getSkillFromLocalized(skillName);
if (CommandUtils.isChildSkill(sender, skill)) {
return null;

View File

@ -23,7 +23,7 @@ public class AcrobaticsCommand extends SkillCommand {
private boolean canGracefulRoll;
public AcrobaticsCommand() {
super(SkillType.ACROBATICS);
super(SkillType.acrobatics);
}
@Override

View File

@ -26,7 +26,7 @@ public class AlchemyCommand extends SkillCommand {
private boolean canConcoctions;
public AlchemyCommand() {
super(SkillType.ALCHEMY);
super(SkillType.alchemy);
}
protected String[] calculateAbilityDisplayValues(Player player, boolean isLucky) {

View File

@ -23,7 +23,7 @@ public class ArcheryCommand extends SkillCommand {
private boolean canRetrieve;
public ArcheryCommand() {
super(SkillType.ARCHERY);
super(SkillType.archery);
}
@Override

View File

@ -26,7 +26,7 @@ public class AxesCommand extends SkillCommand {
private boolean canGreaterImpact;
public AxesCommand() {
super(SkillType.AXES);
super(SkillType.axes);
}
@Override

View File

@ -18,7 +18,7 @@ public class ExcavationCommand extends SkillCommand {
private boolean canTreasureHunt;
public ExcavationCommand() {
super(SkillType.EXCAVATION);
super(SkillType.excavation);
}
@Override

View File

@ -44,7 +44,7 @@ public class FishingCommand extends SkillCommand {
private boolean canIceFish;
public FishingCommand() {
super(SkillType.FISHING);
super(SkillType.fishing);
}
@Override

View File

@ -35,7 +35,7 @@ public class HerbalismCommand extends SkillCommand {
private boolean canShroomThumb;
public HerbalismCommand() {
super(SkillType.HERBALISM);
super(SkillType.herbalism);
}
@Override

View File

@ -35,7 +35,7 @@ public class MiningCommand extends SkillCommand {
private boolean canDemoExpert;
public MiningCommand() {
super(SkillType.MINING);
super(SkillType.mining);
}
@Override

View File

@ -42,7 +42,7 @@ public class RepairCommand extends SkillCommand {
private int stoneLevel;
public RepairCommand() {
super(SkillType.REPAIR);
super(SkillType.repair);
}
@Override

View File

@ -18,7 +18,7 @@ public class SalvageCommand extends SkillCommand {
private boolean canArcaneSalvage;
public SalvageCommand() {
super(SkillType.SALVAGE);
super(SkillType.salvage);
}
@Override

View File

@ -38,7 +38,7 @@ public abstract class SkillCommand implements TabExecutor {
public SkillCommand(SkillType skill) {
this.skill = skill;
skillName = skill.getName();
skillName = skill.getLocalizedName();
skillGuideCommand = new SkillGuideCommand(skill);
}
@ -82,7 +82,7 @@ public abstract class SkillCommand implements TabExecutor {
Set<SkillType> parents = FamilyTree.getParents(skill);
for (SkillType parent : parents) {
player.sendMessage(parent.getName() + " - " + LocaleLoader.getString("Effects.Level", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)));
player.sendMessage(parent.getLocalizedName() + " - " + LocaleLoader.getString("Effects.Level", mcMMOPlayer.getSkillLevel(parent), mcMMOPlayer.getSkillXpLevel(parent), mcMMOPlayer.getXpToLevel(parent)));
}
}

View File

@ -18,7 +18,7 @@ public class SkillGuideCommand implements CommandExecutor {
private String invalidPage = LocaleLoader.getString("Guides.Page.Invalid");
public SkillGuideCommand(SkillType skill) {
header = LocaleLoader.getString("Guides.Header", skill.getName());
header = LocaleLoader.getString("Guides.Header", skill.getLocalizedName());
guide = getGuide(skill);
}

View File

@ -27,7 +27,7 @@ public class SmeltingCommand extends SkillCommand {
private boolean canVanillaXPBoost;
public SmeltingCommand() {
super(SkillType.SMELTING);
super(SkillType.smelting);
}
@Override

View File

@ -26,7 +26,7 @@ public class SwordsCommand extends SkillCommand {
private boolean canBleed;
public SwordsCommand() {
super(SkillType.SWORDS);
super(SkillType.swords);
}
@Override

View File

@ -28,7 +28,7 @@ public class TamingCommand extends SkillCommand {
private boolean canHolyHound;
public TamingCommand() {
super(SkillType.TAMING);
super(SkillType.taming);
}
@Override

View File

@ -29,7 +29,7 @@ public class UnarmedCommand extends SkillCommand {
private boolean canIronGrip;
public UnarmedCommand() {
super(SkillType.UNARMED);
super(SkillType.unarmed);
}
@Override

View File

@ -22,7 +22,7 @@ public class WoodcuttingCommand extends SkillCommand {
private boolean canDoubleDrop;
public WoodcuttingCommand() {
super(SkillType.WOODCUTTING);
super(SkillType.woodcutting);
}
@Override

View File

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.datatypes.skills.SecondaryAbility;
import com.gmail.nossr50.datatypes.skills.SkillType;
import com.gmail.nossr50.skills.alchemy.Alchemy;
@ -689,8 +690,13 @@ public class AdvancedConfig extends AutoUpdateConfigLoader {
public int getAbilityLength() { return config.getInt("Skills.General.Ability.IncreaseLevel", 50); }
public int getEnchantBuff() { return config.getInt("Skills.General.Ability.EnchantBuff", 5); }
public int getMaxBonusLevel(SecondaryAbility skillAbility) { return config.getInt("Skills." + StringUtils.getCapitalized(SkillType.bySecondaryAbility(skillAbility).toString()) + "." + StringUtils.getPrettySecondaryAbilityString(skillAbility).replace(" ", "") + ".MaxBonusLevel"); }
public double getMaxChance(SecondaryAbility skillAbility) { return config.getDouble("Skills." + StringUtils.getCapitalized(SkillType.bySecondaryAbility(skillAbility).toString()) + "." + StringUtils.getPrettySecondaryAbilityString(skillAbility).replace(" ", "") + ".ChanceMax", 100.0D); }
public int getMaxBonusLevel(SecondaryAbility skillAbility) {
String skillAbilityString = "Skills." + StringUtils.getCapitalized(SkillType.bySecondaryAbility(skillAbility).toString()) + "." + StringUtils.getPrettySecondaryAbilityString(skillAbility).replace(" ", "") + ".MaxBonusLevel";
return config.getInt(skillAbilityString);
}
public double getMaxChance(SecondaryAbility skillAbility) { return config.getDouble("Skills." + StringUtils.getCapitalized(
SkillType.bySecondaryAbility(skillAbility).toString()
) + "." + StringUtils.getPrettySecondaryAbilityString(skillAbility).replace(" ", "") + ".ChanceMax", 100.0D); }
/* ACROBATICS */
public double getDodgeDamageModifier() { return config.getDouble("Skills.Acrobatics.Dodge.DamageModifier", 2.0D); }

View File

@ -278,31 +278,31 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
else {
// Otherwise write the new player information
writer.append(playerName).append(":");
writer.append(profile.getSkillLevel(SkillType.MINING)).append(":");
writer.append(profile.getSkillLevel(SkillType.mining)).append(":");
writer.append(":");
writer.append(":");
writer.append(profile.getSkillXpLevel(SkillType.MINING)).append(":");
writer.append(profile.getSkillLevel(SkillType.WOODCUTTING)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.WOODCUTTING)).append(":");
writer.append(profile.getSkillLevel(SkillType.REPAIR)).append(":");
writer.append(profile.getSkillLevel(SkillType.UNARMED)).append(":");
writer.append(profile.getSkillLevel(SkillType.HERBALISM)).append(":");
writer.append(profile.getSkillLevel(SkillType.EXCAVATION)).append(":");
writer.append(profile.getSkillLevel(SkillType.ARCHERY)).append(":");
writer.append(profile.getSkillLevel(SkillType.SWORDS)).append(":");
writer.append(profile.getSkillLevel(SkillType.AXES)).append(":");
writer.append(profile.getSkillLevel(SkillType.ACROBATICS)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.REPAIR)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.UNARMED)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.HERBALISM)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.EXCAVATION)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.ARCHERY)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.SWORDS)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.AXES)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.ACROBATICS)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.mining)).append(":");
writer.append(profile.getSkillLevel(SkillType.woodcutting)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.woodcutting)).append(":");
writer.append(profile.getSkillLevel(SkillType.repair)).append(":");
writer.append(profile.getSkillLevel(SkillType.unarmed)).append(":");
writer.append(profile.getSkillLevel(SkillType.herbalism)).append(":");
writer.append(profile.getSkillLevel(SkillType.excavation)).append(":");
writer.append(profile.getSkillLevel(SkillType.archery)).append(":");
writer.append(profile.getSkillLevel(SkillType.swords)).append(":");
writer.append(profile.getSkillLevel(SkillType.axes)).append(":");
writer.append(profile.getSkillLevel(SkillType.acrobatics)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.repair)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.unarmed)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.herbalism)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.excavation)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.archery)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.swords)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.axes)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.acrobatics)).append(":");
writer.append(":");
writer.append(profile.getSkillLevel(SkillType.TAMING)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.TAMING)).append(":");
writer.append(profile.getSkillLevel(SkillType.taming)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.taming)).append(":");
writer.append((int) profile.getAbilityDATS(AbilityType.BERSERK)).append(":");
writer.append((int) profile.getAbilityDATS(AbilityType.GIGA_DRILL_BREAKER)).append(":");
writer.append((int) profile.getAbilityDATS(AbilityType.TREE_FELLER)).append(":");
@ -311,14 +311,14 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
writer.append((int) profile.getAbilityDATS(AbilityType.SKULL_SPLITTER)).append(":");
writer.append((int) profile.getAbilityDATS(AbilityType.SUPER_BREAKER)).append(":");
writer.append(":");
writer.append(profile.getSkillLevel(SkillType.FISHING)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.FISHING)).append(":");
writer.append(profile.getSkillLevel(SkillType.fishing)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.fishing)).append(":");
writer.append((int) profile.getAbilityDATS(AbilityType.BLAST_MINING)).append(":");
writer.append(System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR).append(":");
MobHealthbarType mobHealthbarType = profile.getMobHealthbarType();
writer.append(mobHealthbarType == null ? Config.getInstance().getMobHealthbarDefault().toString() : mobHealthbarType.toString()).append(":");
writer.append(profile.getSkillLevel(SkillType.ALCHEMY)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.ALCHEMY)).append(":");
writer.append(profile.getSkillLevel(SkillType.alchemy)).append(":");
writer.append(profile.getSkillXpLevel(SkillType.alchemy)).append(":");
writer.append(uuid.toString()).append(":");
writer.append("\r\n");
}
@ -367,7 +367,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
Map<SkillType, Integer> skills = new HashMap<SkillType, Integer>();
for (SkillType skill : SkillType.NON_CHILD_SKILLS) {
for (SkillType skill : SkillType.nonChildSkills) {
skills.put(skill, getPlayerRank(playerName, playerStatHash.get(skill)));
}
@ -750,19 +750,19 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
Map<SkillType, Integer> skills = getSkillMapFromLine(data);
powerLevel += putStat(acrobatics, playerName, skills.get(SkillType.ACROBATICS));
powerLevel += putStat(alchemy, playerName, skills.get(SkillType.ALCHEMY));
powerLevel += putStat(archery, playerName, skills.get(SkillType.ARCHERY));
powerLevel += putStat(axes, playerName, skills.get(SkillType.AXES));
powerLevel += putStat(excavation, playerName, skills.get(SkillType.EXCAVATION));
powerLevel += putStat(fishing, playerName, skills.get(SkillType.FISHING));
powerLevel += putStat(herbalism, playerName, skills.get(SkillType.HERBALISM));
powerLevel += putStat(mining, playerName, skills.get(SkillType.MINING));
powerLevel += putStat(repair, playerName, skills.get(SkillType.REPAIR));
powerLevel += putStat(swords, playerName, skills.get(SkillType.SWORDS));
powerLevel += putStat(taming, playerName, skills.get(SkillType.TAMING));
powerLevel += putStat(unarmed, playerName, skills.get(SkillType.UNARMED));
powerLevel += putStat(woodcutting, playerName, skills.get(SkillType.WOODCUTTING));
powerLevel += putStat(acrobatics, playerName, skills.get(SkillType.acrobatics));
powerLevel += putStat(alchemy, playerName, skills.get(SkillType.alchemy));
powerLevel += putStat(archery, playerName, skills.get(SkillType.archery));
powerLevel += putStat(axes, playerName, skills.get(SkillType.axes));
powerLevel += putStat(excavation, playerName, skills.get(SkillType.excavation));
powerLevel += putStat(fishing, playerName, skills.get(SkillType.fishing));
powerLevel += putStat(herbalism, playerName, skills.get(SkillType.herbalism));
powerLevel += putStat(mining, playerName, skills.get(SkillType.mining));
powerLevel += putStat(repair, playerName, skills.get(SkillType.repair));
powerLevel += putStat(swords, playerName, skills.get(SkillType.swords));
powerLevel += putStat(taming, playerName, skills.get(SkillType.taming));
powerLevel += putStat(unarmed, playerName, skills.get(SkillType.unarmed));
powerLevel += putStat(woodcutting, playerName, skills.get(SkillType.woodcutting));
putStat(powerLevels, playerName, powerLevel);
}
@ -799,19 +799,19 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
Collections.sort(alchemy, c);
Collections.sort(powerLevels, c);
playerStatHash.put(SkillType.MINING, mining);
playerStatHash.put(SkillType.WOODCUTTING, woodcutting);
playerStatHash.put(SkillType.REPAIR, repair);
playerStatHash.put(SkillType.UNARMED, unarmed);
playerStatHash.put(SkillType.HERBALISM, herbalism);
playerStatHash.put(SkillType.EXCAVATION, excavation);
playerStatHash.put(SkillType.ARCHERY, archery);
playerStatHash.put(SkillType.SWORDS, swords);
playerStatHash.put(SkillType.AXES, axes);
playerStatHash.put(SkillType.ACROBATICS, acrobatics);
playerStatHash.put(SkillType.TAMING, taming);
playerStatHash.put(SkillType.FISHING, fishing);
playerStatHash.put(SkillType.ALCHEMY, alchemy);
playerStatHash.put(SkillType.mining, mining);
playerStatHash.put(SkillType.woodcutting, woodcutting);
playerStatHash.put(SkillType.repair, repair);
playerStatHash.put(SkillType.unarmed, unarmed);
playerStatHash.put(SkillType.herbalism, herbalism);
playerStatHash.put(SkillType.excavation, excavation);
playerStatHash.put(SkillType.archery, archery);
playerStatHash.put(SkillType.swords, swords);
playerStatHash.put(SkillType.axes, axes);
playerStatHash.put(SkillType.acrobatics, acrobatics);
playerStatHash.put(SkillType.taming, taming);
playerStatHash.put(SkillType.fishing, fishing);
playerStatHash.put(SkillType.alchemy, alchemy);
}
/**
@ -1076,25 +1076,25 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
private PlayerProfile loadFromLine(String[] character) {
Map<SkillType, Integer> skills = getSkillMapFromLine(character); // Skill levels
Map<SkillType, Float> skillsXp = new EnumMap<SkillType, Float>(SkillType.class); // Skill & XP
Map<SkillType, Float> skillsXp = new HashMap<SkillType, Float>(); // Skill & XP
Map<AbilityType, Integer> skillsDATS = new EnumMap<AbilityType, Integer>(AbilityType.class); // Ability & Cooldown
MobHealthbarType mobHealthbarType;
// TODO on updates, put new values in a try{} ?
skillsXp.put(SkillType.TAMING, (float) Integer.valueOf(character[25]));
skillsXp.put(SkillType.MINING, (float) Integer.valueOf(character[4]));
skillsXp.put(SkillType.REPAIR, (float) Integer.valueOf(character[15]));
skillsXp.put(SkillType.WOODCUTTING, (float) Integer.valueOf(character[6]));
skillsXp.put(SkillType.UNARMED, (float) Integer.valueOf(character[16]));
skillsXp.put(SkillType.HERBALISM, (float) Integer.valueOf(character[17]));
skillsXp.put(SkillType.EXCAVATION, (float) Integer.valueOf(character[18]));
skillsXp.put(SkillType.ARCHERY, (float) Integer.valueOf(character[19]));
skillsXp.put(SkillType.SWORDS, (float) Integer.valueOf(character[20]));
skillsXp.put(SkillType.AXES, (float) Integer.valueOf(character[21]));
skillsXp.put(SkillType.ACROBATICS, (float) Integer.valueOf(character[22]));
skillsXp.put(SkillType.FISHING, (float) Integer.valueOf(character[35]));
skillsXp.put(SkillType.ALCHEMY, (float) Integer.valueOf(character[40]));
skillsXp.put(SkillType.taming, (float) Integer.valueOf(character[25]));
skillsXp.put(SkillType.mining, (float) Integer.valueOf(character[4]));
skillsXp.put(SkillType.repair, (float) Integer.valueOf(character[15]));
skillsXp.put(SkillType.woodcutting, (float) Integer.valueOf(character[6]));
skillsXp.put(SkillType.unarmed, (float) Integer.valueOf(character[16]));
skillsXp.put(SkillType.herbalism, (float) Integer.valueOf(character[17]));
skillsXp.put(SkillType.excavation, (float) Integer.valueOf(character[18]));
skillsXp.put(SkillType.archery, (float) Integer.valueOf(character[19]));
skillsXp.put(SkillType.swords, (float) Integer.valueOf(character[20]));
skillsXp.put(SkillType.axes, (float) Integer.valueOf(character[21]));
skillsXp.put(SkillType.acrobatics, (float) Integer.valueOf(character[22]));
skillsXp.put(SkillType.fishing, (float) Integer.valueOf(character[35]));
skillsXp.put(SkillType.alchemy, (float) Integer.valueOf(character[40]));
// Taming - Unused
skillsDATS.put(AbilityType.SUPER_BREAKER, Integer.valueOf(character[32]));
@ -1128,21 +1128,21 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
}
private Map<SkillType, Integer> getSkillMapFromLine(String[] character) {
Map<SkillType, Integer> skills = new EnumMap<SkillType, Integer>(SkillType.class); // Skill & Level
Map<SkillType, Integer> skills = new HashMap<SkillType, Integer>(); // Skill & Level
skills.put(SkillType.TAMING, Integer.valueOf(character[24]));
skills.put(SkillType.MINING, Integer.valueOf(character[1]));
skills.put(SkillType.REPAIR, Integer.valueOf(character[7]));
skills.put(SkillType.WOODCUTTING, Integer.valueOf(character[5]));
skills.put(SkillType.UNARMED, Integer.valueOf(character[8]));
skills.put(SkillType.HERBALISM, Integer.valueOf(character[9]));
skills.put(SkillType.EXCAVATION, Integer.valueOf(character[10]));
skills.put(SkillType.ARCHERY, Integer.valueOf(character[11]));
skills.put(SkillType.SWORDS, Integer.valueOf(character[12]));
skills.put(SkillType.AXES, Integer.valueOf(character[13]));
skills.put(SkillType.ACROBATICS, Integer.valueOf(character[14]));
skills.put(SkillType.FISHING, Integer.valueOf(character[34]));
skills.put(SkillType.ALCHEMY, Integer.valueOf(character[39]));
skills.put(SkillType.taming, Integer.valueOf(character[24]));
skills.put(SkillType.mining, Integer.valueOf(character[1]));
skills.put(SkillType.repair, Integer.valueOf(character[7]));
skills.put(SkillType.woodcutting, Integer.valueOf(character[5]));
skills.put(SkillType.unarmed, Integer.valueOf(character[8]));
skills.put(SkillType.herbalism, Integer.valueOf(character[9]));
skills.put(SkillType.excavation, Integer.valueOf(character[10]));
skills.put(SkillType.archery, Integer.valueOf(character[11]));
skills.put(SkillType.swords, Integer.valueOf(character[12]));
skills.put(SkillType.axes, Integer.valueOf(character[13]));
skills.put(SkillType.acrobatics, Integer.valueOf(character[14]));
skills.put(SkillType.fishing, Integer.valueOf(character[34]));
skills.put(SkillType.alchemy, Integer.valueOf(character[39]));
return skills;
}

View File

@ -272,19 +272,19 @@ public final class SQLDatabaseManager implements DatabaseManager {
+ ", unarmed = ?, herbalism = ?, excavation = ?"
+ ", archery = ?, swords = ?, axes = ?, acrobatics = ?"
+ ", fishing = ?, alchemy = ? WHERE user_id = ?");
statement.setInt(1, profile.getSkillLevel(SkillType.TAMING));
statement.setInt(2, profile.getSkillLevel(SkillType.MINING));
statement.setInt(3, profile.getSkillLevel(SkillType.REPAIR));
statement.setInt(4, profile.getSkillLevel(SkillType.WOODCUTTING));
statement.setInt(5, profile.getSkillLevel(SkillType.UNARMED));
statement.setInt(6, profile.getSkillLevel(SkillType.HERBALISM));
statement.setInt(7, profile.getSkillLevel(SkillType.EXCAVATION));
statement.setInt(8, profile.getSkillLevel(SkillType.ARCHERY));
statement.setInt(9, profile.getSkillLevel(SkillType.SWORDS));
statement.setInt(10, profile.getSkillLevel(SkillType.AXES));
statement.setInt(11, profile.getSkillLevel(SkillType.ACROBATICS));
statement.setInt(12, profile.getSkillLevel(SkillType.FISHING));
statement.setInt(13, profile.getSkillLevel(SkillType.ALCHEMY));
statement.setInt(1, profile.getSkillLevel(SkillType.taming));
statement.setInt(2, profile.getSkillLevel(SkillType.mining));
statement.setInt(3, profile.getSkillLevel(SkillType.repair));
statement.setInt(4, profile.getSkillLevel(SkillType.woodcutting));
statement.setInt(5, profile.getSkillLevel(SkillType.unarmed));
statement.setInt(6, profile.getSkillLevel(SkillType.herbalism));
statement.setInt(7, profile.getSkillLevel(SkillType.excavation));
statement.setInt(8, profile.getSkillLevel(SkillType.archery));
statement.setInt(9, profile.getSkillLevel(SkillType.swords));
statement.setInt(10, profile.getSkillLevel(SkillType.axes));
statement.setInt(11, profile.getSkillLevel(SkillType.acrobatics));
statement.setInt(12, profile.getSkillLevel(SkillType.fishing));
statement.setInt(13, profile.getSkillLevel(SkillType.alchemy));
statement.setInt(14, id);
success &= (statement.executeUpdate() != 0);
statement.close();
@ -294,19 +294,19 @@ public final class SQLDatabaseManager implements DatabaseManager {
+ ", unarmed = ?, herbalism = ?, excavation = ?"
+ ", archery = ?, swords = ?, axes = ?, acrobatics = ?"
+ ", fishing = ?, alchemy = ? WHERE user_id = ?");
statement.setInt(1, profile.getSkillXpLevel(SkillType.TAMING));
statement.setInt(2, profile.getSkillXpLevel(SkillType.MINING));
statement.setInt(3, profile.getSkillXpLevel(SkillType.REPAIR));
statement.setInt(4, profile.getSkillXpLevel(SkillType.WOODCUTTING));
statement.setInt(5, profile.getSkillXpLevel(SkillType.UNARMED));
statement.setInt(6, profile.getSkillXpLevel(SkillType.HERBALISM));
statement.setInt(7, profile.getSkillXpLevel(SkillType.EXCAVATION));
statement.setInt(8, profile.getSkillXpLevel(SkillType.ARCHERY));
statement.setInt(9, profile.getSkillXpLevel(SkillType.SWORDS));
statement.setInt(10, profile.getSkillXpLevel(SkillType.AXES));
statement.setInt(11, profile.getSkillXpLevel(SkillType.ACROBATICS));
statement.setInt(12, profile.getSkillXpLevel(SkillType.FISHING));
statement.setInt(13, profile.getSkillXpLevel(SkillType.ALCHEMY));
statement.setInt(1, profile.getSkillXpLevel(SkillType.taming));
statement.setInt(2, profile.getSkillXpLevel(SkillType.mining));
statement.setInt(3, profile.getSkillXpLevel(SkillType.repair));
statement.setInt(4, profile.getSkillXpLevel(SkillType.woodcutting));
statement.setInt(5, profile.getSkillXpLevel(SkillType.unarmed));
statement.setInt(6, profile.getSkillXpLevel(SkillType.herbalism));
statement.setInt(7, profile.getSkillXpLevel(SkillType.excavation));
statement.setInt(8, profile.getSkillXpLevel(SkillType.archery));
statement.setInt(9, profile.getSkillXpLevel(SkillType.swords));
statement.setInt(10, profile.getSkillXpLevel(SkillType.axes));
statement.setInt(11, profile.getSkillXpLevel(SkillType.acrobatics));
statement.setInt(12, profile.getSkillXpLevel(SkillType.fishing));
statement.setInt(13, profile.getSkillXpLevel(SkillType.alchemy));
statement.setInt(14, id);
success &= (statement.executeUpdate() != 0);
statement.close();
@ -361,7 +361,7 @@ public final class SQLDatabaseManager implements DatabaseManager {
public List<PlayerStat> readLeaderboard(SkillType skill, int pageNumber, int statsPerPage) {
List<PlayerStat> stats = new ArrayList<PlayerStat>();
String query = skill == null ? ALL_QUERY_VERSION : skill.name().toLowerCase();
String query = skill == null ? ALL_QUERY_VERSION : skill.getName().toLowerCase();
ResultSet resultSet = null;
PreparedStatement statement = null;
Connection connection = null;
@ -425,8 +425,8 @@ public final class SQLDatabaseManager implements DatabaseManager {
try {
connection = getConnection(PoolIdentifier.MISC);
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
String skillName = skillType.name().toLowerCase();
for (SkillType skillType : SkillType.nonChildSkills) {
String skillName = skillType.getName().toLowerCase();
String sql = "SELECT COUNT(*) AS rank FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id WHERE " + skillName + " > 0 " +
"AND " + skillName + " > (SELECT " + skillName + " FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id " +
"WHERE user = ?)";
@ -1226,8 +1226,8 @@ public final class SQLDatabaseManager implements DatabaseManager {
}
private PlayerProfile loadFromResult(String playerName, ResultSet result) throws SQLException {
Map<SkillType, Integer> skills = new EnumMap<SkillType, Integer>(SkillType.class); // Skill & Level
Map<SkillType, Float> skillsXp = new EnumMap<SkillType, Float>(SkillType.class); // Skill & XP
Map<SkillType, Integer> skills = new HashMap<SkillType, Integer>(); // Skill & Level
Map<SkillType, Float> skillsXp = new HashMap<SkillType, Float>(); // Skill & XP
Map<AbilityType, Integer> skillsDATS = new EnumMap<AbilityType, Integer>(AbilityType.class); // Ability & Cooldown
MobHealthbarType mobHealthbarType;
UUID uuid;
@ -1238,33 +1238,33 @@ public final class SQLDatabaseManager implements DatabaseManager {
final int OFFSET_DATS = 26;
final int OFFSET_OTHER = 38;
skills.put(SkillType.TAMING, result.getInt(OFFSET_SKILLS + 1));
skills.put(SkillType.MINING, result.getInt(OFFSET_SKILLS + 2));
skills.put(SkillType.REPAIR, result.getInt(OFFSET_SKILLS + 3));
skills.put(SkillType.WOODCUTTING, result.getInt(OFFSET_SKILLS + 4));
skills.put(SkillType.UNARMED, result.getInt(OFFSET_SKILLS + 5));
skills.put(SkillType.HERBALISM, result.getInt(OFFSET_SKILLS + 6));
skills.put(SkillType.EXCAVATION, result.getInt(OFFSET_SKILLS + 7));
skills.put(SkillType.ARCHERY, result.getInt(OFFSET_SKILLS + 8));
skills.put(SkillType.SWORDS, result.getInt(OFFSET_SKILLS + 9));
skills.put(SkillType.AXES, result.getInt(OFFSET_SKILLS + 10));
skills.put(SkillType.ACROBATICS, result.getInt(OFFSET_SKILLS + 11));
skills.put(SkillType.FISHING, result.getInt(OFFSET_SKILLS + 12));
skills.put(SkillType.ALCHEMY, result.getInt(OFFSET_SKILLS + 13));
skills.put(SkillType.taming, result.getInt(OFFSET_SKILLS + 1));
skills.put(SkillType.mining, result.getInt(OFFSET_SKILLS + 2));
skills.put(SkillType.repair, result.getInt(OFFSET_SKILLS + 3));
skills.put(SkillType.woodcutting, result.getInt(OFFSET_SKILLS + 4));
skills.put(SkillType.unarmed, result.getInt(OFFSET_SKILLS + 5));
skills.put(SkillType.herbalism, result.getInt(OFFSET_SKILLS + 6));
skills.put(SkillType.excavation, result.getInt(OFFSET_SKILLS + 7));
skills.put(SkillType.archery, result.getInt(OFFSET_SKILLS + 8));
skills.put(SkillType.swords, result.getInt(OFFSET_SKILLS + 9));
skills.put(SkillType.axes, result.getInt(OFFSET_SKILLS + 10));
skills.put(SkillType.acrobatics, result.getInt(OFFSET_SKILLS + 11));
skills.put(SkillType.fishing, result.getInt(OFFSET_SKILLS + 12));
skills.put(SkillType.alchemy, result.getInt(OFFSET_SKILLS + 13));
skillsXp.put(SkillType.TAMING, result.getFloat(OFFSET_XP + 1));
skillsXp.put(SkillType.MINING, result.getFloat(OFFSET_XP + 2));
skillsXp.put(SkillType.REPAIR, result.getFloat(OFFSET_XP + 3));
skillsXp.put(SkillType.WOODCUTTING, result.getFloat(OFFSET_XP + 4));
skillsXp.put(SkillType.UNARMED, result.getFloat(OFFSET_XP + 5));
skillsXp.put(SkillType.HERBALISM, result.getFloat(OFFSET_XP + 6));
skillsXp.put(SkillType.EXCAVATION, result.getFloat(OFFSET_XP + 7));
skillsXp.put(SkillType.ARCHERY, result.getFloat(OFFSET_XP + 8));
skillsXp.put(SkillType.SWORDS, result.getFloat(OFFSET_XP + 9));
skillsXp.put(SkillType.AXES, result.getFloat(OFFSET_XP + 10));
skillsXp.put(SkillType.ACROBATICS, result.getFloat(OFFSET_XP + 11));
skillsXp.put(SkillType.FISHING, result.getFloat(OFFSET_XP + 12));
skillsXp.put(SkillType.ALCHEMY, result.getFloat(OFFSET_XP + 13));
skillsXp.put(SkillType.taming, result.getFloat(OFFSET_XP + 1));
skillsXp.put(SkillType.mining, result.getFloat(OFFSET_XP + 2));
skillsXp.put(SkillType.repair, result.getFloat(OFFSET_XP + 3));
skillsXp.put(SkillType.woodcutting, result.getFloat(OFFSET_XP + 4));
skillsXp.put(SkillType.unarmed, result.getFloat(OFFSET_XP + 5));
skillsXp.put(SkillType.herbalism, result.getFloat(OFFSET_XP + 6));
skillsXp.put(SkillType.excavation, result.getFloat(OFFSET_XP + 7));
skillsXp.put(SkillType.archery, result.getFloat(OFFSET_XP + 8));
skillsXp.put(SkillType.swords, result.getFloat(OFFSET_XP + 9));
skillsXp.put(SkillType.axes, result.getFloat(OFFSET_XP + 10));
skillsXp.put(SkillType.acrobatics, result.getFloat(OFFSET_XP + 11));
skillsXp.put(SkillType.fishing, result.getFloat(OFFSET_XP + 12));
skillsXp.put(SkillType.alchemy, result.getFloat(OFFSET_XP + 13));
// Taming - Unused - result.getInt(OFFSET_DATS + 1)
skillsDATS.put(AbilityType.SUPER_BREAKER, result.getInt(OFFSET_DATS + 2));
@ -1357,11 +1357,11 @@ public final class SQLDatabaseManager implements DatabaseManager {
resultSet = statement.executeQuery("SHOW INDEX FROM `" + tablePrefix + "skills` WHERE `Key_name` LIKE 'idx\\_%'");
resultSet.last();
if (resultSet.getRow() != SkillType.NON_CHILD_SKILLS.size()) {
if (resultSet.getRow() != SkillType.nonChildSkills.size()) {
mcMMO.p.getLogger().info("Indexing tables, this may take a while on larger databases");
for (SkillType skill : SkillType.NON_CHILD_SKILLS) {
String skill_name = skill.name().toLowerCase();
for (SkillType skill : SkillType.nonChildSkills) {
String skill_name = skill.getName().toLowerCase();
try {
statement.executeUpdate("ALTER TABLE `" + tablePrefix + "skills` ADD INDEX `idx_" + skill_name + "` (`" + skill_name + "`) USING BTREE");

View File

@ -111,7 +111,7 @@ public class McMMOPlayer {
* If in the future someone wants to remove this, don't forget to also remove what is in the SkillType enum. - bm01
*/
try {
for (SkillType skillType : SkillType.values()) {
for (SkillType skillType : SkillType.skillList) {
skillManagers.put(skillType, skillType.getManagerClass().getConstructor(McMMOPlayer.class).newInstance(this));
}
}
@ -131,63 +131,63 @@ public class McMMOPlayer {
}
public AcrobaticsManager getAcrobaticsManager() {
return (AcrobaticsManager) skillManagers.get(SkillType.ACROBATICS);
return (AcrobaticsManager) skillManagers.get(SkillType.acrobatics);
}
public AlchemyManager getAlchemyManager() {
return (AlchemyManager) skillManagers.get(SkillType.ALCHEMY);
return (AlchemyManager) skillManagers.get(SkillType.alchemy);
}
public ArcheryManager getArcheryManager() {
return (ArcheryManager) skillManagers.get(SkillType.ARCHERY);
return (ArcheryManager) skillManagers.get(SkillType.archery);
}
public AxesManager getAxesManager() {
return (AxesManager) skillManagers.get(SkillType.AXES);
return (AxesManager) skillManagers.get(SkillType.axes);
}
public ExcavationManager getExcavationManager() {
return (ExcavationManager) skillManagers.get(SkillType.EXCAVATION);
return (ExcavationManager) skillManagers.get(SkillType.excavation);
}
public FishingManager getFishingManager() {
return (FishingManager) skillManagers.get(SkillType.FISHING);
return (FishingManager) skillManagers.get(SkillType.fishing);
}
public HerbalismManager getHerbalismManager() {
return (HerbalismManager) skillManagers.get(SkillType.HERBALISM);
return (HerbalismManager) skillManagers.get(SkillType.herbalism);
}
public MiningManager getMiningManager() {
return (MiningManager) skillManagers.get(SkillType.MINING);
return (MiningManager) skillManagers.get(SkillType.mining);
}
public RepairManager getRepairManager() {
return (RepairManager) skillManagers.get(SkillType.REPAIR);
return (RepairManager) skillManagers.get(SkillType.repair);
}
public SalvageManager getSalvageManager() {
return (SalvageManager) skillManagers.get(SkillType.SALVAGE);
return (SalvageManager) skillManagers.get(SkillType.salvage);
}
public SmeltingManager getSmeltingManager() {
return (SmeltingManager) skillManagers.get(SkillType.SMELTING);
return (SmeltingManager) skillManagers.get(SkillType.smelting);
}
public SwordsManager getSwordsManager() {
return (SwordsManager) skillManagers.get(SkillType.SWORDS);
return (SwordsManager) skillManagers.get(SkillType.swords);
}
public TamingManager getTamingManager() {
return (TamingManager) skillManagers.get(SkillType.TAMING);
return (TamingManager) skillManagers.get(SkillType.taming);
}
public UnarmedManager getUnarmedManager() {
return (UnarmedManager) skillManagers.get(SkillType.UNARMED);
return (UnarmedManager) skillManagers.get(SkillType.unarmed);
}
public WoodcuttingManager getWoodcuttingManager() {
return (WoodcuttingManager) skillManagers.get(SkillType.WOODCUTTING);
return (WoodcuttingManager) skillManagers.get(SkillType.woodcutting);
}
public SkillManager getSkillManager(SkillType skillType) {
@ -389,7 +389,7 @@ public class McMMOPlayer {
public int getPowerLevel() {
int powerLevel = 0;
for (SkillType type : SkillType.NON_CHILD_SKILLS) {
for (SkillType type : SkillType.nonChildSkills) {
if (type.getPermissions(player)) {
powerLevel += getSkillLevel(type);
}
@ -475,7 +475,7 @@ public class McMMOPlayer {
return;
}
isUsingUnarmed = (skillType == SkillType.UNARMED);
isUsingUnarmed = (skillType == SkillType.unarmed);
checkXp(skillType, xpGainReason);
}
@ -725,7 +725,7 @@ public class McMMOPlayer {
* Axes and Woodcutting are odd because they share the same tool.
* We show them the too tired message when they take action.
*/
if (skill == SkillType.WOODCUTTING || skill == SkillType.AXES) {
if (skill == SkillType.woodcutting || skill == SkillType.axes) {
player.sendMessage(LocaleLoader.getString("Skills.TooTired", timeRemaining));
}
@ -787,7 +787,7 @@ public class McMMOPlayer {
* Basically the tool always needs to ready and we check to see if the cooldown is over when the user takes action
*/
if (ability.getPermissions(player) && tool.inHand(inHand) && !getToolPreparationMode(tool)) {
if (skill != SkillType.WOODCUTTING && skill != SkillType.AXES) {
if (skill != SkillType.woodcutting && skill != SkillType.axes) {
int timeRemaining = calculateTimeRemaining(ability);
if (!getAbilityMode(ability) && timeRemaining > 0) {

View File

@ -47,7 +47,7 @@ public class PlayerProfile {
abilityDATS.put(abilityType, 0);
}
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
skills.put(skillType, 0);
skillsXp.put(skillType, 0F);
}

View File

@ -10,6 +10,22 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Tameable;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.commands.skills.AcrobaticsCommand;
import com.gmail.nossr50.commands.skills.AlchemyCommand;
import com.gmail.nossr50.commands.skills.ArcheryCommand;
import com.gmail.nossr50.commands.skills.AxesCommand;
import com.gmail.nossr50.commands.skills.ExcavationCommand;
import com.gmail.nossr50.commands.skills.FishingCommand;
import com.gmail.nossr50.commands.skills.HerbalismCommand;
import com.gmail.nossr50.commands.skills.MiningCommand;
import com.gmail.nossr50.commands.skills.RepairCommand;
import com.gmail.nossr50.commands.skills.SalvageCommand;
import com.gmail.nossr50.commands.skills.SkillCommand;
import com.gmail.nossr50.commands.skills.SmeltingCommand;
import com.gmail.nossr50.commands.skills.SwordsCommand;
import com.gmail.nossr50.commands.skills.TamingCommand;
import com.gmail.nossr50.commands.skills.UnarmedCommand;
import com.gmail.nossr50.commands.skills.WoodcuttingCommand;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.locale.LocaleLoader;
@ -32,71 +48,92 @@ import com.gmail.nossr50.skills.woodcutting.WoodcuttingManager;
import com.gmail.nossr50.util.Permissions;
import com.gmail.nossr50.util.StringUtils;
import com.gmail.nossr50.util.skills.ParticleEffectUtils;
import com.google.common.collect.ImmutableList;
public enum SkillType {
ACROBATICS(AcrobaticsManager.class, Color.WHITE, ImmutableList.of(SecondaryAbility.DODGE, SecondaryAbility.GRACEFUL_ROLL, SecondaryAbility.ROLL)),
ALCHEMY(AlchemyManager.class, Color.FUCHSIA, ImmutableList.of(SecondaryAbility.CATALYSIS, SecondaryAbility.CONCOCTIONS)),
ARCHERY(ArcheryManager.class, Color.MAROON, ImmutableList.of(SecondaryAbility.DAZE, SecondaryAbility.RETRIEVE, SecondaryAbility.SKILL_SHOT)),
AXES(AxesManager.class, Color.AQUA, AbilityType.SKULL_SPLITTER, ToolType.AXE, ImmutableList.of(SecondaryAbility.ARMOR_IMPACT, SecondaryAbility.AXE_MASTERY, SecondaryAbility.CRITICAL_HIT, SecondaryAbility.GREATER_IMPACT)),
EXCAVATION(ExcavationManager.class, Color.fromRGB(139, 69, 19), AbilityType.GIGA_DRILL_BREAKER, ToolType.SHOVEL, ImmutableList.of(SecondaryAbility.EXCAVATION_TREASURE_HUNTER)),
FISHING(FishingManager.class, Color.NAVY, ImmutableList.of(SecondaryAbility.FISHERMANS_DIET, SecondaryAbility.FISHING_TREASURE_HUNTER, SecondaryAbility.ICE_FISHING, SecondaryAbility.MAGIC_HUNTER, SecondaryAbility.MASTER_ANGLER, SecondaryAbility.SHAKE)),
HERBALISM(HerbalismManager.class, Color.GREEN, AbilityType.GREEN_TERRA, ToolType.HOE, ImmutableList.of(SecondaryAbility.FARMERS_DIET, SecondaryAbility.GREEN_THUMB_PLANT, SecondaryAbility.GREEN_THUMB_BLOCK, SecondaryAbility.HERBALISM_DOUBLE_DROPS, SecondaryAbility.HYLIAN_LUCK, SecondaryAbility.SHROOM_THUMB)),
MINING(MiningManager.class, Color.GRAY, AbilityType.SUPER_BREAKER, ToolType.PICKAXE, ImmutableList.of(SecondaryAbility.MINING_DOUBLE_DROPS)),
REPAIR(RepairManager.class, Color.SILVER, ImmutableList.of(SecondaryAbility.ARCANE_FORGING, SecondaryAbility.REPAIR_MASTERY, SecondaryAbility.SUPER_REPAIR)),
SALVAGE(SalvageManager.class, Color.ORANGE, ImmutableList.of(SecondaryAbility.ADVANCED_SALVAGE, SecondaryAbility.ARCANE_SALVAGE)),
SMELTING(SmeltingManager.class, Color.YELLOW, ImmutableList.of(SecondaryAbility.FLUX_MINING, SecondaryAbility.FUEL_EFFICIENCY, SecondaryAbility.SECOND_SMELT)),
SWORDS(SwordsManager.class, Color.fromRGB(178, 34, 34), AbilityType.SERRATED_STRIKES, ToolType.SWORD, ImmutableList.of(SecondaryAbility.BLEED, SecondaryAbility.COUNTER)),
TAMING(TamingManager.class, Color.PURPLE, ImmutableList.of(SecondaryAbility.BEAST_LORE, SecondaryAbility.CALL_OF_THE_WILD, SecondaryAbility.ENVIROMENTALLY_AWARE, SecondaryAbility.FAST_FOOD, SecondaryAbility.GORE, SecondaryAbility.HOLY_HOUND, SecondaryAbility.SHARPENED_CLAWS, SecondaryAbility.SHOCK_PROOF, SecondaryAbility.THICK_FUR)),
UNARMED(UnarmedManager.class, Color.BLACK, AbilityType.BERSERK, ToolType.FISTS, ImmutableList.of(SecondaryAbility.BLOCK_CRACKER, SecondaryAbility.DEFLECT, SecondaryAbility.DISARM, SecondaryAbility.IRON_ARM, SecondaryAbility.IRON_GRIP)),
WOODCUTTING(WoodcuttingManager.class, Color.OLIVE, AbilityType.TREE_FELLER, ToolType.AXE, ImmutableList.of(SecondaryAbility.LEAF_BLOWER, SecondaryAbility.WOODCUTTING_DOUBLE_DROPS));
public class SkillType {
public enum SkillUseType {
COMBAT,
GATHERING,
MISC
}
public static List<String> skillNames = new ArrayList<String>();
public static List<SkillType> skillList = new ArrayList<SkillType>();
public static List<SkillType> childSkills = new ArrayList<SkillType>();
public static List<SkillType> nonChildSkills = new ArrayList<SkillType>();
public static List<SkillType> combatSkills = new ArrayList<SkillType>();
public static List<SkillType> gatheringSkills = new ArrayList<SkillType>();
public static List<SkillType> miscSkills = new ArrayList<SkillType>();
public static final SkillType acrobatics = createSkill("ACROBATICS" , AcrobaticsManager.class , AcrobaticsCommand.class , false, Color.WHITE, SkillUseType.MISC, ImmutableList.of(SecondaryAbility.DODGE, SecondaryAbility.GRACEFUL_ROLL, SecondaryAbility.ROLL));
public static final SkillType alchemy = createSkill("ALCHEMY" , AlchemyManager.class , AlchemyCommand.class , false, Color.FUCHSIA, SkillUseType.MISC, ImmutableList.of(SecondaryAbility.CATALYSIS, SecondaryAbility.CONCOCTIONS));
public static final SkillType archery = createSkill("ARCHERY" , ArcheryManager.class , ArcheryCommand.class , false, Color.MAROON, SkillUseType.COMBAT, ImmutableList.of(SecondaryAbility.DAZE, SecondaryAbility.RETRIEVE, SecondaryAbility.SKILL_SHOT));
public static final SkillType axes = createSkill("AXES" , AxesManager.class , AxesCommand.class , false, Color.AQUA, SkillUseType.COMBAT, AbilityType.SKULL_SPLITTER, ToolType.AXE, ImmutableList.of(SecondaryAbility.ARMOR_IMPACT, SecondaryAbility.AXE_MASTERY, SecondaryAbility.CRITICAL_HIT, SecondaryAbility.GREATER_IMPACT));
public static final SkillType excavation = createSkill("EXCAVATION" , ExcavationManager.class , ExcavationCommand.class , false, Color.fromRGB(139, 69, 19), SkillUseType.GATHERING, AbilityType.GIGA_DRILL_BREAKER, ToolType.SHOVEL, ImmutableList.of(SecondaryAbility.EXCAVATION_TREASURE_HUNTER));
public static final SkillType fishing = createSkill("FISHING" , FishingManager.class , FishingCommand.class , false, Color.NAVY, SkillUseType.GATHERING, ImmutableList.of(SecondaryAbility.FISHERMANS_DIET, SecondaryAbility.FISHING_TREASURE_HUNTER, SecondaryAbility.ICE_FISHING, SecondaryAbility.MAGIC_HUNTER, SecondaryAbility.MASTER_ANGLER, SecondaryAbility.SHAKE));
public static final SkillType herbalism = createSkill("HERBALISM" , HerbalismManager.class , HerbalismCommand.class , false, Color.GREEN, SkillUseType.GATHERING, AbilityType.GREEN_TERRA, ToolType.HOE, ImmutableList.of(SecondaryAbility.FARMERS_DIET, SecondaryAbility.GREEN_THUMB_PLANT, SecondaryAbility.GREEN_THUMB_BLOCK, SecondaryAbility.HERBALISM_DOUBLE_DROPS, SecondaryAbility.HYLIAN_LUCK, SecondaryAbility.SHROOM_THUMB));
public static final SkillType mining = createSkill("MINING" , MiningManager.class , MiningCommand.class , false, Color.GRAY, SkillUseType.GATHERING, AbilityType.SUPER_BREAKER, ToolType.PICKAXE, ImmutableList.of(SecondaryAbility.MINING_DOUBLE_DROPS));
public static final SkillType repair = createSkill("REPAIR" , RepairManager.class , RepairCommand.class , false, Color.SILVER, SkillUseType.MISC, ImmutableList.of(SecondaryAbility.ARCANE_FORGING, SecondaryAbility.REPAIR_MASTERY, SecondaryAbility.SUPER_REPAIR));
public static final SkillType salvage = createSkill("SALVAGE" , SalvageManager.class , SalvageCommand.class , true, Color.ORANGE, SkillUseType.MISC, ImmutableList.of(SecondaryAbility.ADVANCED_SALVAGE, SecondaryAbility.ARCANE_SALVAGE));
public static final SkillType smelting = createSkill("SMELTING" , SmeltingManager.class , SmeltingCommand.class , true, Color.YELLOW, SkillUseType.MISC, ImmutableList.of(SecondaryAbility.FLUX_MINING, SecondaryAbility.FUEL_EFFICIENCY, SecondaryAbility.SECOND_SMELT));
public static final SkillType swords = createSkill("SWORDS" , SwordsManager.class , SwordsCommand.class , false, Color.fromRGB(178, 34, 34), SkillUseType.COMBAT, AbilityType.SERRATED_STRIKES, ToolType.SWORD, ImmutableList.of(SecondaryAbility.BLEED, SecondaryAbility.COUNTER));
public static final SkillType taming = createSkill("TAMING" , TamingManager.class , TamingCommand.class , false, Color.PURPLE, SkillUseType.COMBAT, ImmutableList.of(SecondaryAbility.BEAST_LORE, SecondaryAbility.CALL_OF_THE_WILD, SecondaryAbility.ENVIROMENTALLY_AWARE, SecondaryAbility.FAST_FOOD, SecondaryAbility.GORE, SecondaryAbility.HOLY_HOUND, SecondaryAbility.SHARPENED_CLAWS, SecondaryAbility.SHOCK_PROOF, SecondaryAbility.THICK_FUR));
public static final SkillType unarmed = createSkill("UNARMED" , UnarmedManager.class , UnarmedCommand.class , false, Color.BLACK, SkillUseType.COMBAT, AbilityType.BERSERK, ToolType.FISTS, ImmutableList.of(SecondaryAbility.BLOCK_CRACKER, SecondaryAbility.DEFLECT, SecondaryAbility.DISARM, SecondaryAbility.IRON_ARM, SecondaryAbility.IRON_GRIP));
public static final SkillType woodcutting = createSkill("WOODCUTTING", WoodcuttingManager.class , WoodcuttingCommand.class , false, Color.OLIVE, SkillUseType.GATHERING, AbilityType.TREE_FELLER, ToolType.AXE, ImmutableList.of(SecondaryAbility.LEAF_BLOWER, SecondaryAbility.WOODCUTTING_DOUBLE_DROPS));
private String name;
private Class<? extends SkillManager> managerClass;
private Class<? extends SkillCommand> commandClass;
private boolean isChild;
private Color runescapeColor;
private SkillUseType skillUseType;
private AbilityType ability;
private ToolType tool;
private List<SecondaryAbility> secondaryAbilities;
public static final List<String> SKILL_NAMES;
public static final List<SkillType> CHILD_SKILLS;
public static final List<SkillType> NON_CHILD_SKILLS;
public static final List<SkillType> COMBAT_SKILLS = ImmutableList.of(ARCHERY, AXES, SWORDS, TAMING, UNARMED);
public static final List<SkillType> GATHERING_SKILLS = ImmutableList.of(EXCAVATION, FISHING, HERBALISM, MINING, WOODCUTTING);
public static final List<SkillType> MISC_SKILLS = ImmutableList.of(ACROBATICS, ALCHEMY, REPAIR, SALVAGE, SMELTING);
static {
List<SkillType> childSkills = new ArrayList<SkillType>();
List<SkillType> nonChildSkills = new ArrayList<SkillType>();
ArrayList<String> names = new ArrayList<String>();
for (SkillType skill : values()) {
if (skill.isChildSkill()) {
childSkills.add(skill);
}
else {
nonChildSkills.add(skill);
}
names.add(skill.getName());
}
Collections.sort(names);
SKILL_NAMES = ImmutableList.copyOf(names);
CHILD_SKILLS = ImmutableList.copyOf(childSkills);
NON_CHILD_SKILLS = ImmutableList.copyOf(nonChildSkills);
public static SkillType createSkill(String name, Class<? extends SkillManager> managerClass, Class<? extends SkillCommand> commandClass, boolean isChild, Color runescapeColor, SkillUseType skillUseType, List<SecondaryAbility> secondaryAbilities) {
return createSkill(name, managerClass, commandClass, isChild, runescapeColor, skillUseType, null, null, secondaryAbilities);
}
private SkillType(Class<? extends SkillManager> managerClass, Color runescapeColor, List<SecondaryAbility> secondaryAbilities) {
this(managerClass, runescapeColor, null, null, secondaryAbilities);
public static SkillType createSkill(String name, Class<? extends SkillManager> managerClass, Class<? extends SkillCommand> commandClass, boolean isChild, Color runescapeColor, SkillUseType skillUseType, AbilityType ability, ToolType tool, List<SecondaryAbility> secondaryAbilities) {
SkillType skill = new SkillType(name, managerClass, commandClass, isChild, runescapeColor, skillUseType, ability, tool, secondaryAbilities);
skillList.add(skill);
if(skill.isChild) {
childSkills.add(skill);
}
else {
nonChildSkills.add(skill);
}
switch(skill.skillUseType) {
case COMBAT:
combatSkills.add(skill);
break;
case GATHERING:
gatheringSkills.add(skill);
break;
default:
miscSkills.add(skill);
break;
}
skillNames.add(skill.name);
return skill;
}
private SkillType(Class<? extends SkillManager> managerClass, Color runescapeColor, AbilityType ability, ToolType tool, List<SecondaryAbility> secondaryAbilities) {
this.managerClass = managerClass;
private SkillType(String name, Class<? extends SkillManager> managerClass, Class<? extends SkillCommand> commandClass, boolean isChild, Color runescapeColor, SkillUseType skillUseType, List<SecondaryAbility> secondaryAbilities) {
this(name, managerClass, commandClass, isChild, runescapeColor, skillUseType, null, null, secondaryAbilities);
}
private SkillType(String name, Class<? extends SkillManager> managerClass, Class<? extends SkillCommand> commandClass, boolean isChild, Color runescapeColor, SkillUseType skillUseType, AbilityType ability, ToolType tool, List<SecondaryAbility> secondaryAbilities) {
this.name = name;
this.managerClass = managerClass;
this.commandClass = commandClass;
this.isChild = isChild;
this.runescapeColor = runescapeColor;
this.skillUseType = skillUseType;
this.ability = ability;
this.tool = tool;
this.secondaryAbilities = secondaryAbilities;
@ -106,6 +143,10 @@ public enum SkillType {
return managerClass;
}
public Class<? extends SkillCommand> getCommandClass() {
return commandClass;
}
public AbilityType getAbility() {
return ability;
}
@ -159,17 +200,21 @@ public enum SkillType {
return ExperienceConfig.getInstance().getFormulaSkillModifier(this);
}
public static SkillType getSkill(String skillName) {
public static SkillType getSkillFromLocalized(String skillName) {
if (!Config.getInstance().getLocale().equalsIgnoreCase("en_US")) {
for (SkillType type : values()) {
if (skillName.equalsIgnoreCase(LocaleLoader.getString(StringUtils.getCapitalized(type.name()) + ".SkillName"))) {
for (SkillType type : skillList) {
if (skillName.equalsIgnoreCase(LocaleLoader.getString(StringUtils.getCapitalized(type.name) + ".SkillName"))) {
return type;
}
}
}
for (SkillType type : values()) {
if (type.name().equalsIgnoreCase(skillName)) {
return getSkill(skillName);
}
public static SkillType getSkill(String skillName) {
for (SkillType type : skillList) {
if (type.name.equalsIgnoreCase(skillName)) {
return type;
}
}
@ -181,20 +226,12 @@ public enum SkillType {
return null;
}
// TODO: This is a little "hacky", we probably need to add something to distinguish child skills in the enum, or to use another enum for them
public boolean isChildSkill() {
switch (this) {
case SALVAGE:
case SMELTING:
return true;
default:
return false;
}
return isChild;
}
public static SkillType bySecondaryAbility(SecondaryAbility skillAbility) {
for (SkillType type : values()) {
for (SkillType type : skillList) {
if (type.getSkillAbilities().contains(skillAbility)) {
return type;
}
@ -203,7 +240,7 @@ public enum SkillType {
}
public static SkillType byAbility(AbilityType ability) {
for (SkillType type : values()) {
for (SkillType type : skillList) {
if (type.getAbility() == ability) {
return type;
}
@ -212,7 +249,18 @@ public enum SkillType {
return null;
}
public String getName() {
public String getName()
{
return this.name;
}
@Override
public String toString()
{
return getName();
}
public String getLocalizedName() {
return Config.getInstance().getLocale().equalsIgnoreCase("en_US") ? StringUtils.getCapitalized(this.toString()) : StringUtils.getCapitalized(LocaleLoader.getString(StringUtils.getCapitalized(this.toString()) + ".SkillName"));
}
@ -227,4 +275,9 @@ public enum SkillType {
public boolean shouldProcess(Entity target) {
return (target instanceof Player || (target instanceof Tameable && ((Tameable) target).isTamed())) ? getPVPEnabled() : getPVEEnabled();
}
public static void setUpSkillTypes()
{
Collections.sort(skillNames);
}
}

View File

@ -15,7 +15,7 @@ public class McMMOPlayerBrewEvent extends McMMOPlayerSkillEvent implements Cance
private boolean cancelled;
public McMMOPlayerBrewEvent(Player player, BlockState brewingStand) {
super(player, SkillType.ALCHEMY);
super(player, SkillType.alchemy);
this.brewingStand = brewingStand;
cancelled = false;
}

View File

@ -12,7 +12,7 @@ public class McMMOPlayerCatalysisEvent extends McMMOPlayerSkillEvent implements
private boolean cancelled;
public McMMOPlayerCatalysisEvent(Player player, double speed) {
super(player, SkillType.ALCHEMY);
super(player, SkillType.alchemy);
this.speed = speed;
cancelled = false;
}

View File

@ -10,7 +10,7 @@ public class McMMOPlayerFishingEvent extends McMMOPlayerSkillEvent implements Ca
private boolean cancelled;
protected McMMOPlayerFishingEvent(Player player) {
super(player, SkillType.FISHING);
super(player, SkillType.fishing);
cancelled = false;
}

View File

@ -17,7 +17,7 @@ public class McMMOPlayerRepairCheckEvent extends McMMOPlayerSkillEvent implement
private boolean cancelled;
public McMMOPlayerRepairCheckEvent(Player player, short repairAmount, ItemStack repairMaterial, ItemStack repairedObject) {
super(player, SkillType.REPAIR);
super(player, SkillType.repair);
this.repairAmount = repairAmount;
this.repairMaterial = repairMaterial;
this.repairedObject = repairedObject;

View File

@ -11,7 +11,7 @@ public class McMMOPlayerDisarmEvent extends McMMOPlayerSkillEvent implements Can
private Player defender;
public McMMOPlayerDisarmEvent(Player defender) {
super(defender, SkillType.UNARMED);
super(defender, SkillType.unarmed);
this.defender = defender;
}

View File

@ -130,10 +130,10 @@ public class BlockListener implements Listener {
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
if (blockState.getType() == Repair.anvilMaterial && SkillType.REPAIR.getPermissions(player)) {
if (blockState.getType() == Repair.anvilMaterial && SkillType.repair.getPermissions(player)) {
mcMMOPlayer.getRepairManager().placedAnvilCheck();
}
else if (blockState.getType() == Salvage.anvilMaterial && SkillType.SALVAGE.getPermissions(player)) {
else if (blockState.getType() == Salvage.anvilMaterial && SkillType.salvage.getPermissions(player)) {
mcMMOPlayer.getSalvageManager().placedAnvilCheck();
}
}
@ -176,26 +176,26 @@ public class BlockListener implements Listener {
/* Green Terra */
if (herbalismManager.canActivateAbility()) {
mcMMOPlayer.checkAbilityActivation(SkillType.HERBALISM);
mcMMOPlayer.checkAbilityActivation(SkillType.herbalism);
}
/*
* We don't check the block store here because herbalism has too many unusual edge cases.
* Instead, we check it inside the drops handler.
*/
if (SkillType.HERBALISM.getPermissions(player)) {
if (SkillType.herbalism.getPermissions(player)) {
herbalismManager.herbalismBlockCheck(blockState);
}
}
/* MINING */
else if (BlockUtils.affectedBySuperBreaker(blockState) && ItemUtils.isPickaxe(heldItem) && SkillType.MINING.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) {
else if (BlockUtils.affectedBySuperBreaker(blockState) && ItemUtils.isPickaxe(heldItem) && SkillType.mining.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) {
MiningManager miningManager = mcMMOPlayer.getMiningManager();
miningManager.miningBlockCheck(blockState);
}
/* WOOD CUTTING */
else if (BlockUtils.isLog(blockState) && ItemUtils.isAxe(heldItem) && SkillType.WOODCUTTING.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) {
else if (BlockUtils.isLog(blockState) && ItemUtils.isAxe(heldItem) && SkillType.woodcutting.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) {
WoodcuttingManager woodcuttingManager = mcMMOPlayer.getWoodcuttingManager();
if (woodcuttingManager.canUseTreeFeller(heldItem)) {
@ -207,7 +207,7 @@ public class BlockListener implements Listener {
}
/* EXCAVATION */
else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && SkillType.EXCAVATION.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) {
else if (BlockUtils.affectedByGigaDrillBreaker(blockState) && ItemUtils.isShovel(heldItem) && SkillType.excavation.getPermissions(player) && !mcMMO.getPlaceStore().isTrue(blockState)) {
ExcavationManager excavationManager = mcMMOPlayer.getExcavationManager();
excavationManager.excavationBlockCheck(blockState);
@ -312,19 +312,19 @@ public class BlockListener implements Listener {
}
if (mcMMOPlayer.getToolPreparationMode(ToolType.HOE) && ItemUtils.isHoe(heldItem) && (BlockUtils.affectedByGreenTerra(blockState) || BlockUtils.canMakeMossy(blockState)) && Permissions.greenTerra(player)) {
mcMMOPlayer.checkAbilityActivation(SkillType.HERBALISM);
mcMMOPlayer.checkAbilityActivation(SkillType.herbalism);
}
else if (mcMMOPlayer.getToolPreparationMode(ToolType.AXE) && ItemUtils.isAxe(heldItem) && BlockUtils.isLog(blockState) && Permissions.treeFeller(player)) {
mcMMOPlayer.checkAbilityActivation(SkillType.WOODCUTTING);
mcMMOPlayer.checkAbilityActivation(SkillType.woodcutting);
}
else if (mcMMOPlayer.getToolPreparationMode(ToolType.PICKAXE) && ItemUtils.isPickaxe(heldItem) && BlockUtils.affectedBySuperBreaker(blockState) && Permissions.superBreaker(player)) {
mcMMOPlayer.checkAbilityActivation(SkillType.MINING);
mcMMOPlayer.checkAbilityActivation(SkillType.mining);
}
else if (mcMMOPlayer.getToolPreparationMode(ToolType.SHOVEL) && ItemUtils.isShovel(heldItem) && BlockUtils.affectedByGigaDrillBreaker(blockState) && Permissions.gigaDrillBreaker(player)) {
mcMMOPlayer.checkAbilityActivation(SkillType.EXCAVATION);
mcMMOPlayer.checkAbilityActivation(SkillType.excavation);
}
else if (mcMMOPlayer.getToolPreparationMode(ToolType.FISTS) && heldItem.getType() == Material.AIR && (BlockUtils.affectedByGigaDrillBreaker(blockState) || blockState.getType() == Material.SNOW || BlockUtils.affectedByBlockCracker(blockState) && Permissions.berserk(player))) {
mcMMOPlayer.checkAbilityActivation(SkillType.UNARMED);
mcMMOPlayer.checkAbilityActivation(SkillType.unarmed);
}
}

View File

@ -113,7 +113,7 @@ public class InventoryListener implements Listener {
Player player = getPlayerFromFurnace(furnaceBlock);
if (!UserManager.hasPlayerDataKey(player) || !SkillType.SMELTING.getPermissions(player)) {
if (!UserManager.hasPlayerDataKey(player) || !SkillType.smelting.getPermissions(player)) {
return;
}
@ -132,7 +132,7 @@ public class InventoryListener implements Listener {
Player player = getPlayerFromFurnace(furnaceBlock);
if (!UserManager.hasPlayerDataKey(player) || !Permissions.vanillaXpBoost(player, SkillType.SMELTING)) {
if (!UserManager.hasPlayerDataKey(player) || !Permissions.vanillaXpBoost(player, SkillType.smelting)) {
return;
}

View File

@ -211,7 +211,7 @@ public class PlayerListener implements Listener {
public void onPlayerFishHighest(PlayerFishEvent event) {
Player player = event.getPlayer();
if (!UserManager.hasPlayerDataKey(player) || !SkillType.FISHING.getPermissions(player)) {
if (!UserManager.hasPlayerDataKey(player) || !SkillType.fishing.getPermissions(player)) {
return;
}
@ -232,7 +232,7 @@ public class PlayerListener implements Listener {
fishingCatch.setItemStack(new ItemStack(Material.RAW_FISH, 1));
}
if (Permissions.vanillaXpBoost(player, SkillType.FISHING)) {
if (Permissions.vanillaXpBoost(player, SkillType.fishing)) {
event.setExpToDrop(fishingManager.handleVanillaXpBoost(event.getExpToDrop()));
}
return;
@ -263,7 +263,7 @@ public class PlayerListener implements Listener {
public void onPlayerFishMonitor(PlayerFishEvent event) {
Player player = event.getPlayer();
if (!UserManager.hasPlayerDataKey(player) || !SkillType.FISHING.getPermissions(player)) {
if (!UserManager.hasPlayerDataKey(player) || !SkillType.fishing.getPermissions(player)) {
return;
}
@ -446,7 +446,7 @@ public class PlayerListener implements Listener {
if (!Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() || player.isSneaking()) {
/* REPAIR CHECKS */
if (type == Repair.anvilMaterial && SkillType.REPAIR.getPermissions(player) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
if (type == Repair.anvilMaterial && SkillType.repair.getPermissions(player) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
RepairManager repairManager = mcMMOPlayer.getRepairManager();
event.setCancelled(true);
@ -457,7 +457,7 @@ public class PlayerListener implements Listener {
}
}
/* SALVAGE CHECKS */
else if (type == Salvage.anvilMaterial && SkillType.SALVAGE.getPermissions(player) && mcMMO.getSalvageableManager().isSalvageable(heldItem)) {
else if (type == Salvage.anvilMaterial && SkillType.salvage.getPermissions(player) && mcMMO.getSalvageableManager().isSalvageable(heldItem)) {
SalvageManager salvageManager = UserManager.getPlayer(player).getSalvageManager();
event.setCancelled(true);
@ -485,7 +485,7 @@ public class PlayerListener implements Listener {
if ((Config.getInstance().getAbilitiesOnlyActivateWhenSneaking() && player.isSneaking()) || !Config.getInstance().getAbilitiesOnlyActivateWhenSneaking()) {
/* REPAIR CHECKS */
if (type == Repair.anvilMaterial && SkillType.REPAIR.getPermissions(player) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
if (type == Repair.anvilMaterial && SkillType.repair.getPermissions(player) && mcMMO.getRepairableManager().isRepairable(heldItem)) {
RepairManager repairManager = mcMMOPlayer.getRepairManager();
// Cancel repairing an enchanted item
@ -495,7 +495,7 @@ public class PlayerListener implements Listener {
}
}
/* SALVAGE CHECKS */
else if (type == Salvage.anvilMaterial && SkillType.SALVAGE.getPermissions(player) && mcMMO.getSalvageableManager().isSalvageable(heldItem)) {
else if (type == Salvage.anvilMaterial && SkillType.salvage.getPermissions(player) && mcMMO.getSalvageableManager().isSalvageable(heldItem)) {
SalvageManager salvageManager = mcMMOPlayer.getSalvageManager();
// Cancel salvaging an enchanted item
@ -538,15 +538,15 @@ public class PlayerListener implements Listener {
if (BlockUtils.canActivateAbilities(blockState)) {
if (Config.getInstance().getAbilitiesEnabled()) {
if (BlockUtils.canActivateHerbalism(blockState)) {
mcMMOPlayer.processAbilityActivation(SkillType.HERBALISM);
mcMMOPlayer.processAbilityActivation(SkillType.herbalism);
}
mcMMOPlayer.processAbilityActivation(SkillType.AXES);
mcMMOPlayer.processAbilityActivation(SkillType.EXCAVATION);
mcMMOPlayer.processAbilityActivation(SkillType.MINING);
mcMMOPlayer.processAbilityActivation(SkillType.SWORDS);
mcMMOPlayer.processAbilityActivation(SkillType.UNARMED);
mcMMOPlayer.processAbilityActivation(SkillType.WOODCUTTING);
mcMMOPlayer.processAbilityActivation(SkillType.axes);
mcMMOPlayer.processAbilityActivation(SkillType.excavation);
mcMMOPlayer.processAbilityActivation(SkillType.mining);
mcMMOPlayer.processAbilityActivation(SkillType.swords);
mcMMOPlayer.processAbilityActivation(SkillType.unarmed);
mcMMOPlayer.processAbilityActivation(SkillType.woodcutting);
}
ChimaeraWing.activationCheck(player);
@ -575,13 +575,13 @@ public class PlayerListener implements Listener {
/* ACTIVATION CHECKS */
if (Config.getInstance().getAbilitiesEnabled()) {
mcMMOPlayer.processAbilityActivation(SkillType.AXES);
mcMMOPlayer.processAbilityActivation(SkillType.EXCAVATION);
mcMMOPlayer.processAbilityActivation(SkillType.HERBALISM);
mcMMOPlayer.processAbilityActivation(SkillType.MINING);
mcMMOPlayer.processAbilityActivation(SkillType.SWORDS);
mcMMOPlayer.processAbilityActivation(SkillType.UNARMED);
mcMMOPlayer.processAbilityActivation(SkillType.WOODCUTTING);
mcMMOPlayer.processAbilityActivation(SkillType.axes);
mcMMOPlayer.processAbilityActivation(SkillType.excavation);
mcMMOPlayer.processAbilityActivation(SkillType.herbalism);
mcMMOPlayer.processAbilityActivation(SkillType.mining);
mcMMOPlayer.processAbilityActivation(SkillType.swords);
mcMMOPlayer.processAbilityActivation(SkillType.unarmed);
mcMMOPlayer.processAbilityActivation(SkillType.woodcutting);
}
/* ITEM CHECKS */
@ -681,9 +681,9 @@ public class PlayerListener implements Listener {
String lowerCaseCommand = command.toLowerCase();
// Do these ACTUALLY have to be lower case to work properly?
for (SkillType skill : SkillType.values()) {
for (SkillType skill : SkillType.skillList) {
String skillName = skill.toString().toLowerCase();
String localizedName = skill.getName().toLowerCase();
String localizedName = skill.getLocalizedName().toLowerCase();
if (lowerCaseCommand.equals(localizedName)) {
event.setMessage(message.replace(command, skillName));

View File

@ -46,13 +46,13 @@ public class McrankCommandDisplayTask extends BukkitRunnable {
sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Heading"));
sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Player", playerName));
for (SkillType skill : SkillType.NON_CHILD_SKILLS) {
for (SkillType skill : SkillType.nonChildSkills) {
if (!skill.getPermissions(player)) {
continue;
}
rank = skills.get(skill);
sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Skill", skill.getName(), (rank == null ? LocaleLoader.getString("Commands.mcrank.Unranked") : rank)));
sender.sendMessage(LocaleLoader.getString("Commands.mcrank.Skill", skill.getLocalizedName(), (rank == null ? LocaleLoader.getString("Commands.mcrank.Unranked") : rank)));
}
rank = skills.get(null);

View File

@ -50,7 +50,7 @@ public class MctopCommandDisplayTask extends BukkitRunnable {
sender.sendMessage(LocaleLoader.getString("Commands.PowerLevel.Leaderboard"));
}
else {
sender.sendMessage(LocaleLoader.getString("Commands.Skill.Leaderboard", skill.getName()));
sender.sendMessage(LocaleLoader.getString("Commands.Skill.Leaderboard", skill.getLocalizedName()));
}
int place = (page * 10) - 9;

View File

@ -59,7 +59,7 @@ public class FormulaConversionTask extends BukkitRunnable {
private void editValues(PlayerProfile profile) {
mcMMO.p.debug("========================================================================");
mcMMO.p.debug("Conversion report for " + profile.getPlayerName() + ":");
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
int oldLevel = profile.getSkillLevel(skillType);
int oldXPLevel = profile.getSkillXpLevel(skillType);
int totalOldXP = mcMMO.getFormulaManager().calculateTotalExperience(oldLevel, oldXPLevel);

View File

@ -37,7 +37,7 @@ public class AlchemyBrewTask extends BukkitRunnable {
brewTimer = DEFAULT_BREW_TICKS;
if (player != null && !Misc.isNPCEntity(player) && Permissions.secondaryAbilityEnabled(player, SecondaryAbility.CATALYSIS)) {
double catalysis = UserManager.getPlayer(player).getAlchemyManager().calculateBrewSpeed(Permissions.lucky(player, SkillType.ALCHEMY));
double catalysis = UserManager.getPlayer(player).getAlchemyManager().calculateBrewSpeed(Permissions.lucky(player, SkillType.alchemy));
McMMOPlayerCatalysisEvent event = new McMMOPlayerCatalysisEvent(player, catalysis);
mcMMO.p.getServer().getPluginManager().callEvent(event);

View File

@ -25,7 +25,7 @@ public class AcrobaticsManager extends SkillManager {
Location lastFallLocation;
public AcrobaticsManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.ACROBATICS);
super(mcMMOPlayer, SkillType.acrobatics);
}
public boolean canRoll() {

View File

@ -17,7 +17,7 @@ public class AlchemyManager extends SkillManager {
private final double LUCKY_MODIFIER = 4.0 / 3.0;
public AlchemyManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.ALCHEMY);
super(mcMMOPlayer, SkillType.alchemy);
}
public int getTier() {

View File

@ -20,7 +20,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class ArcheryManager extends SkillManager {
public ArcheryManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.ARCHERY);
super(mcMMOPlayer, SkillType.archery);
}
public boolean canDaze(LivingEntity target) {

View File

@ -23,7 +23,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class AxesManager extends SkillManager {
public AxesManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.AXES);
super(mcMMOPlayer, SkillType.axes);
}
public boolean canUseAxeMastery() {

View File

@ -1,6 +1,8 @@
package com.gmail.nossr50.skills.child;
import java.util.EnumSet;
import java.util.HashSet;
import java.util.Set;
import org.bukkit.configuration.file.YamlConfiguration;
@ -20,15 +22,15 @@ public class ChildConfig extends AutoUpdateConfigLoader {
FamilyTree.clearRegistrations(); // when reloading, need to clear statics
for (SkillType skill : SkillType.CHILD_SKILLS) {
plugin.debug("Finding parents of " + skill.name());
for (SkillType skill : SkillType.childSkills) {
plugin.debug("Finding parents of " + skill.getLocalizedName());
EnumSet<SkillType> parentSkills = EnumSet.noneOf(SkillType.class);
Set<SkillType> parentSkills = new HashSet<SkillType>();
boolean useDefaults = false; // If we had an error we back out and use defaults
for (String name : config.getStringList(StringUtils.getCapitalized(skill.name()))) {
for (String name : config.getStringList(StringUtils.getCapitalized(skill.getName()))) {
try {
SkillType parentSkill = SkillType.valueOf(name.toUpperCase());
SkillType parentSkill = SkillType.getSkill(name);
FamilyTree.enforceNotChildSkill(parentSkill);
parentSkills.add(parentSkill);
}
@ -41,18 +43,18 @@ public class ChildConfig extends AutoUpdateConfigLoader {
if (useDefaults) {
parentSkills.clear();
for (String name : config.getDefaults().getStringList(StringUtils.getCapitalized(skill.name()))) {
for (String name : config.getDefaults().getStringList(StringUtils.getCapitalized(skill.getName()))) {
/* We do less checks in here because it's from inside our jar.
* If they're dedicated enough to have modified it, they can have the errors it may produce.
* Alternatively, this can be used to allow child skills to be parent skills, provided there are no circular dependencies this is an advanced sort of configuration.
*/
parentSkills.add(SkillType.valueOf(name.toUpperCase()));
parentSkills.add(SkillType.getSkill(name));
}
}
// Register them
for (SkillType parentSkill : parentSkills) {
plugin.debug("Registering " + parentSkill.name() + " as parent of " + skill.name());
plugin.debug("Registering " + parentSkill.getName() + " as parent of " + skill.getName());
FamilyTree.registerParent(skill, parentSkill);
}
}

View File

@ -3,6 +3,7 @@ package com.gmail.nossr50.skills.child;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import com.gmail.nossr50.datatypes.skills.SkillType;
@ -22,7 +23,7 @@ public class FamilyTree {
enforceNotChildSkill(parentSkill);
if (!tree.containsKey(childSkill)) {
tree.put(childSkill, EnumSet.noneOf(SkillType.class));
tree.put(childSkill, new HashSet<SkillType>());
}
tree.get(childSkill).add(parentSkill);
@ -41,13 +42,13 @@ public class FamilyTree {
protected static void enforceChildSkill(SkillType skill) {
if (!skill.isChildSkill()) {
throw new IllegalArgumentException(skill.name() + " is not a child skill!");
throw new IllegalArgumentException(skill.getName() + " is not a child skill!");
}
}
protected static void enforceNotChildSkill(SkillType skill) {
if (skill.isChildSkill()) {
throw new IllegalArgumentException(skill.name() + " is a child skill!");
throw new IllegalArgumentException(skill.getName() + " is a child skill!");
}
}
}

View File

@ -58,7 +58,7 @@ public class Excavation {
xp = ExperienceConfig.getInstance().getDirtAndSandXp(blockState.getData());
}
else {
xp = ExperienceConfig.getInstance().getXp(SkillType.EXCAVATION, material);
xp = ExperienceConfig.getInstance().getXp(SkillType.excavation, material);
}
if (xp == 0 && mcMMO.getModManager().isCustomExcavationBlock(blockState)) {

View File

@ -18,7 +18,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class ExcavationManager extends SkillManager {
public ExcavationManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.EXCAVATION);
super(mcMMOPlayer, SkillType.excavation);
}
/**

View File

@ -72,7 +72,7 @@ public class FishingManager extends SkillManager {
private Location hookLocation;
public FishingManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.FISHING);
super(mcMMOPlayer, SkillType.fishing);
}
public boolean canShake(Entity target) {

View File

@ -40,7 +40,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class HerbalismManager extends SkillManager {
public HerbalismManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.HERBALISM);
super(mcMMOPlayer, SkillType.herbalism);
}
public boolean canBlockCheck() {

View File

@ -19,7 +19,7 @@ public class Mining {
*/
protected static int getBlockXp(BlockState blockState) {
Material blockType = blockState.getType();
int xp = ExperienceConfig.getInstance().getXp(SkillType.MINING, blockType != Material.GLOWING_REDSTONE_ORE ? blockType : Material.REDSTONE_ORE);
int xp = ExperienceConfig.getInstance().getXp(SkillType.mining, blockType != Material.GLOWING_REDSTONE_ORE ? blockType : Material.REDSTONE_ORE);
if (xp == 0 && mcMMO.getModManager().isCustomMiningBlock(blockState)) {
xp = mcMMO.getModManager().getBlock(blockState).getXpGain();
@ -50,7 +50,7 @@ public class Mining {
return;
case GLOWING_REDSTONE_ORE:
if (Config.getInstance().getDoubleDropsEnabled(SkillType.MINING, Material.REDSTONE_ORE)) {
if (Config.getInstance().getDoubleDropsEnabled(SkillType.mining, Material.REDSTONE_ORE)) {
Misc.dropItem(blockState.getLocation(), new ItemStack(Material.REDSTONE_ORE));
}
return;
@ -104,7 +104,7 @@ public class Mining {
return;
case GLOWING_REDSTONE_ORE:
if (Config.getInstance().getDoubleDropsEnabled(SkillType.MINING, Material.REDSTONE_ORE)) {
if (Config.getInstance().getDoubleDropsEnabled(SkillType.mining, Material.REDSTONE_ORE)) {
Misc.dropItems(blockState.getLocation(), blockState.getBlock().getDrops());
}
return;

View File

@ -29,7 +29,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class MiningManager extends SkillManager {
public MiningManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.MINING);
super(mcMMOPlayer, SkillType.mining);
}
public boolean canUseDemolitionsExpertise() {

View File

@ -33,7 +33,7 @@ public class RepairManager extends SkillManager {
private int lastClick;
public RepairManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.REPAIR);
super(mcMMOPlayer, SkillType.repair);
}
/**

View File

@ -30,7 +30,7 @@ public class SalvageManager extends SkillManager {
private int lastClick;
public SalvageManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.SALVAGE);
super(mcMMOPlayer, SkillType.salvage);
}
/**

View File

@ -50,6 +50,6 @@ public class Smelting {
MaterialData data = smelting.getData();
Material resourceType = smelting.getType();
return mcMMO.getModManager().isCustomOre(data) ? mcMMO.getModManager().getBlock(data).getSmeltingXpGain() : ExperienceConfig.getInstance().getXp(SkillType.SMELTING, resourceType != Material.GLOWING_REDSTONE_ORE ? resourceType : Material.REDSTONE_ORE);
return mcMMO.getModManager().isCustomOre(data) ? mcMMO.getModManager().getBlock(data).getSmeltingXpGain() : ExperienceConfig.getInstance().getXp(SkillType.smelting, resourceType != Material.GLOWING_REDSTONE_ORE ? resourceType : Material.REDSTONE_ORE);
}
}

View File

@ -22,7 +22,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class SmeltingManager extends SkillManager {
public SmeltingManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.SMELTING);
super(mcMMOPlayer, SkillType.smelting);
}
public boolean canUseFluxMining(BlockState blockState) {

View File

@ -23,7 +23,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class SwordsManager extends SkillManager {
public SwordsManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.SWORDS);
super(mcMMOPlayer, SkillType.swords);
}
public boolean canActivateAbility() {

View File

@ -28,7 +28,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class TamingManager extends SkillManager {
public TamingManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.TAMING);
super(mcMMOPlayer, SkillType.taming);
}
public boolean canUseThickFur() {

View File

@ -26,7 +26,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class UnarmedManager extends SkillManager {
public UnarmedManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.UNARMED);
super(mcMMOPlayer, SkillType.unarmed);
}
public boolean canActivateAbility() {

View File

@ -30,7 +30,7 @@ import com.gmail.nossr50.util.skills.SkillUtils;
public class WoodcuttingManager extends SkillManager {
public WoodcuttingManager(McMMOPlayer mcMMOPlayer) {
super(mcMMOPlayer, SkillType.WOODCUTTING);
super(mcMMOPlayer, SkillType.woodcutting);
}
public boolean canUseLeafBlower(ItemStack heldItem) {

View File

@ -177,7 +177,7 @@ public class EventUtils {
experienceChanged = event.getExperienceChanged();
PlayerProfile playerProfile = UserManager.getPlayer(player).getProfile();
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
String skillName = skillType.toString();
int playerSkillLevel = playerProfile.getSkillLevel(skillType);
@ -215,7 +215,7 @@ public class EventUtils {
McMMOPlayer killerPlayer = UserManager.getPlayer(killer);
PlayerProfile victimProfile = UserManager.getPlayer(victim).getProfile();
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
String skillName = skillType.toString();
int victimSkillLevel = victimProfile.getSkillLevel(skillType);

View File

@ -23,7 +23,7 @@ public final class HardcoreManager {
HashMap<String, Integer> levelChanged = new HashMap<String, Integer>();
HashMap<String, Float> experienceChanged = new HashMap<String, Float>();
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
if (!skillType.getHardcoreStatLossEnabled()) {
break;
}
@ -62,7 +62,7 @@ public final class HardcoreManager {
HashMap<String, Integer> levelChanged = new HashMap<String, Integer>();
HashMap<String, Float> experienceChanged = new HashMap<String, Float>();
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
if (!skillType.getHardcoreVampirismEnabled()) {
break;
}
@ -107,7 +107,7 @@ public final class HardcoreManager {
public static boolean isStatLossEnabled() {
boolean enabled = false;
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
if (skillType.getHardcoreStatLossEnabled()) {
enabled = true;
break;
@ -125,7 +125,7 @@ public final class HardcoreManager {
public static boolean isVampirismEnabled() {
boolean enabled = false;
for (SkillType skillType : SkillType.NON_CHILD_SKILLS) {
for (SkillType skillType : SkillType.nonChildSkills) {
if (skillType.getHardcoreVampirismEnabled()) {
enabled = true;
break;

View File

@ -375,7 +375,7 @@ public final class HolidayManager {
}
public void levelUpApril(Player player, FakeSkillType fakeSkillType) {
int levelTotal = Misc.getRandom().nextInt(1 + UserManager.getPlayer(player).getSkillLevel(SkillType.MINING)) + 1;
int levelTotal = Misc.getRandom().nextInt(1 + UserManager.getPlayer(player).getSkillLevel(SkillType.mining)) + 1;
player.playSound(player.getLocation(), Sound.LEVEL_UP, Misc.LEVELUP_VOLUME, Misc.LEVELUP_PITCH);
player.sendMessage(ChatColor.YELLOW + StringUtils.getCapitalized(fakeSkillType.toString()) + " skill increased by 1. Total (" + levelTotal + ")");
ParticleEffectUtils.fireworkParticleShower(player, ALL_COLORS.get(Misc.getRandom().nextInt(ALL_COLORS.size())));

View File

@ -85,7 +85,7 @@ public final class Motd {
* @param player Target player
*/
public static void displayXpPerks(Player player) {
for (SkillType skill : SkillType.values()) {
for (SkillType skill : SkillType.skillList) {
if (PerksUtils.handleXpPerks(player, 1, skill) > 1) {
player.sendMessage(PERK_PREFIX + LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Perks.XP.Name"), LocaleLoader.getString("Perks.XP.Desc")));
return;
@ -126,7 +126,7 @@ public final class Motd {
* @param player Target player
*/
public static void displayLuckyPerks(Player player) {
for (SkillType skill : SkillType.values()) {
for (SkillType skill : SkillType.skillList) {
if (Permissions.lucky(player, skill)) {
player.sendMessage(PERK_PREFIX + LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Perks.Lucky.Name"), LocaleLoader.getString("Perks.Lucky.Desc.Login")));
return;

View File

@ -61,9 +61,9 @@ public final class CommandRegistrationManager {
private static String permissionsMessage = LocaleLoader.getString("mcMMO.NoPermission");
private static void registerSkillCommands() {
for (SkillType skill : SkillType.values()) {
for (SkillType skill : SkillType.skillList) {
String commandName = skill.toString().toLowerCase();
String localizedName = skill.getName().toLowerCase();
String localizedName = skill.getLocalizedName().toLowerCase();
PluginCommand command;
@ -74,70 +74,11 @@ public final class CommandRegistrationManager {
command.setUsage(LocaleLoader.getString("Commands.Usage.0", localizedName));
command.setUsage(command.getUsage() + "\n" + LocaleLoader.getString("Commands.Usage.2", localizedName, "?", "[" + LocaleLoader.getString("Commands.Usage.Page") + "]"));
switch (skill) {
case ACROBATICS:
command.setExecutor(new AcrobaticsCommand());
break;
case ALCHEMY:
command.setExecutor(new AlchemyCommand());
break;
case ARCHERY:
command.setExecutor(new ArcheryCommand());
break;
case AXES:
command.setExecutor(new AxesCommand());
break;
case EXCAVATION:
command.setExecutor(new ExcavationCommand());
break;
case FISHING:
command.setExecutor(new FishingCommand());
break;
case HERBALISM:
command.setExecutor(new HerbalismCommand());
break;
case MINING:
command.setExecutor(new MiningCommand());
break;
case REPAIR:
command.setExecutor(new RepairCommand());
break;
case SALVAGE:
command.setExecutor(new SalvageCommand());
break;
case SMELTING:
command.setExecutor(new SmeltingCommand());
break;
case SWORDS:
command.setExecutor(new SwordsCommand());
break;
case TAMING:
command.setExecutor(new TamingCommand());
break;
case UNARMED:
command.setExecutor(new UnarmedCommand());
break;
case WOODCUTTING:
command.setExecutor(new WoodcuttingCommand());
break;
default:
break;
}
try {
command.setExecutor(skill.getCommandClass().newInstance());
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -181,7 +181,7 @@ public final class CommandUtils {
* @param display The sender to display stats to
*/
public static void printGatheringSkills(Player inspect, CommandSender display) {
printGroupedSkillData(inspect, display, LocaleLoader.getString("Stats.Header.Gathering"), SkillType.GATHERING_SKILLS);
printGroupedSkillData(inspect, display, LocaleLoader.getString("Stats.Header.Gathering"), SkillType.gatheringSkills);
}
public static void printGatheringSkills(Player player) {
@ -195,7 +195,7 @@ public final class CommandUtils {
* @param display The sender to display stats to
*/
public static void printCombatSkills(Player inspect, CommandSender display) {
printGroupedSkillData(inspect, display, LocaleLoader.getString("Stats.Header.Combat"), SkillType.COMBAT_SKILLS);
printGroupedSkillData(inspect, display, LocaleLoader.getString("Stats.Header.Combat"), SkillType.combatSkills);
}
public static void printCombatSkills(Player player) {
@ -209,7 +209,7 @@ public final class CommandUtils {
* @param display The sender to display stats to
*/
public static void printMiscSkills(Player inspect, CommandSender display) {
printGroupedSkillData(inspect, display, LocaleLoader.getString("Stats.Header.Misc"), SkillType.MISC_SKILLS);
printGroupedSkillData(inspect, display, LocaleLoader.getString("Stats.Header.Misc"), SkillType.miscSkills);
}
public static void printMiscSkills(Player player) {

View File

@ -76,14 +76,14 @@ public class ScoreboardManager {
Collections.shuffle(colors, Misc.getRandom());
int i = 0;
for (SkillType type : SkillType.values()) {
for (SkillType type : SkillType.skillList) {
// Include child skills
skillLabelBuilder.put(type, getShortenedName(colors.get(i) + type.getName(), false));
skillLabelBuilder.put(type, getShortenedName(colors.get(i) + type.getLocalizedName(), false));
if (type.getAbility() != null) {
abilityLabelBuilder.put(type.getAbility(), getShortenedName(colors.get(i) + type.getAbility().getName()));
if (type == SkillType.MINING) {
if (type == SkillType.mining) {
abilityLabelBuilder.put(AbilityType.BLAST_MINING, getShortenedName(colors.get(i) + AbilityType.BLAST_MINING.getName()));
}
}
@ -94,14 +94,14 @@ public class ScoreboardManager {
}
}
else {
for (SkillType type : SkillType.values()) {
for (SkillType type : SkillType.skillList) {
// Include child skills
skillLabelBuilder.put(type, getShortenedName(ChatColor.GREEN + type.getName()));
skillLabelBuilder.put(type, getShortenedName(ChatColor.GREEN + type.getLocalizedName()));
if (type.getAbility() != null) {
abilityLabelBuilder.put(type.getAbility(), getShortenedName(ChatColor.AQUA + type.getAbility().getName()));
if (type == SkillType.MINING) {
if (type == SkillType.mining) {
abilityLabelBuilder.put(AbilityType.BLAST_MINING, getShortenedName(ChatColor.AQUA + AbilityType.BLAST_MINING.getName()));
}
}

View File

@ -426,7 +426,7 @@ public class ScoreboardWrapper {
if (targetSkill.getAbility() != null) {
boolean stopUpdating;
if (targetSkill == SkillType.MINING) {
if (targetSkill == SkillType.mining) {
// Special-Case: Mining has two abilities, both with cooldowns
Score cooldownSB = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(AbilityType.SUPER_BREAKER));
Score cooldownBM = sidebarObjective.getScore(ScoreboardManager.abilityLabelsSkill.get(AbilityType.BLAST_MINING));
@ -494,7 +494,7 @@ public class ScoreboardWrapper {
// Calculate power level here
int powerLevel = 0;
for (SkillType skill : SkillType.NON_CHILD_SKILLS) { // Don't include child skills, makes the list too long
for (SkillType skill : SkillType.nonChildSkills) { // Don't include child skills, makes the list too long
int level = newProfile.getSkillLevel(skill);
powerLevel += level;
@ -527,7 +527,7 @@ public class ScoreboardWrapper {
Integer rank;
Player player = mcMMO.p.getServer().getPlayerExact(playerName);
for (SkillType skill : SkillType.NON_CHILD_SKILLS) {
for (SkillType skill : SkillType.nonChildSkills) {
if (!skill.getPermissions(player)) {
continue;
}

View File

@ -60,7 +60,7 @@ public final class CombatUtils {
Map<DamageModifier, Double> modifiers = getModifiers(event);
if (swordsManager.canActivateAbility()) {
mcMMOPlayer.checkAbilityActivation(SkillType.SWORDS);
mcMMOPlayer.checkAbilityActivation(SkillType.swords);
}
if (swordsManager.canUseBleed()) {
@ -71,7 +71,7 @@ public final class CombatUtils {
swordsManager.serratedStrikes(target, initialDamage, modifiers);
}
startGainXp(mcMMOPlayer, target, SkillType.SWORDS);
startGainXp(mcMMOPlayer, target, SkillType.swords);
}
private static void processAxeCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event) {
@ -83,7 +83,7 @@ public final class CombatUtils {
AxesManager axesManager = mcMMOPlayer.getAxesManager();
if (axesManager.canActivateAbility()) {
mcMMOPlayer.checkAbilityActivation(SkillType.AXES);
mcMMOPlayer.checkAbilityActivation(SkillType.axes);
}
if (axesManager.canUseAxeMastery()) {
@ -106,7 +106,7 @@ public final class CombatUtils {
}
applyScaledModifiers(initialDamage, finalDamage, event);
startGainXp(mcMMOPlayer, target, SkillType.AXES);
startGainXp(mcMMOPlayer, target, SkillType.axes);
}
private static void processUnarmedCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event) {
@ -117,7 +117,7 @@ public final class CombatUtils {
UnarmedManager unarmedManager = mcMMOPlayer.getUnarmedManager();
if (unarmedManager.canActivateAbility()) {
mcMMOPlayer.checkAbilityActivation(SkillType.UNARMED);
mcMMOPlayer.checkAbilityActivation(SkillType.unarmed);
}
if (unarmedManager.canUseIronArm()) {
@ -133,7 +133,7 @@ public final class CombatUtils {
}
applyScaledModifiers(initialDamage, finalDamage, event);
startGainXp(mcMMOPlayer, target, SkillType.UNARMED);
startGainXp(mcMMOPlayer, target, SkillType.unarmed);
}
private static void processTamingCombat(LivingEntity target, Player master, Wolf wolf, EntityDamageByEntityEvent event) {
@ -156,7 +156,7 @@ public final class CombatUtils {
}
applyScaledModifiers(initialDamage, finalDamage, event);
startGainXp(mcMMOPlayer, target, SkillType.TAMING);
startGainXp(mcMMOPlayer, target, SkillType.taming);
}
private static void processArcheryCombat(LivingEntity target, Player player, EntityDamageByEntityEvent event, Arrow arrow) {
@ -166,7 +166,7 @@ public final class CombatUtils {
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
ArcheryManager archeryManager = mcMMOPlayer.getArcheryManager();
if (target instanceof Player && SkillType.UNARMED.getPVPEnabled()) {
if (target instanceof Player && SkillType.unarmed.getPVPEnabled()) {
UnarmedManager unarmedManager = UserManager.getPlayer((Player) target).getUnarmedManager();
if (unarmedManager.canDeflect()) {
@ -193,7 +193,7 @@ public final class CombatUtils {
archeryManager.distanceXpBonus(target, arrow);
applyScaledModifiers(initialDamage, finalDamage, event);
startGainXp(mcMMOPlayer, target, SkillType.ARCHERY, arrow.getMetadata(mcMMO.bowForceKey).get(0).asDouble());
startGainXp(mcMMOPlayer, target, SkillType.archery, arrow.getMetadata(mcMMO.bowForceKey).get(0).asDouble());
}
/**
@ -231,29 +231,29 @@ public final class CombatUtils {
}
if (ItemUtils.isSword(heldItem)) {
if (!SkillType.SWORDS.shouldProcess(target)) {
if (!SkillType.swords.shouldProcess(target)) {
return;
}
if (SkillType.SWORDS.getPermissions(player)) {
if (SkillType.swords.getPermissions(player)) {
processSwordCombat(target, player, event);
}
}
else if (ItemUtils.isAxe(heldItem)) {
if (!SkillType.AXES.shouldProcess(target)) {
if (!SkillType.axes.shouldProcess(target)) {
return;
}
if (SkillType.AXES.getPermissions(player)) {
if (SkillType.axes.getPermissions(player)) {
processAxeCombat(target, player, event);
}
}
else if (heldItem.getType() == Material.AIR) {
if (!SkillType.UNARMED.shouldProcess(target)) {
if (!SkillType.unarmed.shouldProcess(target)) {
return;
}
if (SkillType.UNARMED.getPermissions(player)) {
if (SkillType.unarmed.getPermissions(player)) {
processUnarmedCombat(target, player, event);
}
}
@ -263,10 +263,10 @@ public final class CombatUtils {
Wolf wolf = (Wolf) damager;
AnimalTamer tamer = wolf.getOwner();
if (tamer != null && tamer instanceof Player && SkillType.TAMING.shouldProcess(target)) {
if (tamer != null && tamer instanceof Player && SkillType.taming.shouldProcess(target)) {
Player master = (Player) tamer;
if (!Misc.isNPCEntity(master) && SkillType.TAMING.getPermissions(master)) {
if (!Misc.isNPCEntity(master) && SkillType.taming.getPermissions(master)) {
processTamingCombat(target, master, wolf, event);
}
}
@ -275,10 +275,10 @@ public final class CombatUtils {
Arrow arrow = (Arrow) damager;
ProjectileSource projectileSource = arrow.getShooter();
if (projectileSource != null && projectileSource instanceof Player && SkillType.ARCHERY.shouldProcess(target)) {
if (projectileSource != null && projectileSource instanceof Player && SkillType.archery.shouldProcess(target)) {
Player player = (Player) projectileSource;
if (!Misc.isNPCEntity(player) && SkillType.ARCHERY.getPermissions(player)) {
if (!Misc.isNPCEntity(player) && SkillType.archery.getPermissions(player)) {
processArcheryCombat(target, player, event, arrow);
}
}
@ -301,7 +301,7 @@ public final class CombatUtils {
}
if (ItemUtils.isSword(player.getItemInHand())) {
if (!SkillType.SWORDS.shouldProcess(target)) {
if (!SkillType.swords.shouldProcess(target)) {
return;
}
@ -393,24 +393,17 @@ public final class CombatUtils {
LivingEntity livingEntity = (LivingEntity) entity;
EventUtils.callFakeArmSwingEvent(attacker);
switch (type) {
case SWORDS:
if (entity instanceof Player) {
((Player) entity).sendMessage(LocaleLoader.getString("Swords.Combat.SS.Struck"));
}
if(type == SkillType.swords) {
if (entity instanceof Player) {
((Player) entity).sendMessage(LocaleLoader.getString("Swords.Combat.SS.Struck"));
}
BleedTimerTask.add(livingEntity, Swords.serratedStrikesBleedTicks);
break;
case AXES:
if (entity instanceof Player) {
((Player) entity).sendMessage(LocaleLoader.getString("Axes.Combat.SS.Struck"));
}
break;
default:
break;
BleedTimerTask.add(livingEntity, Swords.serratedStrikesBleedTicks);
}
else if(type == SkillType.axes) {
if (entity instanceof Player) {
((Player) entity).sendMessage(LocaleLoader.getString("Axes.Combat.SS.Struck"));
}
}
dealDamage(livingEntity, damageAmount, attacker);

View File

@ -82,7 +82,7 @@ public class SkillUtils {
* @return true if this is a valid skill, false otherwise
*/
public static boolean isSkill(String skillName) {
return Config.getInstance().getLocale().equalsIgnoreCase("en_US") ? SkillType.getSkill(skillName) != null : isLocalizedSkill(skillName);
return Config.getInstance().getLocale().equalsIgnoreCase("en_US") ? SkillType.getSkillFromLocalized(skillName) != null : isLocalizedSkill(skillName);
}
public static void sendSkillMessage(Player player, String message) {
@ -132,7 +132,7 @@ public class SkillUtils {
}
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
SkillType skill = mcMMOPlayer.getAbilityMode(AbilityType.SUPER_BREAKER) ? SkillType.MINING : SkillType.EXCAVATION;
SkillType skill = mcMMOPlayer.getAbilityMode(AbilityType.SUPER_BREAKER) ? SkillType.mining : SkillType.excavation;
int ticks = PerksUtils.handleActivationPerks(player, 2 + (mcMMOPlayer.getSkillLevel(skill) / AdvancedConfig.getInstance().getAbilityLength()), skill.getAbility().getMaxLength()) * Misc.TICK_CONVERSION_FACTOR;
PotionEffect abilityBuff = new PotionEffect(PotionEffectType.FAST_DIGGING, duration + ticks, amplifier + 10);
@ -229,7 +229,7 @@ public class SkillUtils {
}
private static boolean isLocalizedSkill(String skillName) {
for (SkillType skill : SkillType.values()) {
for (SkillType skill : SkillType.skillList) {
if (skillName.equalsIgnoreCase(LocaleLoader.getString(StringUtils.getCapitalized(skill.toString()) + ".SkillName"))) {
return true;
}