Excavation.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.gmail.nossr50.skills.excavation;
  2. import com.gmail.nossr50.config.experience.ExperienceConfig;
  3. import com.gmail.nossr50.config.treasure.TreasureConfig;
  4. import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
  5. import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
  6. import com.gmail.nossr50.mcMMO;
  7. import com.gmail.nossr50.util.text.StringUtils;
  8. import org.bukkit.block.BlockState;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. public class Excavation {
  12. /**
  13. * Get the list of possible {@link ExcavationTreasure|ExcavationTreasures} obtained from a given block.
  14. *
  15. * @param blockState The {@link BlockState} of the block to check.
  16. * @return the list of treasures that could be found
  17. */
  18. protected static List<ExcavationTreasure> getTreasures(BlockState blockState) {
  19. String friendly = StringUtils.getFormattedMaterialString(blockState.getBlockData().getMaterial());
  20. if (TreasureConfig.getInstance().excavationMap.containsKey(friendly))
  21. return TreasureConfig.getInstance().excavationMap.get(friendly);
  22. return new ArrayList<>();
  23. }
  24. protected static int getBlockXP(BlockState blockState) {
  25. int xp = ExperienceConfig.getInstance().getXp(PrimarySkillType.EXCAVATION, blockState.getType());
  26. if (xp == 0 && mcMMO.getModManager().isCustomExcavationBlock(blockState)) {
  27. xp = mcMMO.getModManager().getBlock(blockState).getXpGain();
  28. }
  29. return xp;
  30. }
  31. }