mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-24 14:16:45 +01:00
Gutting new skill system part 2
This commit is contained in:
parent
a6276bded8
commit
8e1b223288
@ -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;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.ACROBATICS);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.ACROBATICS);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.ALCHEMY);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.ALCHEMY);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.ARCHERY);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.ARCHERY);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.AXES);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.AXES);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.CROSSBOWS);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.CROSSBOWS);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.EXCAVATION);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.EXCAVATION);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.FISHING);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.FISHING);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.HERBALISM);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.HERBALISM);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.MINING);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.MINING);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<String> 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();
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.REPAIR);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.REPAIR);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.SALVAGE);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.SALVAGE);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.SMELTING);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.SMELTING);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.SWORDS);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.SWORDS);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ public class TamingCommand extends SkillCommand {
|
||||
private boolean canHolyHound;
|
||||
|
||||
public TamingCommand() {
|
||||
super(CoreSkills.TAMING);
|
||||
super(PrimarySkillType.TAMING);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.TRIDENTS);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.TRIDENTS);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.UNARMED);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.UNARMED);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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<Component> getTextComponents(@NotNull OnlineMMOPlayer mmoPlayer) {
|
||||
List<Component> textComponents = new ArrayList<>();
|
||||
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, CoreSkills.WOODCUTTING);
|
||||
TextComponentFactory.getSubSkillTextComponents(mmoPlayer, textComponents, PrimarySkillType.WOODCUTTING);
|
||||
|
||||
return textComponents;
|
||||
}
|
||||
|
@ -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); }
|
||||
|
||||
|
@ -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<RootSkill, List<PlayerStat>> playerStatHash = new HashMap<>();
|
||||
private final List<PlayerStat> 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<RootSkill, Integer> skills = getSkillMapFromLine(character);
|
||||
Map<PrimarySkillType, Integer> 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<RootSkill, Integer> primarySkillLevelMap = mmoDataSnapshot.getSkillLevelValues();
|
||||
ImmutableMap<RootSkill, Float> primarySkillExperienceValueMap = mmoDataSnapshot.getSkillExperienceValues();
|
||||
ImmutableMap<PrimarySkillType, Integer> primarySkillLevelMap = mmoDataSnapshot.getSkillLevelValues();
|
||||
ImmutableMap<PrimarySkillType, Float> 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<RootSkill, Integer> readRank(@NotNull String playerName) {
|
||||
public @NotNull Map<PrimarySkillType, Integer> readRank(@NotNull String playerName) {
|
||||
updateLeaderboards();
|
||||
|
||||
Map<RootSkill, Integer> skills = new HashMap<>();
|
||||
Map<PrimarySkillType, Integer> 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<RootSkill, Integer> skills = getSkillMapFromLine(data);
|
||||
Map<PrimarySkillType, Integer> 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<RootSkill, Integer> skillsMap = getSkillMapFromLine(stringDataArray);
|
||||
for (RootSkill rootSkill : CoreSkills.getNonChildSkills()) {
|
||||
Map<PrimarySkillType, Integer> 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<RootSkill, Integer> skillLevelMap = getSkillMapFromLine(dataStrSplit); // Skill levels
|
||||
Map<RootSkill, Float> skillExperienceValueMap = new HashMap<>(); // Skill & XP
|
||||
Map<SuperSkill, Integer> skillAbilityDeactivationTimeStamp = new HashMap<>(); // Ability & Cooldown
|
||||
Map<PrimarySkillType, Integer> skillLevelMap = getSkillMapFromLine(dataStrSplit); // Skill levels
|
||||
Map<PrimarySkillType, Float> skillExperienceValueMap = new HashMap<>(); // Skill & XP
|
||||
Map<SuperAbilityType, Integer> skillAbilityDeactivationTimeStamp = new HashMap<>(); // Ability & Cooldown
|
||||
Map<UniqueDataType, Integer> uniquePlayerDataMap = new EnumMap<UniqueDataType, Integer>(UniqueDataType.class);
|
||||
Map<RootSkill, SkillBossBarState> xpBarStateMap = new HashMap<>();
|
||||
Map<PrimarySkillType, SkillBossBarState> 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<RootSkill, Integer> getSkillMapFromLine(@NotNull String[] stringDataArray) {
|
||||
HashMap<RootSkill, Integer> skillLevelsMap = new HashMap<>(); // Skill & Level
|
||||
private @NotNull Map<PrimarySkillType, Integer> getSkillMapFromLine(@NotNull String[] splitDataArray) {
|
||||
Map<PrimarySkillType, Integer> 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<SuperAbilityType, Integer> 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<PrimarySkillType, Float> 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<PrimarySkillType, Integer> 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;
|
||||
|
@ -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<PlayerStat> 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<RootSkill, Integer> readRank(@NotNull String playerName) {
|
||||
Map<RootSkill, Integer> skills = new HashMap<>();
|
||||
public @NotNull Map<PrimarySkillType, Integer> readRank(@NotNull String playerName) {
|
||||
Map<PrimarySkillType, Integer> 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<RootSkill, Integer> skills = new HashMap<>(); // Skill & Level
|
||||
Map<RootSkill, Float> skillsXp = new HashMap<>(); // Skill & XP
|
||||
Map<PrimarySkillType, Integer> skills = new HashMap<>(); // Skill & Level
|
||||
Map<PrimarySkillType, Float> skillsXp = new HashMap<>(); // Skill & XP
|
||||
Map<SuperSkill, Integer> skillsDATS = new HashMap<>(); // Ability & Cooldown
|
||||
Map<UniqueDataType, Integer> uniqueData = new EnumMap<UniqueDataType, Integer>(UniqueDataType.class); //Chimaera wing cooldown and other misc info
|
||||
Map<RootSkill, SkillBossBarState> xpBarStateMap = new HashMap<RootSkill, SkillBossBarState>();
|
||||
@ -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 {
|
||||
|
@ -47,7 +47,7 @@ public class OnlineExperienceProcessor implements ExperienceHandler {
|
||||
public int getPowerLevel() {
|
||||
int powerLevel = 0;
|
||||
|
||||
Map<RootSkill, Integer> rootSkillLevelMap = mmoPlayerData.getDirtySkillLevelMap().unwrapMap();
|
||||
Map<PrimarySkillType, Integer> 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<RootSkill> 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<RootSkill> 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);
|
||||
}
|
||||
|
||||
|
@ -30,8 +30,8 @@ public class MMODataBuilder {
|
||||
private long lastLogin;
|
||||
|
||||
/* Skill Data */
|
||||
private @Nullable Map<RootSkill, Integer> skillLevelValues;
|
||||
private @Nullable Map<RootSkill, Float> skillExperienceValues;
|
||||
private @Nullable Map<PrimarySkillType, Integer> skillLevelValues;
|
||||
private @Nullable Map<PrimarySkillType, Float> skillExperienceValues;
|
||||
private @Nullable Map<SuperSkill, Integer> abilityDeactivationTimestamps; // Ability & Cooldown
|
||||
private @Nullable Map<UniqueDataType, Integer> uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..)
|
||||
private @Nullable Map<RootSkill, SkillBossBarState> barStateMap;
|
||||
@ -107,7 +107,7 @@ public class MMODataBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
private void validateExperienceValueMapEntries(@NotNull Map<RootSkill, Float> map) {
|
||||
private void validateExperienceValueMapEntries(@NotNull Map<PrimarySkillType, Float> map) {
|
||||
for(RootSkill key : mcMMO.p.getSkillRegister().getRootSkills()) {
|
||||
map.putIfAbsent(key, 0F);
|
||||
|
||||
@ -140,7 +140,7 @@ public class MMODataBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
private void validateSkillLevelMapEntries(@NotNull Map<RootSkill, Integer> map) {
|
||||
private void validateSkillLevelMapEntries(@NotNull Map<PrimarySkillType, Integer> map) {
|
||||
for(RootSkill key : mcMMO.p.getSkillRegister().getRootSkills()) {
|
||||
map.putIfAbsent(key, 0);
|
||||
|
||||
@ -178,20 +178,20 @@ public class MMODataBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public @Nullable Map<RootSkill, Integer> getSkillLevelValues() {
|
||||
public @Nullable Map<PrimarySkillType, Integer> getSkillLevelValues() {
|
||||
return skillLevelValues;
|
||||
}
|
||||
|
||||
public @NotNull MMODataBuilder setSkillLevelValues(@NotNull Map<RootSkill, Integer> skillLevelValues) {
|
||||
public @NotNull MMODataBuilder setSkillLevelValues(@NotNull Map<PrimarySkillType, Integer> skillLevelValues) {
|
||||
this.skillLevelValues = skillLevelValues;
|
||||
return this;
|
||||
}
|
||||
|
||||
public @Nullable Map<RootSkill, Float> getSkillExperienceValues() {
|
||||
public @Nullable Map<PrimarySkillType, Float> getSkillExperienceValues() {
|
||||
return skillExperienceValues;
|
||||
}
|
||||
|
||||
public @NotNull MMODataBuilder setSkillExperienceValues(@NotNull Map<RootSkill, Float> skillExperienceValues) {
|
||||
public @NotNull MMODataBuilder setSkillExperienceValues(@NotNull Map<PrimarySkillType, Float> skillExperienceValues) {
|
||||
this.skillExperienceValues = skillExperienceValues;
|
||||
return this;
|
||||
}
|
||||
|
@ -22,11 +22,11 @@ public class MMODataSnapshot {
|
||||
private final long lastLogin;
|
||||
|
||||
/* Skill Data */
|
||||
private final @NotNull ImmutableMap<RootSkill, Integer> skillLevelValues;
|
||||
private final @NotNull ImmutableMap<RootSkill, Float> skillExperienceValues;
|
||||
private final @NotNull ImmutableMap<SuperSkill, Integer> abilityDeactivationTimestamps; // Ability & Cooldown
|
||||
private final @NotNull ImmutableMap<PrimarySkillType, Integer> skillLevelValues;
|
||||
private final @NotNull ImmutableMap<PrimarySkillType, Float> skillExperienceValues;
|
||||
private final @NotNull ImmutableMap<SuperAbilityType, Integer> abilityDeactivationTimestamps; // Ability & Cooldown
|
||||
private final @NotNull ImmutableMap<UniqueDataType, Integer> uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..)
|
||||
private final @NotNull ImmutableMap<RootSkill, SkillBossBarState> barStateMap;
|
||||
private final @NotNull ImmutableMap<PrimarySkillType, SkillBossBarState> barStateMap;
|
||||
|
||||
/* Special Flags */
|
||||
private final boolean partyChatSpying;
|
||||
@ -66,15 +66,15 @@ public class MMODataSnapshot {
|
||||
}
|
||||
|
||||
|
||||
public @NotNull ImmutableMap<RootSkill, Integer> getSkillLevelValues() {
|
||||
public @NotNull ImmutableMap<PrimarySkillType, Integer> getSkillLevelValues() {
|
||||
return skillLevelValues;
|
||||
}
|
||||
|
||||
public @NotNull ImmutableMap<RootSkill, Float> getSkillExperienceValues() {
|
||||
public @NotNull ImmutableMap<PrimarySkillType, Float> getSkillExperienceValues() {
|
||||
return skillExperienceValues;
|
||||
}
|
||||
|
||||
public @NotNull ImmutableMap<SuperSkill, Integer> getAbilityDeactivationTimestamps() {
|
||||
public @NotNull ImmutableMap<SuperAbilityType, Integer> getAbilityDeactivationTimestamps() {
|
||||
return abilityDeactivationTimestamps;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ public class MMODataSnapshot {
|
||||
return uniquePlayerData;
|
||||
}
|
||||
|
||||
public @NotNull ImmutableMap<RootSkill, SkillBossBarState> getBarStateMap() {
|
||||
public @NotNull ImmutableMap<PrimarySkillType, SkillBossBarState> 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);
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
@ -37,8 +37,8 @@ public class PersistentPlayerData implements MMOPlayerData {
|
||||
private final DirtyData<MutableLong> lastLogin;
|
||||
|
||||
/* Skill Data */
|
||||
private final @NotNull DirtyMap<RootSkill, Integer> skillLevelValues;
|
||||
private final @NotNull DirtyMap<RootSkill, Float> skillExperienceValues;
|
||||
private final @NotNull DirtyMap<PrimarySkillType, Integer> skillLevelValues;
|
||||
private final @NotNull DirtyMap<PrimarySkillType, Float> skillExperienceValues;
|
||||
private final @NotNull DirtyMap<SuperSkill, Integer> abilityDeactivationTimestamps; // Ability & Cooldown
|
||||
private final @NotNull DirtyMap<UniqueDataType, Integer> uniquePlayerData; //Misc data that doesn't fit into other categories (chimaera wing, etc..)
|
||||
private final @NotNull DirtyMap<RootSkill, SkillBossBarState> 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<RootSkill, Integer> skillLevelValues,
|
||||
@NotNull Map<RootSkill, Float> skillExperienceValues,
|
||||
@NotNull Map<PrimarySkillType, Integer> skillLevelValues,
|
||||
@NotNull Map<PrimarySkillType, Float> skillExperienceValues,
|
||||
@NotNull Map<SuperSkill, Integer> abilityDeactivationTimestamps,
|
||||
@NotNull Map<UniqueDataType, Integer> uniquePlayerData,
|
||||
@NotNull Map<RootSkill, SkillBossBarState> barStateMap,
|
||||
@ -286,12 +286,12 @@ public class PersistentPlayerData implements MMOPlayerData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull DirtyMap<RootSkill, Integer> getDirtySkillLevelMap() {
|
||||
public @NotNull DirtyMap<PrimarySkillType, Integer> getDirtySkillLevelMap() {
|
||||
return skillLevelValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull DirtyMap<RootSkill, Float> getDirtyExperienceValueMap() {
|
||||
public @NotNull DirtyMap<PrimarySkillType, Float> getDirtyExperienceValueMap() {
|
||||
return skillExperienceValues;
|
||||
}
|
||||
|
||||
@ -301,12 +301,12 @@ public class PersistentPlayerData implements MMOPlayerData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Map<RootSkill, Integer> getSkillLevelsMap() {
|
||||
public @NotNull Map<PrimarySkillType, Integer> getSkillLevelsMap() {
|
||||
return skillLevelValues;
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Map<RootSkill, Float> getSkillsExperienceMap() {
|
||||
public @NotNull Map<PrimarySkillType, Float> getSkillsExperienceMap() {
|
||||
return skillExperienceValues;
|
||||
}
|
||||
|
||||
@ -346,12 +346,12 @@ public class PersistentPlayerData implements MMOPlayerData {
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull ImmutableMap<RootSkill, Integer> copyPrimarySkillLevelsMap() {
|
||||
public @NotNull ImmutableMap<PrimarySkillType, Integer> copyPrimarySkillLevelsMap() {
|
||||
return ImmutableMap.copyOf(getSkillLevelsMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull ImmutableMap<RootSkill, Float> copyPrimarySkillExperienceValuesMap() {
|
||||
public @NotNull ImmutableMap<PrimarySkillType, Float> copyPrimarySkillExperienceValuesMap() {
|
||||
return ImmutableMap.copyOf(getSkillsExperienceMap());
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,21 +19,21 @@ public class FamilyTree {
|
||||
private static @Nullable Set<RootSkill> salvageParents;
|
||||
|
||||
public static @NotNull Set<RootSkill> 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());
|
||||
|
@ -182,9 +182,9 @@ public class MMOExperienceBarManager {
|
||||
}
|
||||
|
||||
public static void setBarStateDefaults(@NotNull Map<RootSkill, SkillBossBarState> 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);
|
||||
|
@ -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);
|
||||
|
@ -489,7 +489,7 @@ public class TextComponentFactory {
|
||||
}
|
||||
|
||||
public static void getSubSkillTextComponents(@NotNull OnlineMMOPlayer mmoPlayer, @NotNull List<Component> 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<Component> textComponents, @NotNull PrimarySkillType parentSkill) {
|
||||
|
Loading…
Reference in New Issue
Block a user