Переглянути джерело

Command update - Excavation

GJ 13 роки тому
батько
коміт
def41af469

+ 1 - 0
src/main/java/com/gmail/nossr50/commands/skills/AcrobaticsCommand.java

@@ -110,6 +110,7 @@ public class AcrobaticsCommand implements CommandExecutor {
 
     private void permissionsCheck(Player player) {
         Permissions permInstance = Permissions.getInstance();
+
         canDodge = permInstance.dodge(player);
         canRoll = permInstance.roll(player);
         canGracefulRoll = permInstance.gracefulRoll(player);

+ 1 - 0
src/main/java/com/gmail/nossr50/commands/skills/ArcheryCommand.java

@@ -100,6 +100,7 @@ public class ArcheryCommand implements CommandExecutor {
 
     private void permissionsCheck(Player player) {
         Permissions permInstance = Permissions.getInstance();
+
         canSkillShot = permInstance.archeryBonus(player);
         canDaze = permInstance.daze(player);
         canRetrieve = permInstance.trackArrows(player);

+ 1 - 0
src/main/java/com/gmail/nossr50/commands/skills/AxesCommand.java

@@ -123,6 +123,7 @@ public class AxesCommand implements CommandExecutor {
 
     private void permissionsCheck(Player player) {
         Permissions permInstance = Permissions.getInstance();
+
         canSkullSplitter = permInstance.skullSplitter(player);
         canCritical = permInstance.criticalHit(player);
         canBonusDamage = permInstance.axeBonus(player);

+ 27 - 5
src/main/java/com/gmail/nossr50/commands/skills/ExcavationCommand.java

@@ -10,12 +10,16 @@ import com.gmail.nossr50.datatypes.PlayerProfile;
 import com.gmail.nossr50.datatypes.SkillType;
 import com.gmail.nossr50.locale.LocaleLoader;
 import com.gmail.nossr50.util.Page;
+import com.gmail.nossr50.util.Permissions;
 import com.gmail.nossr50.util.Users;
 
 public class ExcavationCommand implements CommandExecutor {
     private float skillValue;
     private String gigaDrillBreakerLength;
 
+    private boolean canGigaDrill;
+    private boolean canTreasureHunt;
+
     @Override
     public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
         if (CommandHelper.noConsoleUsage(sender)) {
@@ -31,17 +35,28 @@ public class ExcavationCommand implements CommandExecutor {
 
         skillValue = (float) PP.getSkillLevel(SkillType.EXCAVATION);
         dataCalculations(skillValue);
+        permissionsCheck(player);
 
         player.sendMessage(LocaleLoader.getString("Skills.Header", new Object[] { LocaleLoader.getString("Excavation.SkillName") }));
         player.sendMessage(LocaleLoader.getString("Commands.XPGain", new Object[] { LocaleLoader.getString("Commands.XPGain.Excavation") }));
         player.sendMessage(LocaleLoader.getString("Effects.Level", new Object[] { PP.getSkillLevel(SkillType.EXCAVATION), PP.getSkillXpLevel(SkillType.EXCAVATION), PP.getXpToLevel(SkillType.EXCAVATION) }));
 
-        player.sendMessage(LocaleLoader.getString("Skills.Header", new Object[] { LocaleLoader.getString("Effects.Effects") }));
-        player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Excavation.Effect.0"), LocaleLoader.getString("Excavation.Effect.1") }));
-        player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Excavation.Effect.2"), LocaleLoader.getString("Excavation.Effect.3") }));
+        if (canGigaDrill || canTreasureHunt) {
+            player.sendMessage(LocaleLoader.getString("Skills.Header", new Object[] { LocaleLoader.getString("Effects.Effects") }));
+        }
+
+        if (canGigaDrill) {
+            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Excavation.Effect.0"), LocaleLoader.getString("Excavation.Effect.1") }));
+        }
+
+        if (canTreasureHunt) {
+            player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Excavation.Effect.2"), LocaleLoader.getString("Excavation.Effect.3") }));
+        }
 
-        player.sendMessage(LocaleLoader.getString("Skills.Header", new Object[] { LocaleLoader.getString("Commands.Stats.Self") }));
-        player.sendMessage(LocaleLoader.getString("Excavation.Effect.Length", new Object[] { gigaDrillBreakerLength }));
+        if (canGigaDrill) {
+            player.sendMessage(LocaleLoader.getString("Skills.Header", new Object[] { LocaleLoader.getString("Commands.Stats.Self") }));
+            player.sendMessage(LocaleLoader.getString("Excavation.Effect.Length", new Object[] { gigaDrillBreakerLength }));
+        }
 
         Page.grabGuidePageForSkill(SkillType.EXCAVATION, player, args);
 
@@ -51,4 +66,11 @@ public class ExcavationCommand implements CommandExecutor {
     private void dataCalculations(float skillValue) {
         gigaDrillBreakerLength = String.valueOf(2 + ((int) skillValue / 50));
     }
+
+    private void permissionsCheck(Player player) {
+        Permissions permInstance = Permissions.getInstance();
+
+        canGigaDrill = permInstance.gigaDrillBreaker(player);
+        canTreasureHunt = permInstance.excavationTreasures(player);
+    }
 }