Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. public class PalmOfExcavationSkill {
  2. private static final ResourceLocation NAME = new ResourceLocation(EposAPI.ID, "palm_of_excavation");
  3. private static final List<String> validTypeStrings = new ArrayList<String>() {{
  4. add("pickaxe");
  5. add("shovel");
  6. add("axe");
  7. }
  8. };
  9.  
  10. public static final Feat FEAT =
  11. FeatBuilder.start(NAME)
  12. .withEventHandler(PlayerEvent.BreakSpeed.class,
  13. ((breakSpeed, entity, iCharacterStats) -> {
  14. int level = CharacterHelper.getSkillLevel(NAME, iCharacterStats);
  15. float oldSpeed = Math.min(breakSpeed.getOriginalSpeed(), 1);
  16. ToolType toolType = breakSpeed.getState().getHarvestTool();
  17. if (validTypeStrings.get(0).equals(toolType.getName())) {
  18. breakSpeed.setNewSpeed((((level * 25f) / 100f) * oldSpeed) + breakSpeed.getNewSpeed());
  19. } else {
  20. breakSpeed.setNewSpeed((((level * 50f) / 100f) * oldSpeed) + breakSpeed.getNewSpeed());
  21. }
  22. }))
  23. .withEventHandler(PlayerEvent.HarvestCheck.class,
  24. ((harvestCheck, entity, iCharacterStats) -> {
  25. int level = CharacterHelper.getSkillLevel(NAME, iCharacterStats);
  26. BlockState state = harvestCheck.getTargetBlock();
  27. ToolType toolType = state.getHarvestTool();
  28.  
  29. if (toolType != null && level >= state.getHarvestLevel() && validTypeStrings.contains(toolType.getName())) {
  30. harvestCheck.setCanHarvest(true);
  31. }
  32. }))
  33. .withEventHandler(FeatAcquiredEvent.class,
  34. (featAcquiredEvent, entity, iCharacterStats) -> {
  35. if (featAcquiredEvent.getFeatAcquired().getRegistryName().compareTo(NAME) == 0) {
  36. iCharacterStats.getSkills().putSkill(NAME);
  37. }
  38. }).finish();
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement