ExcavationCommand.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.gmail.nossr50.commands.skills;
  2. import org.bukkit.ChatColor;
  3. import com.gmail.nossr50.commands.SkillCommand;
  4. import com.gmail.nossr50.config.AdvancedConfig;
  5. import com.gmail.nossr50.datatypes.SkillType;
  6. import com.gmail.nossr50.locale.LocaleLoader;
  7. import com.gmail.nossr50.util.Permissions;
  8. public class ExcavationCommand extends SkillCommand {
  9. AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
  10. private String gigaDrillBreakerLength;
  11. private int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
  12. private boolean canGigaDrill;
  13. private boolean canTreasureHunt;
  14. private boolean lucky;
  15. public ExcavationCommand() {
  16. super(SkillType.EXCAVATION);
  17. }
  18. @Override
  19. protected void dataCalculations() {
  20. gigaDrillBreakerLength = String.valueOf(2 + (int) ((double) skillValue / (double) abilityLengthIncreaseLevel));
  21. }
  22. @Override
  23. protected void permissionsCheck() {
  24. canGigaDrill = Permissions.gigaDrillBreaker(player);
  25. canTreasureHunt = Permissions.excavationTreasures(player);
  26. lucky = Permissions.luckyExcavation(player);
  27. }
  28. @Override
  29. protected boolean effectsHeaderPermissions() {
  30. return canGigaDrill || canTreasureHunt;
  31. }
  32. @Override
  33. protected void effectsDisplay() {
  34. if (lucky) {
  35. String perkPrefix = ChatColor.RED + "[mcMMO Perks] ";
  36. player.sendMessage(perkPrefix + LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Perks.lucky.name"), LocaleLoader.getString("Perks.lucky.desc", new Object[] { "Excavation" }) }));
  37. }
  38. if (canGigaDrill) {
  39. player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Excavation.Effect.0"), LocaleLoader.getString("Excavation.Effect.1") }));
  40. }
  41. if (canTreasureHunt) {
  42. player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Excavation.Effect.2"), LocaleLoader.getString("Excavation.Effect.3") }));
  43. }
  44. }
  45. @Override
  46. protected boolean statsHeaderPermissions() {
  47. return canGigaDrill;
  48. }
  49. @Override
  50. protected void statsDisplay() {
  51. if (canGigaDrill) {
  52. player.sendMessage(LocaleLoader.getString("Excavation.Effect.Length", new Object[] { gigaDrillBreakerLength }));
  53. }
  54. }
  55. }