Refactoring + adding a new skillranks config (not functional yet)

This commit is contained in:
nossr50
2019-01-12 23:54:53 -08:00
parent 0beabbf1ec
commit 6f77bb206d
117 changed files with 1149 additions and 855 deletions

View File

@ -3,7 +3,7 @@ package com.gmail.nossr50.api;
import java.util.Set;
import java.util.UUID;
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import org.bukkit.entity.Player;
import com.gmail.nossr50.mcMMO;
@ -34,7 +34,7 @@ public final class ExperienceAPI {
* @return true if this is a valid mcMMO skill
*/
public static boolean isValidSkillType(String skillType) {
return PrimarySkill.getSkill(skillType) != null;
return PrimarySkillType.getSkill(skillType) != null;
}
/**
@ -48,7 +48,7 @@ public final class ExperienceAPI {
* @return true if this is a valid, non-child mcMMO skill
*/
public static boolean isNonChildSkill(String skillType) {
PrimarySkill skill = PrimarySkill.getSkill(skillType);
PrimarySkillType skill = PrimarySkillType.getSkill(skillType);
return skill != null && !skill.isChildSkill();
}
@ -261,7 +261,7 @@ public final class ExperienceAPI {
* @throws InvalidXPGainReasonException if the given xpGainReason is not valid
*/
public static void addModifiedXP(Player player, String skillType, int XP, String xpGainReason, boolean isUnshared) {
PrimarySkill skill = getSkillType(skillType);
PrimarySkillType skill = getSkillType(skillType);
if (isUnshared) {
getPlayer(player).beginUnsharedXpGain(skill, (int) (XP / skill.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()), getXPGainReason(xpGainReason));
@ -285,7 +285,7 @@ public final class ExperienceAPI {
*/
@Deprecated
public static void addModifiedXPOffline(String playerName, String skillType, int XP) {
PrimarySkill skill = getSkillType(skillType);
PrimarySkillType skill = getSkillType(skillType);
addOfflineXP(playerName, skill, (int) (XP / skill.getXpModifier() * ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()));
}
@ -515,7 +515,7 @@ public final class ExperienceAPI {
* @throws UnsupportedOperationException if the given skill is a child skill
*/
public static int getXPRemaining(Player player, String skillType) {
PrimarySkill skill = getNonChildSkillType(skillType);
PrimarySkillType skill = getNonChildSkillType(skillType);
PlayerProfile profile = getPlayer(player).getProfile();
@ -537,7 +537,7 @@ public final class ExperienceAPI {
*/
@Deprecated
public static int getOfflineXPRemaining(String playerName, String skillType) {
PrimarySkill skill = getNonChildSkillType(skillType);
PrimarySkillType skill = getNonChildSkillType(skillType);
PlayerProfile profile = getOfflineProfile(playerName);
return profile.getXpToLevel(skill) - profile.getSkillXpLevel(skill);
@ -557,7 +557,7 @@ public final class ExperienceAPI {
* @throws UnsupportedOperationException if the given skill is a child skill
*/
public static float getOfflineXPRemaining(UUID uuid, String skillType) {
PrimarySkill skill = getNonChildSkillType(skillType);
PrimarySkillType skill = getNonChildSkillType(skillType);
PlayerProfile profile = getOfflineProfile(uuid);
return profile.getXpToLevel(skill) - profile.getSkillXpLevelRaw(skill);
@ -593,12 +593,12 @@ public final class ExperienceAPI {
@Deprecated
public static void addLevelOffline(String playerName, String skillType, int levels) {
PlayerProfile profile = getOfflineProfile(playerName);
PrimarySkill skill = getSkillType(skillType);
PrimarySkillType skill = getSkillType(skillType);
if (skill.isChildSkill()) {
Set<PrimarySkill> parentSkills = FamilyTree.getParents(skill);
Set<PrimarySkillType> parentSkills = FamilyTree.getParents(skill);
for (PrimarySkill parentSkill : parentSkills) {
for (PrimarySkillType parentSkill : parentSkills) {
profile.addLevels(parentSkill, (levels / parentSkills.size()));
}
@ -624,12 +624,12 @@ public final class ExperienceAPI {
*/
public static void addLevelOffline(UUID uuid, String skillType, int levels) {
PlayerProfile profile = getOfflineProfile(uuid);
PrimarySkill skill = getSkillType(skillType);
PrimarySkillType skill = getSkillType(skillType);
if (skill.isChildSkill()) {
Set<PrimarySkill> parentSkills = FamilyTree.getParents(skill);
Set<PrimarySkillType> parentSkills = FamilyTree.getParents(skill);
for (PrimarySkill parentSkill : parentSkills) {
for (PrimarySkillType parentSkill : parentSkills) {
profile.addLevels(parentSkill, (levels / parentSkills.size()));
}
@ -716,7 +716,7 @@ public final class ExperienceAPI {
int powerLevel = 0;
PlayerProfile profile = getOfflineProfile(playerName);
for (PrimarySkill type : PrimarySkill.NON_CHILD_SKILLS) {
for (PrimarySkillType type : PrimarySkillType.NON_CHILD_SKILLS) {
powerLevel += profile.getSkillLevel(type);
}
@ -737,7 +737,7 @@ public final class ExperienceAPI {
int powerLevel = 0;
PlayerProfile profile = getOfflineProfile(uuid);
for (PrimarySkill type : PrimarySkill.NON_CHILD_SKILLS) {
for (PrimarySkillType type : PrimarySkillType.NON_CHILD_SKILLS) {
powerLevel += profile.getSkillLevel(type);
}
@ -1015,7 +1015,7 @@ public final class ExperienceAPI {
}
// Utility methods follow.
private static void addOfflineXP(UUID playerUniqueId, PrimarySkill skill, int XP) {
private static void addOfflineXP(UUID playerUniqueId, PrimarySkillType skill, int XP) {
PlayerProfile profile = getOfflineProfile(playerUniqueId);
profile.addXp(skill, XP);
@ -1023,7 +1023,7 @@ public final class ExperienceAPI {
}
@Deprecated
private static void addOfflineXP(String playerName, PrimarySkill skill, int XP) {
private static void addOfflineXP(String playerName, PrimarySkillType skill, int XP) {
PlayerProfile profile = getOfflineProfile(playerName);
profile.addXp(skill, XP);
@ -1052,8 +1052,8 @@ public final class ExperienceAPI {
return profile;
}
private static PrimarySkill getSkillType(String skillType) throws InvalidSkillException {
PrimarySkill skill = PrimarySkill.getSkill(skillType);
private static PrimarySkillType getSkillType(String skillType) throws InvalidSkillException {
PrimarySkillType skill = PrimarySkillType.getSkill(skillType);
if (skill == null) {
throw new InvalidSkillException();
@ -1062,8 +1062,8 @@ public final class ExperienceAPI {
return skill;
}
private static PrimarySkill getNonChildSkillType(String skillType) throws InvalidSkillException, UnsupportedOperationException {
PrimarySkill skill = getSkillType(skillType);
private static PrimarySkillType getNonChildSkillType(String skillType) throws InvalidSkillException, UnsupportedOperationException {
PrimarySkillType skill = getSkillType(skillType);
if (skill.isChildSkill()) {
throw new UnsupportedOperationException("Child skills do not have XP");

View File

@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.gmail.nossr50.datatypes.skills.PrimarySkill;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
public final class SkillAPI {
private SkillAPI() {}
@ -18,7 +18,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getSkills() {
return getListFromEnum(Arrays.asList(PrimarySkill.values()));
return getListFromEnum(Arrays.asList(PrimarySkillType.values()));
}
/**
@ -30,7 +30,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getNonChildSkills() {
return getListFromEnum(PrimarySkill.NON_CHILD_SKILLS);
return getListFromEnum(PrimarySkillType.NON_CHILD_SKILLS);
}
/**
@ -42,7 +42,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getChildSkills() {
return getListFromEnum(PrimarySkill.CHILD_SKILLS);
return getListFromEnum(PrimarySkillType.CHILD_SKILLS);
}
/**
@ -54,7 +54,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getCombatSkills() {
return getListFromEnum(PrimarySkill.COMBAT_SKILLS);
return getListFromEnum(PrimarySkillType.COMBAT_SKILLS);
}
/**
@ -66,7 +66,7 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getGatheringSkills() {
return getListFromEnum(PrimarySkill.GATHERING_SKILLS);
return getListFromEnum(PrimarySkillType.GATHERING_SKILLS);
}
/**
@ -78,14 +78,14 @@ public final class SkillAPI {
* @return a list of strings with valid skill names
*/
public static List<String> getMiscSkills() {
return getListFromEnum(PrimarySkill.MISC_SKILLS);
return getListFromEnum(PrimarySkillType.MISC_SKILLS);
}
private static List<String> getListFromEnum(List<PrimarySkill> skillsTypes) {
private static List<String> getListFromEnum(List<PrimarySkillType> skillsTypes) {
List<String> skills = new ArrayList<String>();
for (PrimarySkill primarySkill : skillsTypes) {
skills.add(primarySkill.name());
for (PrimarySkillType primarySkillType : skillsTypes) {
skills.add(primarySkillType.name());
}
return skills;