FamilyTree.java 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.gmail.nossr50.skills.child;
  2. import com.gmail.nossr50.mcMMO;
  3. import com.neetgames.mcmmo.exceptions.UnknownSkillException;
  4. import com.neetgames.mcmmo.skill.RootSkill;
  5. import org.jetbrains.annotations.NotNull;
  6. import org.jetbrains.annotations.Nullable;
  7. import java.util.HashSet;
  8. import java.util.Set;
  9. public class FamilyTree {
  10. /*
  11. * Hacky crap, will remove later
  12. */
  13. private static @Nullable Set<RootSkill> smeltingParents;
  14. private static @Nullable Set<RootSkill> salvageParents;
  15. public static @NotNull Set<RootSkill> getParentSkills(@NotNull PrimarySkillType primarySkillType) throws UnknownSkillException {
  16. if(PrimarySkillType.isChildSkill(primarySkillType)) {
  17. if(smeltingParents == null || salvageParents == null) {
  18. smeltingParents = new HashSet<>();
  19. salvageParents = new HashSet<>();
  20. smeltingParents.add(PrimarySkillType.MINING);
  21. smeltingParents.add(PrimarySkillType.REPAIR);
  22. salvageParents.add(PrimarySkillType.FISHING);
  23. salvageParents.add(PrimarySkillType.REPAIR);
  24. }
  25. if(primarySkillType.equals(PrimarySkillType.SALVAGE)) {
  26. return salvageParents;
  27. } else if (primarySkillType.equals(PrimarySkillType.SMELTING)) {
  28. return smeltingParents;
  29. } else {
  30. mcMMO.p.getLogger().severe("root skill argument is not a child skill! " + primarySkillType.toString());
  31. throw new UnknownSkillException();
  32. }
  33. } else {
  34. throw new UnknownSkillException();
  35. }
  36. }
  37. }