diff --git a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java index 65b9c5cc8..ebeba6c61 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java @@ -75,7 +75,7 @@ public class MctopCommand implements TabExecutor { } private void display(int page, @NotNull RootSkill rootSkill, @NotNull CommandSender sender, @NotNull Command command) { - if (rootSkill != null && !Permissions.mctop(sender, CoreSkills.getSkill(rootSkill))) { + if (rootSkill != null && !Permissions.mctop(sender, PrimarySkillType.getSkill(rootSkill))) { sender.sendMessage(command.getPermissionMessage()); return; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java index 998ce7ea8..6da916e57 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java @@ -25,7 +25,7 @@ public class AcrobaticsCommand extends SkillCommand { private boolean canRoll; public AcrobaticsCommand() { - super(CoreSkills.ACROBATICS); + super(PrimarySkillType.ACROBATICS); } @Override @@ -94,7 +94,7 @@ public class AcrobaticsCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.ACROBATICS); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.ACROBATICS); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java index eed5d7d9e..aa45967da 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AlchemyCommand.java @@ -29,7 +29,7 @@ public class AlchemyCommand extends SkillCommand { private boolean canConcoctions; public AlchemyCommand() { - super(CoreSkills.ALCHEMY); + super(PrimarySkillType.ALCHEMY); } protected String[] calculateAbilityDisplayValues(@NotNull Player player) { @@ -48,7 +48,7 @@ public class AlchemyCommand extends SkillCommand { AlchemyManager alchemyManager = ((McMMOPlayer) (mmoPlayer)).getAlchemyManager(); String[] displayValues = new String[2]; - boolean isLucky = Permissions.lucky(Misc.adaptPlayer(mmoPlayer), CoreSkills.ALCHEMY); + boolean isLucky = Permissions.lucky(Misc.adaptPlayer(mmoPlayer), PrimarySkillType.ALCHEMY); displayValues[0] = decimal.format(alchemyManager.calculateBrewSpeed(false)) + "x"; displayValues[1] = isLucky ? decimal.format(alchemyManager.calculateBrewSpeed(true)) + "x" : null; @@ -105,7 +105,7 @@ public class AlchemyCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.ALCHEMY); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.ALCHEMY); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java index 8cb59784f..3b7a683e2 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java @@ -25,7 +25,7 @@ public class ArcheryCommand extends SkillCommand { private boolean canRetrieve; public ArcheryCommand() { - super(CoreSkills.ARCHERY); + super(PrimarySkillType.ARCHERY); } @Override @@ -87,7 +87,7 @@ public class ArcheryCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.ARCHERY); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.ARCHERY); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java index 26a61ee2f..67269bee2 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java @@ -30,7 +30,7 @@ public class AxesCommand extends SkillCommand { private boolean canGreaterImpact; public AxesCommand() { - super(CoreSkills.AXES); + super(PrimarySkillType.AXES); } @Override @@ -107,7 +107,7 @@ public class AxesCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.AXES); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.AXES); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java index af96e4054..20b04121a 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/CrossbowsCommand.java @@ -12,7 +12,7 @@ import java.util.List; public class CrossbowsCommand extends SkillCommand { public CrossbowsCommand() { - super(CoreSkills.CROSSBOWS); + super(PrimarySkillType.CROSSBOWS); } @Override @@ -43,7 +43,7 @@ public class CrossbowsCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.CROSSBOWS); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.CROSSBOWS); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java index 5c26073ed..c7893d7f6 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java @@ -23,7 +23,7 @@ public class ExcavationCommand extends SkillCommand { private boolean canTreasureHunt; public ExcavationCommand() { - super(CoreSkills.EXCAVATION); + super(PrimarySkillType.EXCAVATION); } @Override @@ -70,7 +70,7 @@ public class ExcavationCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.EXCAVATION); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.EXCAVATION); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java index e2291d4c2..25685fb20 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/FishingCommand.java @@ -43,7 +43,7 @@ public class FishingCommand extends SkillCommand { private String maMinWaitTime, maMaxWaitTime; public FishingCommand() { - super(CoreSkills.FISHING); + super(PrimarySkillType.FISHING); } @Override @@ -79,7 +79,7 @@ public class FishingCommand extends SkillCommand { // FISHING_SHAKE if (canShake) { - String[] shakeStrings = RandomChanceUtil.calculateAbilityDisplayValuesStatic(mmoPlayer, CoreSkills.FISHING, fishingManager.getShakeChance()); + String[] shakeStrings = RandomChanceUtil.calculateAbilityDisplayValuesStatic(mmoPlayer, PrimarySkillType.FISHING, fishingManager.getShakeChance()); shakeChance = shakeStrings[0]; shakeChanceLucky = shakeStrings[1]; } @@ -155,7 +155,7 @@ public class FishingCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.FISHING); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.FISHING); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java index b5ca13c22..1ac299b27 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/HerbalismCommand.java @@ -39,7 +39,7 @@ public class HerbalismCommand extends SkillCommand { private boolean canShroomThumb; public HerbalismCommand() { - super(CoreSkills.HERBALISM); + super(PrimarySkillType.HERBALISM); } @Override @@ -156,7 +156,7 @@ public class HerbalismCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.HERBALISM); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.HERBALISM); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java index 0fda0c4d6..580cc6425 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/MiningCommand.java @@ -34,7 +34,7 @@ public class MiningCommand extends SkillCommand { private boolean canDemoExpert; public MiningCommand() { - super(CoreSkills.MINING); + super(PrimarySkillType.MINING); } @Override @@ -113,7 +113,7 @@ public class MiningCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.MINING); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.MINING); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java index d5c323954..db7c78432 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java @@ -56,7 +56,7 @@ public class MmoInfoCommand implements TabExecutor { player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.DetailsHeader")); player.sendMessage(LocaleLoader.getString("Commands.MmoInfo.Mystery")); return true; - } else if(InteractionManager.getAbstractByName(args[0]) != null || CoreSkills.SUBSKILL_NAMES.contains(args[0])) + } else if(InteractionManager.getAbstractByName(args[0]) != null || PrimarySkillType.SUBSKILL_NAMES.contains(args[0])) { displayInfo(mmoPlayer, args[0]); return true; @@ -74,7 +74,7 @@ public class MmoInfoCommand implements TabExecutor { @Override public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, String[] args) { if (args.length == 1) { - return StringUtil.copyPartialMatches(args[0], CoreSkills.SUBSKILL_NAMES, new ArrayList<>(CoreSkills.SUBSKILL_NAMES.size())); + return StringUtil.copyPartialMatches(args[0], PrimarySkillType.SUBSKILL_NAMES, new ArrayList<>(PrimarySkillType.SUBSKILL_NAMES.size())); } return ImmutableList.of(); } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java index 12249bdd8..a2ffcfd63 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/RepairCommand.java @@ -43,7 +43,7 @@ public class RepairCommand extends SkillCommand { private int stoneLevel; public RepairCommand() { - super(CoreSkills.REPAIR); + super(PrimarySkillType.REPAIR); } @Override @@ -123,7 +123,7 @@ public class RepairCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.REPAIR); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.REPAIR); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java index c5eda1f95..dae707b72 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SalvageCommand.java @@ -18,7 +18,7 @@ public class SalvageCommand extends SkillCommand { private boolean canArcaneSalvage; public SalvageCommand() { - super(CoreSkills.SALVAGE); + super(PrimarySkillType.SALVAGE); } @Override @@ -66,7 +66,7 @@ public class SalvageCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.SALVAGE); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.SALVAGE); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java index f03620a54..409ab9cfc 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SkillCommand.java @@ -47,7 +47,7 @@ public abstract class SkillCommand implements TabExecutor { private final CommandExecutor skillGuideCommand; public SkillCommand(@NotNull RootSkill rootSkill) { - this.rootSkill = CoreSkills.getSkill(primarySkillType); + this.rootSkill = PrimarySkillType.getSkill(primarySkillType); this.primarySkillType = primarySkillType; skillName = rootSkill.getName(); skillGuideCommand = new SkillGuideCommand(rootSkill); @@ -147,7 +147,7 @@ public abstract class SkillCommand implements TabExecutor { Misc.adaptPlayer(mmoPlayer).sendMessage(LocaleLoader.getString("Skills.Overhaul.Header", skillName)); - if(!CoreSkills.isChildSkill(rootSkill)) + if(!PrimarySkillType.isChildSkill(rootSkill)) { /* * NON-CHILD SKILLS @@ -209,7 +209,7 @@ public abstract class SkillCommand implements TabExecutor { } protected @NotNull String[] calculateLengthDisplayValues(@NotNull OnlineMMOPlayer mmoPlayer, float skillValue) { - int maxLength = CoreSkills.getSuperAbilityType().getMaxLength(); + int maxLength = PrimarySkillType.getSuperAbilityType().getMaxLength(); int abilityLengthVar = AdvancedConfig.getInstance().getAbilityLength(); int abilityLengthCap = AdvancedConfig.getInstance().getAbilityLengthCap(); diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java index 54607c5aa..d5dc5ed3e 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SmeltingCommand.java @@ -26,7 +26,7 @@ public class SmeltingCommand extends SkillCommand { private boolean canUnderstandTheArt; public SmeltingCommand() { - super(CoreSkills.SMELTING); + super(PrimarySkillType.SMELTING); } @Override @@ -90,7 +90,7 @@ public class SmeltingCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.SMELTING); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.SMELTING); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java index 33c4ac03e..f3edc9aec 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/SwordsCommand.java @@ -29,7 +29,7 @@ public class SwordsCommand extends SkillCommand { private boolean canBleed; public SwordsCommand() { - super(CoreSkills.SWORDS); + super(PrimarySkillType.SWORDS); } @Override @@ -112,7 +112,7 @@ public class SwordsCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.SWORDS); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.SWORDS); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java index 091e55230..3a7a60cdc 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/TamingCommand.java @@ -29,7 +29,7 @@ public class TamingCommand extends SkillCommand { private boolean canHolyHound; public TamingCommand() { - super(CoreSkills.TAMING); + super(PrimarySkillType.TAMING); } @Override diff --git a/src/main/java/com/gmail/nossr50/commands/skills/TridentsCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/TridentsCommand.java index 7cfd089ed..db9565d0d 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/TridentsCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/TridentsCommand.java @@ -10,7 +10,7 @@ import java.util.List; public class TridentsCommand extends SkillCommand { public TridentsCommand() { - super(CoreSkills.TRIDENTS); + super(PrimarySkillType.TRIDENTS); } @Override @@ -32,7 +32,7 @@ public class TridentsCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.TRIDENTS); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.TRIDENTS); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java index c91b1fa1c..ca4607d37 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/UnarmedCommand.java @@ -32,7 +32,7 @@ public class UnarmedCommand extends SkillCommand { private boolean canIronGrip; public UnarmedCommand() { - super(CoreSkills.UNARMED); + super(PrimarySkillType.UNARMED); } @Override @@ -125,7 +125,7 @@ public class UnarmedCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.UNARMED); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.UNARMED); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java index 16eb789e5..e20df75bb 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/WoodcuttingCommand.java @@ -28,7 +28,7 @@ public class WoodcuttingCommand extends SkillCommand { private boolean canNaturesBounty; public WoodcuttingCommand() { - super(CoreSkills.WOODCUTTING); + super(PrimarySkillType.WOODCUTTING); } @Override @@ -100,7 +100,7 @@ public class WoodcuttingCommand extends SkillCommand { protected @NotNull List getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) { List textComponents = new ArrayList<>(); - TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.WOODCUTTING); + TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.WOODCUTTING); return textComponents; } diff --git a/src/main/java/com/gmail/nossr50/config/Config.java b/src/main/java/com/gmail/nossr50/config/Config.java index 2c59d62cf..f5aeff15e 100644 --- a/src/main/java/com/gmail/nossr50/config/Config.java +++ b/src/main/java/com/gmail/nossr50/config/Config.java @@ -262,7 +262,6 @@ public class Config extends AutoUpdateConfigLoader { public boolean getPreferBeta() { return config.getBoolean("General.Prefer_Beta", false); } public boolean getVerboseLoggingEnabled() { return config.getBoolean("General.Verbose_Logging", false); } - public boolean getMatchOfflinePlayers() { return config.getBoolean("Commands.Generic.Match_OfflinePlayers", false); } public long getDatabasePlayerCooldown() { return config.getLong("Commands.Database.Player_Cooldown", 1750); } diff --git a/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java b/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java index 53c86cce7..9590ed714 100644 --- a/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/FlatFileDatabaseManager.java @@ -6,7 +6,6 @@ import com.gmail.nossr50.datatypes.database.DatabaseType; import com.gmail.nossr50.datatypes.database.PlayerStat; import com.gmail.nossr50.datatypes.database.UpgradeType; import com.gmail.nossr50.datatypes.player.*; -import com.gmail.nossr50.datatypes.skills.CoreSkills; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.mcMMO; @@ -22,8 +21,6 @@ import com.neetgames.mcmmo.exceptions.ProfileRetrievalException; import com.neetgames.mcmmo.player.MMOPlayerData; import com.neetgames.mcmmo.skill.RootSkill; import com.neetgames.mcmmo.skill.SkillBossBarState; -import com.neetgames.mcmmo.skill.SuperSkill; -import it.unimi.dsi.fastutil.Hash; import org.apache.commons.lang.NullArgumentException; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; @@ -35,6 +32,7 @@ import java.util.*; public final class FlatFileDatabaseManager extends AbstractDatabaseManager { public static final String FLATFILE_SPLIT_CHARACTER_REGEX = ":"; + public static final String NULL_VALUE = NULL_VALUE; private final HashMap> playerStatHash = new HashMap<>(); private final List powerLevels = new ArrayList<>(); private long lastUpdate = 0; @@ -71,7 +69,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { while ((line = in.readLine()) != null) { String[] character = line.split(":"); - Map skills = getSkillMapFromLine(character); + Map skills = getSkillMapFromLine(character); boolean powerless = true; for (int skill : skills.values()) { @@ -256,11 +254,6 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { return worked; } - @Override - public void removeCache(@NotNull UUID uuid) { - //Not used in FlatFile - } - public boolean saveUser(@NotNull MMODataSnapshot dataSnapshot) { String playerName = dataSnapshot.getPlayerName(); UUID uuid = dataSnapshot.getPlayerUUID(); @@ -330,35 +323,35 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { } private void writeUserToLine(@NotNull MMODataSnapshot mmoDataSnapshot, @NotNull String playerName, @NotNull UUID uuid, @NotNull StringBuilder writer) { - ImmutableMap primarySkillLevelMap = mmoDataSnapshot.getSkillLevelValues(); - ImmutableMap primarySkillExperienceValueMap = mmoDataSnapshot.getSkillExperienceValues(); + ImmutableMap primarySkillLevelMap = mmoDataSnapshot.getSkillLevelValues(); + ImmutableMap primarySkillExperienceValueMap = mmoDataSnapshot.getSkillExperienceValues(); writer.append(playerName).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.MINING_CS)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.MINING)).append(":"); writer.append(":"); writer.append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.MINING_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.WOODCUTTING_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.WOODCUTTING_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.REPAIR_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.UNARMED_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.HERBALISM_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.EXCAVATION_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.ARCHERY_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.SWORDS_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.AXES_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.ACROBATICS_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.REPAIR_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.UNARMED_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.HERBALISM_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.EXCAVATION_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.ARCHERY_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.SWORDS_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.AXES_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.ACROBATICS_CS)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.MINING)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.WOODCUTTING)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.WOODCUTTING)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.REPAIR)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.UNARMED)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.HERBALISM)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.EXCAVATION)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.ARCHERY)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.SWORDS)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.AXES)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.ACROBATICS)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.REPAIR)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.UNARMED)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.HERBALISM)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.EXCAVATION)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.ARCHERY)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.SWORDS)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.AXES)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.ACROBATICS)).append(":"); writer.append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.TAMING_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.TAMING_CS)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.TAMING)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.TAMING)).append(":"); writer.append((int) mmoDataSnapshot.getAbilityDATS(SuperAbilityType.BERSERK)).append(":"); writer.append((int) mmoDataSnapshot.getAbilityDATS(SuperAbilityType.GIGA_DRILL_BREAKER)).append(":"); writer.append((int) mmoDataSnapshot.getAbilityDATS(SuperAbilityType.TREE_FELLER)).append(":"); @@ -367,17 +360,16 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { writer.append((int) mmoDataSnapshot.getAbilityDATS(SuperAbilityType.SKULL_SPLITTER)).append(":"); writer.append((int) mmoDataSnapshot.getAbilityDATS(SuperAbilityType.SUPER_BREAKER)).append(":"); writer.append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.FISHING_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.FISHING_CS)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.FISHING)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.FISHING)).append(":"); writer.append((int) mmoDataSnapshot.getAbilityDATS(SuperAbilityType.BLAST_MINING)).append(":"); writer.append(System.currentTimeMillis() / Misc.TIME_CONVERSION_FACTOR).append(":"); - MobHealthBarType mobHealthbarType = mmoDataSnapshot.getMobHealthBarType(); - writer.append(mobHealthbarType.toString()).append(":"); + writer.append(NULL_VALUE).append(":"); //Mob Health Bars are no longer based on player data - writer.append(primarySkillLevelMap.get(CoreSkills.ALCHEMY_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.ALCHEMY_CS)).append(":"); - writer.append(uuid != null ? uuid.toString() : "NULL").append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.ALCHEMY)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.ALCHEMY)).append(":"); + writer.append(uuid != null ? uuid.toString() : NULL_VALUE).append(":"); writer.append(mmoDataSnapshot.getScoreboardTipsShown()).append(":"); writer.append(mmoDataSnapshot.getUniqueData(UniqueDataType.CHIMAERA_WING_DATS)).append(":"); @@ -405,29 +397,29 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { public static int BARSTATE_CROSSBOWS = 64; */ - writer.append(primarySkillLevelMap.get(CoreSkills.TRIDENTS_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.TRIDENTS_CS)).append(":"); - writer.append(primarySkillLevelMap.get(CoreSkills.CROSSBOWS_CS)).append(":"); - writer.append(primarySkillExperienceValueMap.get(CoreSkills.CROSSBOWS_CS)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.TRIDENTS)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.TRIDENTS)).append(":"); + writer.append(primarySkillLevelMap.get(PrimarySkillType.CROSSBOWS)).append(":"); + writer.append(primarySkillExperienceValueMap.get(PrimarySkillType.CROSSBOWS)).append(":"); //XPBar States - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.ACROBATICS_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.ALCHEMY_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.ARCHERY_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.AXES_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.EXCAVATION_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.FISHING_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.HERBALISM_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.MINING_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.REPAIR_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.SALVAGE_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.SMELTING_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.SWORDS_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.TAMING_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.UNARMED_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.WOODCUTTING_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.TRIDENTS_CS).toString()).append(":"); - writer.append(mmoDataSnapshot.getBarStateMap().get(CoreSkills.CROSSBOWS_CS).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.ACROBATICS).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.ALCHEMY).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.ARCHERY).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.AXES).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.EXCAVATION).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.FISHING).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.HERBALISM).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.MINING).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.REPAIR).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.SALVAGE).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.SMELTING).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.SWORDS).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.TAMING).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.UNARMED).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.WOODCUTTING).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.TRIDENTS).toString()).append(":"); + writer.append(mmoDataSnapshot.getBarStateMap().get(PrimarySkillType.CROSSBOWS).toString()).append(":"); writer.append(0).append(":"); //archery super 1 cd writer.append(0).append(":"); //xbow super 1 cd @@ -448,13 +440,13 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { } @Override - public @NotNull Map readRank(@NotNull String playerName) { + public @NotNull Map readRank(@NotNull String playerName) { updateLeaderboards(); - Map skills = new HashMap<>(); + Map skills = new HashMap<>(); - for (RootSkill rootSkill : CoreSkills.getImmutableCoreRootSkillSet()) { - if(CoreSkills.isChildSkill(rootSkill)) + for (RootSkill rootSkill : PrimarySkillType.getImmutableCoreRootSkillSet()) { + if(PrimarySkillType.isChildSkill(rootSkill)) continue; skills.put(rootSkill, getPlayerRank(playerName, playerStatHash.get(rootSkill))); @@ -466,7 +458,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { } @Override - public void insertNewUser(@NotNull String playerName, @NotNull UUID uuid) { + public void newUser(@NotNull String playerName, @NotNull UUID uuid) { BufferedWriter out = null; synchronized (fileWritingLock) { try { @@ -517,7 +509,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { out.append(Config.getInstance().getMobHealthbarDefault().toString()).append(":"); // Mob Healthbar HUD out.append(startingLevel); // Alchemy out.append("0:"); // AlchemyXp - out.append(uuid != null ? uuid.toString() : "NULL").append(":"); // UUID + out.append(uuid != null ? uuid.toString() : NULL_VALUE).append(":"); // UUID out.append("0:"); // Scoreboard tips shown out.append("0:"); // Chimaera Wing Dats @@ -809,23 +801,23 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { playerName = data[FlatFileMappings.USERNAME]; int powerLevel = 0; - Map skills = getSkillMapFromLine(data); + Map skills = getSkillMapFromLine(data); - powerLevel += putStat(acrobatics, playerName, skills.get(CoreSkills.ACROBATICS_CS)); - powerLevel += putStat(alchemy, playerName, skills.get(CoreSkills.ALCHEMY_CS)); - powerLevel += putStat(archery, playerName, skills.get(CoreSkills.ARCHERY_CS)); - powerLevel += putStat(axes, playerName, skills.get(CoreSkills.AXES_CS)); - powerLevel += putStat(excavation, playerName, skills.get(CoreSkills.EXCAVATION_CS)); - powerLevel += putStat(fishing, playerName, skills.get(CoreSkills.FISHING_CS)); - powerLevel += putStat(herbalism, playerName, skills.get(CoreSkills.HERBALISM_CS)); - powerLevel += putStat(mining, playerName, skills.get(CoreSkills.MINING_CS)); - powerLevel += putStat(repair, playerName, skills.get(CoreSkills.REPAIR_CS)); - powerLevel += putStat(swords, playerName, skills.get(CoreSkills.SWORDS_CS)); - powerLevel += putStat(taming, playerName, skills.get(CoreSkills.TAMING_CS)); - powerLevel += putStat(unarmed, playerName, skills.get(CoreSkills.UNARMED_CS)); - powerLevel += putStat(woodcutting, playerName, skills.get(CoreSkills.WOODCUTTING_CS)); - powerLevel += putStat(woodcutting, playerName, skills.get(CoreSkills.CROSSBOWS_CS)); - powerLevel += putStat(woodcutting, playerName, skills.get(CoreSkills.TRIDENTS_CS)); + powerLevel += putStat(acrobatics, playerName, skills.get(PrimarySkillType.ACROBATICS)); + powerLevel += putStat(alchemy, playerName, skills.get(PrimarySkillType.ALCHEMY)); + powerLevel += putStat(archery, playerName, skills.get(PrimarySkillType.ARCHERY)); + powerLevel += putStat(axes, playerName, skills.get(PrimarySkillType.AXES)); + powerLevel += putStat(excavation, playerName, skills.get(PrimarySkillType.EXCAVATION)); + powerLevel += putStat(fishing, playerName, skills.get(PrimarySkillType.FISHING)); + powerLevel += putStat(herbalism, playerName, skills.get(PrimarySkillType.HERBALISM)); + powerLevel += putStat(mining, playerName, skills.get(PrimarySkillType.MINING)); + powerLevel += putStat(repair, playerName, skills.get(PrimarySkillType.REPAIR)); + powerLevel += putStat(swords, playerName, skills.get(PrimarySkillType.SWORDS)); + powerLevel += putStat(taming, playerName, skills.get(PrimarySkillType.TAMING)); + powerLevel += putStat(unarmed, playerName, skills.get(PrimarySkillType.UNARMED)); + powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.WOODCUTTING)); + powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.CROSSBOWS)); + powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.TRIDENTS)); putStat(powerLevels, playerName, powerLevel); } @@ -862,19 +854,19 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { alchemy.sort(c); powerLevels.sort(c); - playerStatHash.put(CoreSkills.MINING_CS, mining); - playerStatHash.put(CoreSkills.WOODCUTTING_CS, woodcutting); - playerStatHash.put(CoreSkills.REPAIR_CS, repair); - playerStatHash.put(CoreSkills.UNARMED_CS, unarmed); - playerStatHash.put(CoreSkills.HERBALISM_CS, herbalism); - playerStatHash.put(CoreSkills.EXCAVATION_CS, excavation); - playerStatHash.put(CoreSkills.ARCHERY_CS, archery); - playerStatHash.put(CoreSkills.SWORDS_CS, swords); - playerStatHash.put(CoreSkills.AXES_CS, axes); - playerStatHash.put(CoreSkills.ACROBATICS_CS, acrobatics); - playerStatHash.put(CoreSkills.TAMING_CS, taming); - playerStatHash.put(CoreSkills.FISHING_CS, fishing); - playerStatHash.put(CoreSkills.ALCHEMY_CS, alchemy); + playerStatHash.put(PrimarySkillType.MINING, mining); + playerStatHash.put(PrimarySkillType.WOODCUTTING, woodcutting); + playerStatHash.put(PrimarySkillType.REPAIR, repair); + playerStatHash.put(PrimarySkillType.UNARMED, unarmed); + playerStatHash.put(PrimarySkillType.HERBALISM, herbalism); + playerStatHash.put(PrimarySkillType.EXCAVATION, excavation); + playerStatHash.put(PrimarySkillType.ARCHERY, archery); + playerStatHash.put(PrimarySkillType.SWORDS, swords); + playerStatHash.put(PrimarySkillType.AXES, axes); + playerStatHash.put(PrimarySkillType.ACROBATICS, acrobatics); + playerStatHash.put(PrimarySkillType.TAMING, taming); + playerStatHash.put(PrimarySkillType.FISHING, fishing); + playerStatHash.put(PrimarySkillType.ALCHEMY, alchemy); } /** @@ -912,7 +904,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { if (!usernames.add(stringDataArray[FlatFileMappings.USERNAME])) { stringDataArray[FlatFileMappings.USERNAME] = "_INVALID_OLD_USERNAME_'"; updated = true; - if (stringDataArray.length < FlatFileMappings.UUID_INDEX + 1 || stringDataArray[FlatFileMappings.UUID_INDEX].equals("NULL")) { + if (stringDataArray.length < FlatFileMappings.UUID_INDEX + 1 || stringDataArray[FlatFileMappings.UUID_INDEX].equals(NULL_VALUE)) { continue; } } @@ -1007,7 +999,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { // Version 1.5.01 // Add a value because otherwise it gets removed stringDataArray = Arrays.copyOf(stringDataArray, stringDataArray.length + 1); - stringDataArray[stringDataArray.length - 1] = "NULL"; + stringDataArray[stringDataArray.length - 1] = NULL_VALUE; if (oldVersion == null) { oldVersion = "1.5.01"; } @@ -1107,8 +1099,8 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { //TODO: If new skills are added this needs to be rewritten if (Config.getInstance().getTruncateSkills()) { - for (RootSkill rootSkill : CoreSkills.getImmutableCoreRootSkillSet()) { - if(CoreSkills.isChildSkill(rootSkill)) + for (RootSkill rootSkill : PrimarySkillType.getImmutableCoreRootSkillSet()) { + if(PrimarySkillType.isChildSkill(rootSkill)) continue; int index = getSkillIndex(rootSkill); @@ -1175,8 +1167,8 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { updated |= oldVersion != null; if (Config.getInstance().getTruncateSkills()) { - Map skillsMap = getSkillMapFromLine(stringDataArray); - for (RootSkill rootSkill : CoreSkills.getNonChildSkills()) { + Map skillsMap = getSkillMapFromLine(stringDataArray); + for (RootSkill rootSkill : PrimarySkillType.getNonChildSkills()) { int cap = Config.getInstance().getLevelCap(rootSkill); if (skillsMap.get(rootSkill) > cap) { updated = true; @@ -1191,7 +1183,7 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { // Prevent the same player from being present multiple times if (stringDataArray.length == originalLength //If the length changed then the schema was expanded && (!stringDataArray[FlatFileMappings.UUID_INDEX].isEmpty() - && !stringDataArray[FlatFileMappings.UUID_INDEX].equals("NULL") + && !stringDataArray[FlatFileMappings.UUID_INDEX].equals(NULL_VALUE) && !players.add(stringDataArray[FlatFileMappings.UUID_INDEX]))) { continue; } @@ -1279,29 +1271,31 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { private @Nullable MMOPlayerData loadFromLine(@NotNull String[] dataStrSplit) { MMODataBuilder playerDataBuilder = new MMODataBuilder(); + String username = dataStrSplit[FlatFileMappings.USERNAME]; - Map skillLevelMap = getSkillMapFromLine(dataStrSplit); // Skill levels - Map skillExperienceValueMap = new HashMap<>(); // Skill & XP - Map skillAbilityDeactivationTimeStamp = new HashMap<>(); // Ability & Cooldown + Map skillLevelMap = getSkillMapFromLine(dataStrSplit); // Skill levels + Map skillExperienceValueMap = new HashMap<>(); // Skill & XP + Map skillAbilityDeactivationTimeStamp = new HashMap<>(); // Ability & Cooldown Map uniquePlayerDataMap = new EnumMap(UniqueDataType.class); - Map xpBarStateMap = new HashMap<>(); + Map xpBarStateMap = new HashMap<>(); int scoreboardTipsShown; - skillExperienceValueMap.put(CoreSkills.TAMING_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_TAMING])); - skillExperienceValueMap.put(CoreSkills.MINING_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_MINING])); - skillExperienceValueMap.put(CoreSkills.REPAIR_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_REPAIR])); - skillExperienceValueMap.put(CoreSkills.WOODCUTTING_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_WOODCUTTING])); - skillExperienceValueMap.put(CoreSkills.UNARMED_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_UNARMED])); - skillExperienceValueMap.put(CoreSkills.HERBALISM_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_HERBALISM])); - skillExperienceValueMap.put(CoreSkills.EXCAVATION_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_EXCAVATION])); - skillExperienceValueMap.put(CoreSkills.ARCHERY_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_ARCHERY])); - skillExperienceValueMap.put(CoreSkills.SWORDS_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_SWORDS])); - skillExperienceValueMap.put(CoreSkills.AXES_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_AXES])); - skillExperienceValueMap.put(CoreSkills.ACROBATICS_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_ACROBATICS])); - skillExperienceValueMap.put(CoreSkills.FISHING_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_FISHING])); - skillExperienceValueMap.put(CoreSkills.ALCHEMY_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_ALCHEMY])); - skillExperienceValueMap.put(CoreSkills.TRIDENTS_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_TRIDENTS])); - skillExperienceValueMap.put(CoreSkills.CROSSBOWS_CS, (float) Integer.parseInt(dataStrSplit[FlatFileMappings.EXP_CROSSBOWS])); + //XP Values + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.TAMING, FlatFileMappings.EXP_TAMING, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.MINING, FlatFileMappings.EXP_MINING, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.REPAIR, FlatFileMappings.EXP_REPAIR, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.WOODCUTTING, FlatFileMappings.EXP_WOODCUTTING, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.UNARMED, FlatFileMappings.EXP_UNARMED, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.HERBALISM, FlatFileMappings.EXP_HERBALISM, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.EXCAVATION, FlatFileMappings.EXP_EXCAVATION, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.ARCHERY, FlatFileMappings.EXP_ARCHERY, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.SWORDS, FlatFileMappings.EXP_SWORDS, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.AXES, FlatFileMappings.EXP_AXES, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.ACROBATICS, FlatFileMappings.EXP_ACROBATICS, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.FISHING, FlatFileMappings.EXP_FISHING, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.ALCHEMY, FlatFileMappings.EXP_ALCHEMY, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.TRIDENTS, FlatFileMappings.EXP_TRIDENTS, username); + tryLoadSkillFloatValuesFromRawData(skillExperienceValueMap, dataStrSplit, PrimarySkillType.CROSSBOWS, FlatFileMappings.EXP_CROSSBOWS, username); //Set Skill XP @@ -1320,14 +1314,9 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { skillAbilityDeactivationTimeStamp.put(SuperAbilityType.SUPER_SHOTGUN, Integer.valueOf(dataStrSplit[FlatFileMappings.COOLDOWN_CROSSBOWS_SUPER_1])); skillAbilityDeactivationTimeStamp.put(SuperAbilityType.TRIDENT_SUPER, Integer.valueOf(dataStrSplit[FlatFileMappings.COOLDOWN_TRIDENTS_SUPER_1])); - -// try { -// mobHealthbarType = MobHealthBarType.valueOf(dataStrSplit[FlatFileMappings.HEALTHBAR]); -// } -// catch (Exception e) { -// mobHealthbarType = Config.getInstance().getMobHealthbarDefault(); -// } - + /* + * Mob Health Bars are no longer saved per player and are ignored from the data + */ //Sometimes players are retrieved by name UUID playerUUID; @@ -1347,7 +1336,6 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { scoreboardTipsShown = 0; } - try { uniquePlayerDataMap.put(UniqueDataType.CHIMAERA_WING_DATS, Integer.valueOf(dataStrSplit[FlatFileMappings.COOLDOWN_CHIMAERA_WING])); } @@ -1356,27 +1344,28 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { } try { - xpBarStateMap.put(CoreSkills.ACROBATICS_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_ACROBATICS])); - xpBarStateMap.put(CoreSkills.ALCHEMY_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_ALCHEMY])); - xpBarStateMap.put(CoreSkills.ARCHERY_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_ARCHERY])); - xpBarStateMap.put(CoreSkills.AXES_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_AXES])); - xpBarStateMap.put(CoreSkills.EXCAVATION_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_EXCAVATION])); - xpBarStateMap.put(CoreSkills.FISHING_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_FISHING])); - xpBarStateMap.put(CoreSkills.HERBALISM_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_HERBALISM])); - xpBarStateMap.put(CoreSkills.MINING_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_MINING])); - xpBarStateMap.put(CoreSkills.REPAIR_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_REPAIR])); - xpBarStateMap.put(CoreSkills.SALVAGE_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_SALVAGE])); - xpBarStateMap.put(CoreSkills.SMELTING_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_SMELTING])); - xpBarStateMap.put(CoreSkills.SWORDS_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_SWORDS])); - xpBarStateMap.put(CoreSkills.TAMING_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_TAMING])); - xpBarStateMap.put(CoreSkills.UNARMED_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_UNARMED])); - xpBarStateMap.put(CoreSkills.WOODCUTTING_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_WOODCUTTING])); - xpBarStateMap.put(CoreSkills.TRIDENTS_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_TRIDENTS])); - xpBarStateMap.put(CoreSkills.CROSSBOWS_CS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_CROSSBOWS])); + xpBarStateMap.put(PrimarySkillType.ACROBATICS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_ACROBATICS])); + xpBarStateMap.put(PrimarySkillType.ALCHEMY, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_ALCHEMY])); + xpBarStateMap.put(PrimarySkillType.ARCHERY, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_ARCHERY])); + xpBarStateMap.put(PrimarySkillType.AXES, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_AXES])); + xpBarStateMap.put(PrimarySkillType.EXCAVATION, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_EXCAVATION])); + xpBarStateMap.put(PrimarySkillType.FISHING, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_FISHING])); + xpBarStateMap.put(PrimarySkillType.HERBALISM, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_HERBALISM])); + xpBarStateMap.put(PrimarySkillType.MINING, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_MINING])); + xpBarStateMap.put(PrimarySkillType.REPAIR, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_REPAIR])); + xpBarStateMap.put(PrimarySkillType.SALVAGE, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_SALVAGE])); + xpBarStateMap.put(PrimarySkillType.SMELTING, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_SMELTING])); + xpBarStateMap.put(PrimarySkillType.SWORDS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_SWORDS])); + xpBarStateMap.put(PrimarySkillType.TAMING, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_TAMING])); + xpBarStateMap.put(PrimarySkillType.UNARMED, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_UNARMED])); + xpBarStateMap.put(PrimarySkillType.WOODCUTTING, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_WOODCUTTING])); + xpBarStateMap.put(PrimarySkillType.TRIDENTS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_TRIDENTS])); + xpBarStateMap.put(PrimarySkillType.CROSSBOWS, SkillUtils.asBarState(dataStrSplit[FlatFileMappings.BARSTATE_CROSSBOWS])); } catch (Exception e) { xpBarStateMap = MMOExperienceBarManager.generateDefaultBarStateMap(); } + MMOPlayerData mmoPlayerData; try { @@ -1399,36 +1388,68 @@ public final class FlatFileDatabaseManager extends AbstractDatabaseManager { } } - //TODO: Add tests - private @NotNull Map getSkillMapFromLine(@NotNull String[] stringDataArray) { - HashMap skillLevelsMap = new HashMap<>(); // Skill & Level + private @NotNull Map getSkillMapFromLine(@NotNull String[] splitDataArray) { + Map skills = new EnumMap<>(PrimarySkillType.class); // Skill & Level + String username = splitDataArray[FlatFileMappings.USERNAME]; - skillLevelsMap.put(CoreSkills.TAMING_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_TAMING])); - skillLevelsMap.put(CoreSkills.MINING_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_MINING])); - skillLevelsMap.put(CoreSkills.REPAIR_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_REPAIR])); - skillLevelsMap.put(CoreSkills.WOODCUTTING_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_WOODCUTTING])); - skillLevelsMap.put(CoreSkills.UNARMED_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_UNARMED])); - skillLevelsMap.put(CoreSkills.HERBALISM_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_HERBALISM])); - skillLevelsMap.put(CoreSkills.EXCAVATION_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_EXCAVATION])); - skillLevelsMap.put(CoreSkills.ARCHERY_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_ARCHERY])); - skillLevelsMap.put(CoreSkills.SWORDS_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_SWORDS])); - skillLevelsMap.put(CoreSkills.AXES_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_AXES])); - skillLevelsMap.put(CoreSkills.ACROBATICS_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_ACROBATICS])); - skillLevelsMap.put(CoreSkills.FISHING_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_FISHING])); - skillLevelsMap.put(CoreSkills.ALCHEMY_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_ALCHEMY])); - skillLevelsMap.put(CoreSkills.TRIDENTS_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_TRIDENTS])); - skillLevelsMap.put(CoreSkills.CROSSBOWS_CS, Integer.valueOf(stringDataArray[FlatFileMappings.SKILLS_CROSSBOWS])); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.TAMING, FlatFileMappings.SKILLS_TAMING, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.MINING, FlatFileMappings.SKILLS_MINING, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.REPAIR, FlatFileMappings.SKILLS_REPAIR, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.WOODCUTTING, FlatFileMappings.SKILLS_WOODCUTTING, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.UNARMED, FlatFileMappings.SKILLS_UNARMED, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.HERBALISM, FlatFileMappings.SKILLS_HERBALISM, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.EXCAVATION, FlatFileMappings.SKILLS_EXCAVATION, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.ARCHERY, FlatFileMappings.SKILLS_ARCHERY, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.SWORDS, FlatFileMappings.SKILLS_SWORDS, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.AXES, FlatFileMappings.SKILLS_AXES, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.ACROBATICS, FlatFileMappings.SKILLS_ACROBATICS, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.FISHING, FlatFileMappings.SKILLS_FISHING, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.ALCHEMY, FlatFileMappings.SKILLS_ALCHEMY, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.TRIDENTS, FlatFileMappings.SKILLS_TRIDENTS, username); + tryLoadSkillIntValuesFromRawData(skills, splitDataArray, PrimarySkillType.CROSSBOWS, FlatFileMappings.SKILLS_CROSSBOWS, username); - return skillLevelsMap; + return skills; } + private void tryLoadSkillCooldownFromRawData(@NotNull Map cooldownMap, @NotNull String[] character, @NotNull SuperAbilityType superAbilityType, int cooldownSuperBreaker, @NotNull String userName) { + try { + cooldownMap.put(superAbilityType, Integer.valueOf(character[cooldownSuperBreaker])); + } catch (NumberFormatException e) { + mcMMO.p.getLogger().severe("Data corruption when trying to load the value for skill "+superAbilityType.toString()+" for player named " + userName+ " setting value to zero"); + e.printStackTrace(); + } + } + + + private void tryLoadSkillFloatValuesFromRawData(@NotNull Map skillMap, @NotNull String[] character, @NotNull PrimarySkillType primarySkillType, int index, @NotNull String userName) { + try { + float valueFromString = Integer.parseInt(character[index]); + skillMap.put(primarySkillType, valueFromString); + } catch (NumberFormatException e) { + skillMap.put(primarySkillType, 0F); + mcMMO.p.getLogger().severe("Data corruption when trying to load the value for skill "+primarySkillType.toString()+" for player named " + userName+ " setting value to zero"); + e.printStackTrace(); + } + } + + + private void tryLoadSkillIntValuesFromRawData(@NotNull Map skillMap, @NotNull String[] character, @NotNull PrimarySkillType primarySkillType, int index, @NotNull String userName) { + try { + int valueFromString = Integer.parseInt(character[index]); + skillMap.put(primarySkillType, valueFromString); + } catch (NumberFormatException e) { + skillMap.put(primarySkillType, 0); + mcMMO.p.getLogger().severe("Data corruption when trying to load the value for skill "+primarySkillType.toString()+" for player named " + userName+ " setting value to zero"); + e.printStackTrace(); + } + } + + public @NotNull DatabaseType getDatabaseType() { return DatabaseType.FLATFILE; } - private int getSkillIndex(@NotNull RootSkill rootSkill) { - PrimarySkillType primarySkillType = CoreSkills.getSkill(rootSkill); - + private int getSkillIndex(@NotNull PrimarySkillType primarySkillType) { switch (primarySkillType) { case ACROBATICS: return FlatFileMappings.SKILLS_ACROBATICS; diff --git a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java index a2f7d3037..2f26533b1 100644 --- a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java @@ -6,6 +6,7 @@ import com.gmail.nossr50.datatypes.database.PlayerStat; import com.gmail.nossr50.datatypes.database.UpgradeType; import com.gmail.nossr50.datatypes.player.*; import com.gmail.nossr50.datatypes.skills.CoreSkills; +import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.database.UUIDUpdateAsyncTask; @@ -264,23 +265,23 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { + ", unarmed = ?, herbalism = ?, excavation = ?" + ", archery = ?, swords = ?, axes = ?, acrobatics = ?" + ", fishing = ?, alchemy = ?, tridents = ?, crossbows = ?, total = ? WHERE user_id = ?"); - statement.setInt(1, dataSnapshot.getSkillLevel(CoreSkills.TAMING)); - statement.setInt(2, dataSnapshot.getSkillLevel(CoreSkills.MINING)); - statement.setInt(3, dataSnapshot.getSkillLevel(CoreSkills.REPAIR)); - statement.setInt(4, dataSnapshot.getSkillLevel(CoreSkills.WOODCUTTING)); - statement.setInt(5, dataSnapshot.getSkillLevel(CoreSkills.UNARMED)); - statement.setInt(6, dataSnapshot.getSkillLevel(CoreSkills.HERBALISM)); - statement.setInt(7, dataSnapshot.getSkillLevel(CoreSkills.EXCAVATION)); - statement.setInt(8, dataSnapshot.getSkillLevel(CoreSkills.ARCHERY)); - statement.setInt(9, dataSnapshot.getSkillLevel(CoreSkills.SWORDS)); - statement.setInt(10, dataSnapshot.getSkillLevel(CoreSkills.AXES)); - statement.setInt(11, dataSnapshot.getSkillLevel(CoreSkills.ACROBATICS)); - statement.setInt(12, dataSnapshot.getSkillLevel(CoreSkills.FISHING)); - statement.setInt(13, dataSnapshot.getSkillLevel(CoreSkills.ALCHEMY)); - statement.setInt(14, dataSnapshot.getSkillLevel(CoreSkills.TRIDENTS)); - statement.setInt(15, dataSnapshot.getSkillLevel(CoreSkills.CROSSBOWS)); + statement.setInt(1, dataSnapshot.getSkillLevel(PrimarySkillType.TAMING)); + statement.setInt(2, dataSnapshot.getSkillLevel(PrimarySkillType.MINING)); + statement.setInt(3, dataSnapshot.getSkillLevel(PrimarySkillType.REPAIR)); + statement.setInt(4, dataSnapshot.getSkillLevel(PrimarySkillType.WOODCUTTING)); + statement.setInt(5, dataSnapshot.getSkillLevel(PrimarySkillType.UNARMED)); + statement.setInt(6, dataSnapshot.getSkillLevel(PrimarySkillType.HERBALISM)); + statement.setInt(7, dataSnapshot.getSkillLevel(PrimarySkillType.EXCAVATION)); + statement.setInt(8, dataSnapshot.getSkillLevel(PrimarySkillType.ARCHERY)); + statement.setInt(9, dataSnapshot.getSkillLevel(PrimarySkillType.SWORDS)); + statement.setInt(10, dataSnapshot.getSkillLevel(PrimarySkillType.AXES)); + statement.setInt(11, dataSnapshot.getSkillLevel(PrimarySkillType.ACROBATICS)); + statement.setInt(12, dataSnapshot.getSkillLevel(PrimarySkillType.FISHING)); + statement.setInt(13, dataSnapshot.getSkillLevel(PrimarySkillType.ALCHEMY)); + statement.setInt(14, dataSnapshot.getSkillLevel(PrimarySkillType.TRIDENTS)); + statement.setInt(15, dataSnapshot.getSkillLevel(PrimarySkillType.CROSSBOWS)); int total = 0; - for (RootSkill rootSkill : CoreSkills.getNonChildSkills()) + for (RootSkill rootSkill : PrimarySkillType.getNonChildSkills()) total += dataSnapshot.getSkillLevel(rootSkill); statement.setInt(16, total); statement.setInt(17, id); @@ -296,21 +297,21 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { + ", unarmed = ?, herbalism = ?, excavation = ?" + ", archery = ?, swords = ?, axes = ?, acrobatics = ?" + ", fishing = ?, alchemy = ?, tridents = ?, crossbows = ?, WHERE user_id = ?"); - statement.setInt(1, dataSnapshot.getSkillXpLevel(CoreSkills.TAMING)); - statement.setInt(2, dataSnapshot.getSkillXpLevel(CoreSkills.MINING)); - statement.setInt(3, dataSnapshot.getSkillXpLevel(CoreSkills.REPAIR)); - statement.setInt(4, dataSnapshot.getSkillXpLevel(CoreSkills.WOODCUTTING)); - statement.setInt(5, dataSnapshot.getSkillXpLevel(CoreSkills.UNARMED)); - statement.setInt(6, dataSnapshot.getSkillXpLevel(CoreSkills.HERBALISM)); - statement.setInt(7, dataSnapshot.getSkillXpLevel(CoreSkills.EXCAVATION)); - statement.setInt(8, dataSnapshot.getSkillXpLevel(CoreSkills.ARCHERY)); - statement.setInt(9, dataSnapshot.getSkillXpLevel(CoreSkills.SWORDS)); - statement.setInt(10, dataSnapshot.getSkillXpLevel(CoreSkills.AXES)); - statement.setInt(11, dataSnapshot.getSkillXpLevel(CoreSkills.ACROBATICS)); - statement.setInt(12, dataSnapshot.getSkillXpLevel(CoreSkills.FISHING)); - statement.setInt(13, dataSnapshot.getSkillXpLevel(CoreSkills.ALCHEMY)); - statement.setInt(14, dataSnapshot.getSkillXpLevel(CoreSkills.TRIDENTS)); - statement.setInt(15, dataSnapshot.getSkillXpLevel(CoreSkills.CROSSBOWS)); + statement.setInt(1, dataSnapshot.getSkillXpLevel(PrimarySkillType.TAMING)); + statement.setInt(2, dataSnapshot.getSkillXpLevel(PrimarySkillType.MINING)); + statement.setInt(3, dataSnapshot.getSkillXpLevel(PrimarySkillType.REPAIR)); + statement.setInt(4, dataSnapshot.getSkillXpLevel(PrimarySkillType.WOODCUTTING)); + statement.setInt(5, dataSnapshot.getSkillXpLevel(PrimarySkillType.UNARMED)); + statement.setInt(6, dataSnapshot.getSkillXpLevel(PrimarySkillType.HERBALISM)); + statement.setInt(7, dataSnapshot.getSkillXpLevel(PrimarySkillType.EXCAVATION)); + statement.setInt(8, dataSnapshot.getSkillXpLevel(PrimarySkillType.ARCHERY)); + statement.setInt(9, dataSnapshot.getSkillXpLevel(PrimarySkillType.SWORDS)); + statement.setInt(10, dataSnapshot.getSkillXpLevel(PrimarySkillType.AXES)); + statement.setInt(11, dataSnapshot.getSkillXpLevel(PrimarySkillType.ACROBATICS)); + statement.setInt(12, dataSnapshot.getSkillXpLevel(PrimarySkillType.FISHING)); + statement.setInt(13, dataSnapshot.getSkillXpLevel(PrimarySkillType.ALCHEMY)); + statement.setInt(14, dataSnapshot.getSkillXpLevel(PrimarySkillType.TRIDENTS)); + statement.setInt(15, dataSnapshot.getSkillXpLevel(PrimarySkillType.CROSSBOWS)); statement.setInt(16, id); success &= (statement.executeUpdate() != 0); statement.close(); @@ -361,23 +362,23 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { + ", view_unarmed = ?, view_herbalism = ?, view_excavation = ?" + ", view_archery = ?, view_swords = ?, view_axes = ?, view_acrobatics = ?" + ", view_fishing = ?, view_alchemy = ?, view_salvage = ?, view_smelting = ?, view_tridents = ?, view_crossbows = ? WHERE user_id = ?"); - statement.setString(1, dataSnapshot.getBarStateMap().get(CoreSkills.TAMING).toString()); - statement.setString(2, dataSnapshot.getBarStateMap().get(CoreSkills.MINING).toString()); - statement.setString(3, dataSnapshot.getBarStateMap().get(CoreSkills.REPAIR).toString()); - statement.setString(4, dataSnapshot.getBarStateMap().get(CoreSkills.WOODCUTTING).toString()); - statement.setString(5, dataSnapshot.getBarStateMap().get(CoreSkills.UNARMED).toString()); - statement.setString(6, dataSnapshot.getBarStateMap().get(CoreSkills.HERBALISM).toString()); - statement.setString(7, dataSnapshot.getBarStateMap().get(CoreSkills.EXCAVATION).toString()); - statement.setString(8, dataSnapshot.getBarStateMap().get(CoreSkills.ARCHERY).toString()); - statement.setString(9, dataSnapshot.getBarStateMap().get(CoreSkills.SWORDS).toString()); - statement.setString(10, dataSnapshot.getBarStateMap().get(CoreSkills.AXES).toString()); - statement.setString(11, dataSnapshot.getBarStateMap().get(CoreSkills.ACROBATICS).toString()); - statement.setString(12, dataSnapshot.getBarStateMap().get(CoreSkills.FISHING).toString()); - statement.setString(13, dataSnapshot.getBarStateMap().get(CoreSkills.ALCHEMY).toString()); - statement.setString(14, dataSnapshot.getBarStateMap().get(CoreSkills.SALVAGE).toString()); - statement.setString(15, dataSnapshot.getBarStateMap().get(CoreSkills.SMELTING).toString()); - statement.setString(16, dataSnapshot.getBarStateMap().get(CoreSkills.TRIDENTS).toString()); - statement.setString(17, dataSnapshot.getBarStateMap().get(CoreSkills.CROSSBOWS).toString()); + statement.setString(1, dataSnapshot.getBarStateMap().get(PrimarySkillType.TAMING).toString()); + statement.setString(2, dataSnapshot.getBarStateMap().get(PrimarySkillType.MINING).toString()); + statement.setString(3, dataSnapshot.getBarStateMap().get(PrimarySkillType.REPAIR).toString()); + statement.setString(4, dataSnapshot.getBarStateMap().get(PrimarySkillType.WOODCUTTING).toString()); + statement.setString(5, dataSnapshot.getBarStateMap().get(PrimarySkillType.UNARMED).toString()); + statement.setString(6, dataSnapshot.getBarStateMap().get(PrimarySkillType.HERBALISM).toString()); + statement.setString(7, dataSnapshot.getBarStateMap().get(PrimarySkillType.EXCAVATION).toString()); + statement.setString(8, dataSnapshot.getBarStateMap().get(PrimarySkillType.ARCHERY).toString()); + statement.setString(9, dataSnapshot.getBarStateMap().get(PrimarySkillType.SWORDS).toString()); + statement.setString(10, dataSnapshot.getBarStateMap().get(PrimarySkillType.AXES).toString()); + statement.setString(11, dataSnapshot.getBarStateMap().get(PrimarySkillType.ACROBATICS).toString()); + statement.setString(12, dataSnapshot.getBarStateMap().get(PrimarySkillType.FISHING).toString()); + statement.setString(13, dataSnapshot.getBarStateMap().get(PrimarySkillType.ALCHEMY).toString()); + statement.setString(14, dataSnapshot.getBarStateMap().get(PrimarySkillType.SALVAGE).toString()); + statement.setString(15, dataSnapshot.getBarStateMap().get(PrimarySkillType.SMELTING).toString()); + statement.setString(16, dataSnapshot.getBarStateMap().get(PrimarySkillType.TRIDENTS).toString()); + statement.setString(17, dataSnapshot.getBarStateMap().get(PrimarySkillType.CROSSBOWS).toString()); statement.setInt(18, id); success &= (statement.executeUpdate() != 0); statement.close(); @@ -417,7 +418,7 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { List stats = new ArrayList<>(); //Fix for a plugin that people are using that is throwing SQL errors - if(rootSkill != null && CoreSkills.isChildSkill(rootSkill)) { + if(rootSkill != null && PrimarySkillType.isChildSkill(rootSkill)) { mcMMO.p.getLogger().severe("A plugin hooking into mcMMO is being naughty with our database commands, update all plugins that hook into mcMMO and contact their devs!"); throw new InvalidSkillException("A plugin hooking into mcMMO that you are using is attempting to read leaderboard skills for child skills, child skills do not have leaderboards! This is NOT an mcMMO error!"); } @@ -459,8 +460,8 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { return stats; } - public @NotNull Map readRank(@NotNull String playerName) { - Map skills = new HashMap<>(); + public @NotNull Map readRank(@NotNull String playerName) { + Map skills = new HashMap<>(); ResultSet resultSet = null; PreparedStatement statement = null; @@ -468,7 +469,7 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { try { connection = getConnection(PoolIdentifier.MISC); - for (RootSkill rootSkill : CoreSkills.getNonChildSkills()) { + for (RootSkill rootSkill : PrimarySkillType.getNonChildSkills()) { String skillName = rootSkill.getRawSkillName().toLowerCase(Locale.ENGLISH); // Get count of all users with higher skill level than player String sql = "SELECT COUNT(*) AS 'rank' FROM " + tablePrefix + "users JOIN " + tablePrefix + "skills ON user_id = id WHERE " + skillName + " > 0 " + @@ -1056,7 +1057,7 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { } if (Config.getInstance().getTruncateSkills()) { - for (RootSkill rootSkill : CoreSkills.getNonChildSkills()) { + for (RootSkill rootSkill : PrimarySkillType.getNonChildSkills()) { int cap = Config.getInstance().getLevelCap(rootSkill); if (cap != Integer.MAX_VALUE) { statement = connection.prepareStatement("UPDATE `" + tablePrefix + "skills` SET `" @@ -1227,8 +1228,8 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { private @Nullable MMOPlayerData loadFromResult(@NotNull String playerName, @NotNull ResultSet result) throws SQLException { MMODataBuilder MMODataBuilder = new MMODataBuilder(); - Map skills = new HashMap<>(); // Skill & Level - Map skillsXp = new HashMap<>(); // Skill & XP + Map skills = new HashMap<>(); // Skill & Level + Map skillsXp = new HashMap<>(); // Skill & XP Map skillsDATS = new HashMap<>(); // Ability & Cooldown Map uniqueData = new EnumMap(UniqueDataType.class); //Chimaera wing cooldown and other misc info Map xpBarStateMap = new HashMap(); @@ -1246,37 +1247,37 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { final int OFFSET_XPBAR = OFFSET_OTHER + otherCount; final int OFFSET_TOGGLE = OFFSET_XPBAR + allSkills; - skills.put(CoreSkills.TAMING, result.getInt(OFFSET_SKILLS + 1)); - skills.put(CoreSkills.MINING, result.getInt(OFFSET_SKILLS + 2)); - skills.put(CoreSkills.REPAIR, result.getInt(OFFSET_SKILLS + 3)); - skills.put(CoreSkills.WOODCUTTING, result.getInt(OFFSET_SKILLS + 4)); - skills.put(CoreSkills.UNARMED, result.getInt(OFFSET_SKILLS + 5)); - skills.put(CoreSkills.HERBALISM, result.getInt(OFFSET_SKILLS + 6)); - skills.put(CoreSkills.EXCAVATION, result.getInt(OFFSET_SKILLS + 7)); - skills.put(CoreSkills.ARCHERY, result.getInt(OFFSET_SKILLS + 8)); - skills.put(CoreSkills.SWORDS, result.getInt(OFFSET_SKILLS + 9)); - skills.put(CoreSkills.AXES, result.getInt(OFFSET_SKILLS + 10)); - skills.put(CoreSkills.ACROBATICS, result.getInt(OFFSET_SKILLS + 11)); - skills.put(CoreSkills.FISHING, result.getInt(OFFSET_SKILLS + 12)); - skills.put(CoreSkills.ALCHEMY, result.getInt(OFFSET_SKILLS + 13)); - skills.put(CoreSkills.TRIDENTS, result.getInt(OFFSET_SKILLS + 14)); - skills.put(CoreSkills.CROSSBOWS, result.getInt(OFFSET_SKILLS + 15)); + skills.put(PrimarySkillType.TAMING, result.getInt(OFFSET_SKILLS + 1)); + skills.put(PrimarySkillType.MINING, result.getInt(OFFSET_SKILLS + 2)); + skills.put(PrimarySkillType.REPAIR, result.getInt(OFFSET_SKILLS + 3)); + skills.put(PrimarySkillType.WOODCUTTING, result.getInt(OFFSET_SKILLS + 4)); + skills.put(PrimarySkillType.UNARMED, result.getInt(OFFSET_SKILLS + 5)); + skills.put(PrimarySkillType.HERBALISM, result.getInt(OFFSET_SKILLS + 6)); + skills.put(PrimarySkillType.EXCAVATION, result.getInt(OFFSET_SKILLS + 7)); + skills.put(PrimarySkillType.ARCHERY, result.getInt(OFFSET_SKILLS + 8)); + skills.put(PrimarySkillType.SWORDS, result.getInt(OFFSET_SKILLS + 9)); + skills.put(PrimarySkillType.AXES, result.getInt(OFFSET_SKILLS + 10)); + skills.put(PrimarySkillType.ACROBATICS, result.getInt(OFFSET_SKILLS + 11)); + skills.put(PrimarySkillType.FISHING, result.getInt(OFFSET_SKILLS + 12)); + skills.put(PrimarySkillType.ALCHEMY, result.getInt(OFFSET_SKILLS + 13)); + skills.put(PrimarySkillType.TRIDENTS, result.getInt(OFFSET_SKILLS + 14)); + skills.put(PrimarySkillType.CROSSBOWS, result.getInt(OFFSET_SKILLS + 15)); - skillsXp.put(CoreSkills.TAMING, result.getFloat(OFFSET_EXPERIENCE + 1)); - skillsXp.put(CoreSkills.MINING, result.getFloat(OFFSET_EXPERIENCE + 2)); - skillsXp.put(CoreSkills.REPAIR, result.getFloat(OFFSET_EXPERIENCE + 3)); - skillsXp.put(CoreSkills.WOODCUTTING, result.getFloat(OFFSET_EXPERIENCE + 4)); - skillsXp.put(CoreSkills.UNARMED, result.getFloat(OFFSET_EXPERIENCE + 5)); - skillsXp.put(CoreSkills.HERBALISM, result.getFloat(OFFSET_EXPERIENCE + 6)); - skillsXp.put(CoreSkills.EXCAVATION, result.getFloat(OFFSET_EXPERIENCE + 7)); - skillsXp.put(CoreSkills.ARCHERY, result.getFloat(OFFSET_EXPERIENCE + 8)); - skillsXp.put(CoreSkills.SWORDS, result.getFloat(OFFSET_EXPERIENCE + 9)); - skillsXp.put(CoreSkills.AXES, result.getFloat(OFFSET_EXPERIENCE + 10)); - skillsXp.put(CoreSkills.ACROBATICS, result.getFloat(OFFSET_EXPERIENCE + 11)); - skillsXp.put(CoreSkills.FISHING, result.getFloat(OFFSET_EXPERIENCE + 12)); - skillsXp.put(CoreSkills.ALCHEMY, result.getFloat(OFFSET_EXPERIENCE + 13)); - skillsXp.put(CoreSkills.TRIDENTS, result.getFloat(OFFSET_EXPERIENCE + 14)); - skillsXp.put(CoreSkills.CROSSBOWS, result.getFloat(OFFSET_EXPERIENCE + 15)); + skillsXp.put(PrimarySkillType.TAMING, result.getFloat(OFFSET_EXPERIENCE + 1)); + skillsXp.put(PrimarySkillType.MINING, result.getFloat(OFFSET_EXPERIENCE + 2)); + skillsXp.put(PrimarySkillType.REPAIR, result.getFloat(OFFSET_EXPERIENCE + 3)); + skillsXp.put(PrimarySkillType.WOODCUTTING, result.getFloat(OFFSET_EXPERIENCE + 4)); + skillsXp.put(PrimarySkillType.UNARMED, result.getFloat(OFFSET_EXPERIENCE + 5)); + skillsXp.put(PrimarySkillType.HERBALISM, result.getFloat(OFFSET_EXPERIENCE + 6)); + skillsXp.put(PrimarySkillType.EXCAVATION, result.getFloat(OFFSET_EXPERIENCE + 7)); + skillsXp.put(PrimarySkillType.ARCHERY, result.getFloat(OFFSET_EXPERIENCE + 8)); + skillsXp.put(PrimarySkillType.SWORDS, result.getFloat(OFFSET_EXPERIENCE + 9)); + skillsXp.put(PrimarySkillType.AXES, result.getFloat(OFFSET_EXPERIENCE + 10)); + skillsXp.put(PrimarySkillType.ACROBATICS, result.getFloat(OFFSET_EXPERIENCE + 11)); + skillsXp.put(PrimarySkillType.FISHING, result.getFloat(OFFSET_EXPERIENCE + 12)); + skillsXp.put(PrimarySkillType.ALCHEMY, result.getFloat(OFFSET_EXPERIENCE + 13)); + skillsXp.put(PrimarySkillType.TRIDENTS, result.getFloat(OFFSET_EXPERIENCE + 14)); + skillsXp.put(PrimarySkillType.CROSSBOWS, result.getFloat(OFFSET_EXPERIENCE + 15)); // Taming - Unused - result.getInt(OFFSET_COOLDOWNS + 1) skillsDATS.put(SuperAbilityType.SUPER_BREAKER, result.getInt(OFFSET_COOLDOWNS + 2)); @@ -1319,23 +1320,23 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { } //XPBAR - xpBarStateMap.put(CoreSkills.TAMING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 1))); - xpBarStateMap.put(CoreSkills.MINING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 2))); - xpBarStateMap.put(CoreSkills.REPAIR, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 3))); - xpBarStateMap.put(CoreSkills.WOODCUTTING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 4))); - xpBarStateMap.put(CoreSkills.UNARMED, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 5))); - xpBarStateMap.put(CoreSkills.HERBALISM, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 6))); - xpBarStateMap.put(CoreSkills.EXCAVATION, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 7))); - xpBarStateMap.put(CoreSkills.ARCHERY, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 8))); - xpBarStateMap.put(CoreSkills.SWORDS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 9))); - xpBarStateMap.put(CoreSkills.AXES, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 10))); - xpBarStateMap.put(CoreSkills.ACROBATICS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 11))); - xpBarStateMap.put(CoreSkills.FISHING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 12))); - xpBarStateMap.put(CoreSkills.ALCHEMY, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 13))); - xpBarStateMap.put(CoreSkills.SALVAGE, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 14))); - xpBarStateMap.put(CoreSkills.SMELTING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 15))); - xpBarStateMap.put(CoreSkills.TRIDENTS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 16))); - xpBarStateMap.put(CoreSkills.CROSSBOWS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 17))); + xpBarStateMap.put(PrimarySkillType.TAMING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 1))); + xpBarStateMap.put(PrimarySkillType.MINING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 2))); + xpBarStateMap.put(PrimarySkillType.REPAIR, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 3))); + xpBarStateMap.put(PrimarySkillType.WOODCUTTING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 4))); + xpBarStateMap.put(PrimarySkillType.UNARMED, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 5))); + xpBarStateMap.put(PrimarySkillType.HERBALISM, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 6))); + xpBarStateMap.put(PrimarySkillType.EXCAVATION, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 7))); + xpBarStateMap.put(PrimarySkillType.ARCHERY, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 8))); + xpBarStateMap.put(PrimarySkillType.SWORDS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 9))); + xpBarStateMap.put(PrimarySkillType.AXES, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 10))); + xpBarStateMap.put(PrimarySkillType.ACROBATICS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 11))); + xpBarStateMap.put(PrimarySkillType.FISHING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 12))); + xpBarStateMap.put(PrimarySkillType.ALCHEMY, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 13))); + xpBarStateMap.put(PrimarySkillType.SALVAGE, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 14))); + xpBarStateMap.put(PrimarySkillType.SMELTING, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 15))); + xpBarStateMap.put(PrimarySkillType.TRIDENTS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 16))); + xpBarStateMap.put(PrimarySkillType.CROSSBOWS, SkillUtils.asBarState(result.getString(OFFSET_XPBAR + 17))); //TOGGLE boolean chatSpy = result.getBoolean(OFFSET_TOGGLE+1); @@ -1496,10 +1497,10 @@ public final class SQLDatabaseManager extends AbstractDatabaseManager { resultSet = statement.executeQuery("SHOW INDEX FROM `" + tablePrefix + "skills` WHERE `Key_name` LIKE 'idx\\_%'"); resultSet.last(); - if (resultSet.getRow() != CoreSkills.getNonChildSkills().size()) { + if (resultSet.getRow() != PrimarySkillType.getNonChildSkills().size()) { mcMMO.p.getLogger().info("Indexing tables, this may take a while on larger databases"); - for (RootSkill rootSkill : CoreSkills.getNonChildSkills()) { + for (RootSkill rootSkill : PrimarySkillType.getNonChildSkills()) { String skill_name = rootSkill.getRawSkillName().toLowerCase(Locale.ENGLISH); try { diff --git a/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java b/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java index 0c3d5b33d..733f3d3fa 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java +++ b/src/main/java/com/gmail/nossr50/datatypes/experience/OnlineExperienceProcessor.java @@ -47,7 +47,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { public int getPowerLevel() { int powerLevel = 0; - Map rootSkillLevelMap = mmoPlayerData.getDirtySkillLevelMap().unwrapMap(); + Map rootSkillLevelMap = mmoPlayerData.getDirtySkillLevelMap().unwrapMap(); for (RootSkill rootSkill : rootSkillLevelMap.keySet()) { powerLevel += rootSkillLevelMap.get(rootSkill); @@ -63,7 +63,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { @Override public int getSkillXpValue(@NotNull RootSkill rootSkill) { - if(CoreSkills.isChildSkill(rootSkill)) { + if(PrimarySkillType.isChildSkill(rootSkill)) { return 0; } @@ -72,7 +72,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { @Override public void setSkillXpValue(@NotNull RootSkill rootSkill, float xpLevel) { - if (CoreSkills.isChildSkill(rootSkill)) { + if (PrimarySkillType.isChildSkill(rootSkill)) { return; } @@ -108,7 +108,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { return; } - if (CoreSkills.isChildSkill(rootSkill)) { + if (PrimarySkillType.isChildSkill(rootSkill)) { Set parentSkills = FamilyTree.getParentSkills(rootSkill); float splitXp = xp / parentSkills.size(); @@ -147,12 +147,12 @@ public class OnlineExperienceProcessor implements ExperienceHandler { @Override public int getSkillLevel(@NotNull RootSkill rootSkill) { - return CoreSkills.isChildSkill(rootSkill) ? getChildSkillLevel(rootSkill) : getSkillLevel(rootSkill); + return PrimarySkillType.isChildSkill(rootSkill) ? getChildSkillLevel(rootSkill) : getSkillLevel(rootSkill); } @Override public int getExperienceToNextLevel(@NotNull RootSkill rootSkill) { - if(CoreSkills.isChildSkill(rootSkill)) { + if(PrimarySkillType.isChildSkill(rootSkill)) { return 0; } @@ -265,7 +265,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { @Override public double getProgressInCurrentSkillLevel(@NotNull RootSkill rootSkill) throws UnknownSkillException { - if(CoreSkills.isChildSkill(rootSkill)) { + if(PrimarySkillType.isChildSkill(rootSkill)) { return 1.0D; } @@ -283,11 +283,11 @@ public class OnlineExperienceProcessor implements ExperienceHandler { @Override public void applyXpGain(@NotNull RootSkill rootSkill, float xp, @NotNull XPGainReason xpGainReason, @NotNull XPGainSource xpGainSource) { //Only check for permissions if the player is online, otherwise just assume a command is being executed by an admin or some other means and add the XP - if (!Permissions.skillEnabled(mmoPlayer.getPlayer(), CoreSkills.getSkill(rootSkill))) { + if (!Permissions.skillEnabled(mmoPlayer.getPlayer(), PrimarySkillType.getSkill(rootSkill))) { return; } - if (CoreSkills.isChildSkill(rootSkill)) { + if (PrimarySkillType.isChildSkill(rootSkill)) { Set parentSkills = FamilyTree.getParentSkills(rootSkill); for (RootSkill parentSkill : parentSkills) { @@ -301,7 +301,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler { return; } - setUsingUnarmed(rootSkill == CoreSkills.UNARMED); + setUsingUnarmed(rootSkill == PrimarySkillType.UNARMED); updateLevelStats(rootSkill, xpGainReason, xpGainSource); } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/MMODataBuilder.java b/src/main/java/com/gmail/nossr50/datatypes/player/MMODataBuilder.java index bdc6e5534..7c4c16ed6 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/MMODataBuilder.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/MMODataBuilder.java @@ -30,8 +30,8 @@ public class MMODataBuilder { private long lastLogin; /* Skill Data */ - private @Nullable Map skillLevelValues; - private @Nullable Map skillExperienceValues; + private @Nullable Map skillLevelValues; + private @Nullable Map skillExperienceValues; private @Nullable Map abilityDeactivationTimestamps; // Ability & Cooldown private @Nullable Map uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..) private @Nullable Map barStateMap; @@ -107,7 +107,7 @@ public class MMODataBuilder { } } - private void validateExperienceValueMapEntries(@NotNull Map map) { + private void validateExperienceValueMapEntries(@NotNull Map map) { for(RootSkill key : mcMMO.p.getSkillRegister().getRootSkills()) { map.putIfAbsent(key, 0F); @@ -140,7 +140,7 @@ public class MMODataBuilder { } } - private void validateSkillLevelMapEntries(@NotNull Map map) { + private void validateSkillLevelMapEntries(@NotNull Map map) { for(RootSkill key : mcMMO.p.getSkillRegister().getRootSkills()) { map.putIfAbsent(key, 0); @@ -178,20 +178,20 @@ public class MMODataBuilder { return this; } - public @Nullable Map getSkillLevelValues() { + public @Nullable Map getSkillLevelValues() { return skillLevelValues; } - public @NotNull MMODataBuilder setSkillLevelValues(@NotNull Map skillLevelValues) { + public @NotNull MMODataBuilder setSkillLevelValues(@NotNull Map skillLevelValues) { this.skillLevelValues = skillLevelValues; return this; } - public @Nullable Map getSkillExperienceValues() { + public @Nullable Map getSkillExperienceValues() { return skillExperienceValues; } - public @NotNull MMODataBuilder setSkillExperienceValues(@NotNull Map skillExperienceValues) { + public @NotNull MMODataBuilder setSkillExperienceValues(@NotNull Map skillExperienceValues) { this.skillExperienceValues = skillExperienceValues; return this; } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/MMODataSnapshot.java b/src/main/java/com/gmail/nossr50/datatypes/player/MMODataSnapshot.java index 1f9aa9fd8..234aa09d8 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/MMODataSnapshot.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/MMODataSnapshot.java @@ -22,11 +22,11 @@ public class MMODataSnapshot { private final long lastLogin; /* Skill Data */ - private final @NotNull ImmutableMap skillLevelValues; - private final @NotNull ImmutableMap skillExperienceValues; - private final @NotNull ImmutableMap abilityDeactivationTimestamps; // Ability & Cooldown + private final @NotNull ImmutableMap skillLevelValues; + private final @NotNull ImmutableMap skillExperienceValues; + private final @NotNull ImmutableMap abilityDeactivationTimestamps; // Ability & Cooldown private final @NotNull ImmutableMap uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..) - private final @NotNull ImmutableMap barStateMap; + private final @NotNull ImmutableMap barStateMap; /* Special Flags */ private final boolean partyChatSpying; @@ -66,15 +66,15 @@ public class MMODataSnapshot { } - public @NotNull ImmutableMap getSkillLevelValues() { + public @NotNull ImmutableMap getSkillLevelValues() { return skillLevelValues; } - public @NotNull ImmutableMap getSkillExperienceValues() { + public @NotNull ImmutableMap getSkillExperienceValues() { return skillExperienceValues; } - public @NotNull ImmutableMap getAbilityDeactivationTimestamps() { + public @NotNull ImmutableMap getAbilityDeactivationTimestamps() { return abilityDeactivationTimestamps; } @@ -82,7 +82,7 @@ public class MMODataSnapshot { return uniquePlayerData; } - public @NotNull ImmutableMap getBarStateMap() { + public @NotNull ImmutableMap getBarStateMap() { return barStateMap; } @@ -102,7 +102,7 @@ public class MMODataSnapshot { return (skillExperienceValues.getOrDefault(rootSkill, 0F)).intValue(); } - public long getAbilityDATS(@NotNull SuperSkill superAbilityType) { + public long getAbilityDATS(@NotNull SuperAbilityType superAbilityType) { return abilityDeactivationTimestamps.getOrDefault(superAbilityType, 0); } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index 20c6308e6..0774ce86d 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -142,7 +142,7 @@ public class McMMOPlayer extends PlayerProfile implements OnlineMMOPlayer, Ident * If in the future someone wants to remove this, don't forget to also remove what is in the PrimarySkillType enum. - bm01 */ try { - for (CoreRootSkill coreRootSkill : CoreSkills.getCoreRootSkills()) { + for (CoreRootSkill coreRootSkill : PrimarySkillType.getCoreRootSkills()) { skillManagers.put(coreRootSkill, coreRootSkill.getSkillManagerClass().getConstructor(McMMOPlayer.class).newInstance(this)); } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/PersistentPlayerData.java b/src/main/java/com/gmail/nossr50/datatypes/player/PersistentPlayerData.java index 6df3982a4..24bcad317 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/PersistentPlayerData.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/PersistentPlayerData.java @@ -37,8 +37,8 @@ public class PersistentPlayerData implements MMOPlayerData { private final DirtyData lastLogin; /* Skill Data */ - private final @NotNull DirtyMap skillLevelValues; - private final @NotNull DirtyMap skillExperienceValues; + private final @NotNull DirtyMap skillLevelValues; + private final @NotNull DirtyMap skillExperienceValues; private final @NotNull DirtyMap abilityDeactivationTimestamps; // Ability & Cooldown private final @NotNull DirtyMap uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..) private final @NotNull DirtyMap barStateMap; @@ -79,7 +79,7 @@ public class PersistentPlayerData implements MMOPlayerData { //Core skills //TODO: Don't store values for disabled skills - for(RootSkill rootSkill : CoreSkills.getCoreRootSkills()) { + for(RootSkill rootSkill : PrimarySkillType.getCoreRootSkills()) { skillLevelValues.put(rootSkill, AdvancedConfig.getInstance().getStartingLevel()); skillExperienceValues.put(rootSkill, 0F); } @@ -112,8 +112,8 @@ public class PersistentPlayerData implements MMOPlayerData { public PersistentPlayerData(@NotNull UUID playerUUID, @NotNull String playerName, boolean partyChatSpying, - @NotNull Map skillLevelValues, - @NotNull Map skillExperienceValues, + @NotNull Map skillLevelValues, + @NotNull Map skillExperienceValues, @NotNull Map abilityDeactivationTimestamps, @NotNull Map uniquePlayerData, @NotNull Map barStateMap, @@ -286,12 +286,12 @@ public class PersistentPlayerData implements MMOPlayerData { } @Override - public @NotNull DirtyMap getDirtySkillLevelMap() { + public @NotNull DirtyMap getDirtySkillLevelMap() { return skillLevelValues; } @Override - public @NotNull DirtyMap getDirtyExperienceValueMap() { + public @NotNull DirtyMap getDirtyExperienceValueMap() { return skillExperienceValues; } @@ -301,12 +301,12 @@ public class PersistentPlayerData implements MMOPlayerData { } @Override - public @NotNull Map getSkillLevelsMap() { + public @NotNull Map getSkillLevelsMap() { return skillLevelValues; } @Override - public @NotNull Map getSkillsExperienceMap() { + public @NotNull Map getSkillsExperienceMap() { return skillExperienceValues; } @@ -346,12 +346,12 @@ public class PersistentPlayerData implements MMOPlayerData { } @Override - public @NotNull ImmutableMap copyPrimarySkillLevelsMap() { + public @NotNull ImmutableMap copyPrimarySkillLevelsMap() { return ImmutableMap.copyOf(getSkillLevelsMap()); } @Override - public @NotNull ImmutableMap copyPrimarySkillExperienceValuesMap() { + public @NotNull ImmutableMap copyPrimarySkillExperienceValuesMap() { return ImmutableMap.copyOf(getSkillsExperienceMap()); } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/SkillRegisterImpl.java b/src/main/java/com/gmail/nossr50/datatypes/skills/SkillRegisterImpl.java index d7c5e56e5..b01ad25d0 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/SkillRegisterImpl.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/SkillRegisterImpl.java @@ -42,12 +42,12 @@ // } // // private void registerCoreSkills() { -// for(CoreRootSkill coreRootSkill : CoreSkills.getCoreRootSkills()) { +// for(CoreRootSkill coreRootSkill : PrimarySkillType.getCoreRootSkills()) { // mcMMO.p.getLogger().info("Registering core skill: " + coreRootSkill.getRawSkillName()); // registerSkill(coreRootSkill); // } // -// for(CoreSkill coreSkill : CoreSkills.) +// for(CoreSkill coreSkill : PrimarySkillType.) // } // // @Override diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java index 639d81946..cf7d0636e 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java @@ -92,7 +92,7 @@ public class MctopCommandDisplayTask extends BukkitRunnable { ScoreboardManager.showTopPowerScoreboard((Player) sender, page, userStats); } else { - ScoreboardManager.showTopScoreboard((Player) sender, CoreSkills.getSkill(rootSkill), page, userStats); + ScoreboardManager.showTopScoreboard((Player) sender, PrimarySkillType.getSkill(rootSkill), page, userStats); } } } diff --git a/src/main/java/com/gmail/nossr50/skills/child/FamilyTree.java b/src/main/java/com/gmail/nossr50/skills/child/FamilyTree.java index 624f2c6d2..14ae9ca9f 100644 --- a/src/main/java/com/gmail/nossr50/skills/child/FamilyTree.java +++ b/src/main/java/com/gmail/nossr50/skills/child/FamilyTree.java @@ -19,21 +19,21 @@ public class FamilyTree { private static @Nullable Set salvageParents; public static @NotNull Set getParentSkills(@NotNull RootSkill rootSkill) throws UnknownSkillException { - if(CoreSkills.isChildSkill(rootSkill)) { + if(PrimarySkillType.isChildSkill(rootSkill)) { if(smeltingParents == null || salvageParents == null) { smeltingParents = new HashSet<>(); salvageParents = new HashSet<>(); - smeltingParents.add(CoreSkills.MINING); - smeltingParents.add(CoreSkills.REPAIR); + smeltingParents.add(PrimarySkillType.MINING); + smeltingParents.add(PrimarySkillType.REPAIR); - salvageParents.add(CoreSkills.FISHING); - salvageParents.add(CoreSkills.REPAIR); + salvageParents.add(PrimarySkillType.FISHING); + salvageParents.add(PrimarySkillType.REPAIR); } - if(rootSkill.equals(CoreSkills.SALVAGE)) { + if(rootSkill.equals(PrimarySkillType.SALVAGE)) { return salvageParents; - } else if (rootSkill.equals(CoreSkills.SMELTING)) { + } else if (rootSkill.equals(PrimarySkillType.SMELTING)) { return smeltingParents; } else { mcMMO.p.getLogger().severe("root skill argument is not a child skill! " + rootSkill.toString()); diff --git a/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java b/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java index dbbe563d8..6dd0497f9 100644 --- a/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java +++ b/src/main/java/com/gmail/nossr50/util/experience/MMOExperienceBarManager.java @@ -182,9 +182,9 @@ public class MMOExperienceBarManager { } public static void setBarStateDefaults(@NotNull Map barStateHashMap) { - for(RootSkill rootSkill : CoreSkills.getCoreRootSkills()) { + for(RootSkill rootSkill : PrimarySkillType.getCoreRootSkills()) { - if(CoreSkills.isChildSkill(rootSkill)) { + if(PrimarySkillType.isChildSkill(rootSkill)) { barStateHashMap.put(rootSkill, SkillBossBarState.DISABLED); } else { barStateHashMap.put(rootSkill, SkillBossBarState.NORMAL); diff --git a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java index 417666a65..3b62192b7 100644 --- a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java +++ b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java @@ -170,7 +170,7 @@ public class NotificationManager { McMMOMessageType destination = AdvancedConfig.getInstance().doesNotificationUseActionBar(NotificationType.LEVEL_UP_MESSAGE) ? McMMOMessageType.ACTION_BAR : McMMOMessageType.SYSTEM; - Component levelUpTextComponent = TextComponentFactory.getNotificationLevelUpTextComponent(CoreSkills.getSkill(rootSkill), levelsGained, newLevel); + Component levelUpTextComponent = TextComponentFactory.getNotificationLevelUpTextComponent(PrimarySkillType.getSkill(rootSkill), levelsGained, newLevel); McMMOPlayerNotificationEvent customEvent = checkNotificationEvent(Misc.adaptPlayer(mmoPlayer), NotificationType.LEVEL_UP_MESSAGE, destination, levelUpTextComponent); sendNotification(Misc.adaptPlayer(mmoPlayer), customEvent); diff --git a/src/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java b/src/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java index ea2d0c5e9..dcb24c672 100644 --- a/src/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java +++ b/src/main/java/com/gmail/nossr50/util/text/TextComponentFactory.java @@ -489,7 +489,7 @@ public class TextComponentFactory { } public static void getSubSkillTextComponents(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull List textComponents, @NotNull RootSkill rootSkill) { - return getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.getSkill(rootSkill)); + return getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.getSkill(rootSkill)); } public static void getSubSkillTextComponents(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull List textComponents, @NotNull PrimarySkillType parentSkill) {