package com.gmail.nossr50.skills.child; import com.gmail.nossr50.datatypes.skills.CoreSkills; import com.gmail.nossr50.mcMMO; import com.neetgames.mcmmo.exceptions.UnknownSkillException; import com.neetgames.mcmmo.skill.RootSkill; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.HashSet; import java.util.Set; public class FamilyTree { /* * Hacky crap, will remove later */ private static @Nullable Set<RootSkill> smeltingParents; private static @Nullable Set<RootSkill> salvageParents; public static @NotNull Set<RootSkill> getParentSkills(@NotNull PrimarySkillType primarySkillType) throws UnknownSkillException { if(PrimarySkillType.isChildSkill(primarySkillType)) { if(smeltingParents == null || salvageParents == null) { smeltingParents = new HashSet<>(); salvageParents = new HashSet<>(); smeltingParents.add(PrimarySkillType.MINING); smeltingParents.add(PrimarySkillType.REPAIR); salvageParents.add(PrimarySkillType.FISHING); salvageParents.add(PrimarySkillType.REPAIR); } if(primarySkillType.equals(PrimarySkillType.SALVAGE)) { return salvageParents; } else if (primarySkillType.equals(PrimarySkillType.SMELTING)) { return smeltingParents; } else { mcMMO.p.getLogger().severe("root skill argument is not a child skill! " + primarySkillType.toString()); throw new UnknownSkillException(); } } else { throw new UnknownSkillException(); } } }