2
0
nossr50 13 жил өмнө
parent
commit
295b7a0701

+ 7 - 7
src/main/java/com/gmail/nossr50/Item.java

@@ -21,7 +21,7 @@ public class Item {
     public static void itemchecks(Player player) {
         ItemStack inhand = player.getItemInHand();
 
-        if (Config.chimaeraWingEnable && inhand.getTypeId() == Config.chimaeraId) {
+        if (Config.getChimaeraEnabled() && inhand.getTypeId() == Config.getChimaeraItemId()) {
             chimaerawing(player);
         }
     }
@@ -32,9 +32,9 @@ public class Item {
         Block block = player.getLocation().getBlock();
         int amount = is.getAmount();
 
-        if (mcPermissions.getInstance().chimaeraWing(player) && is.getTypeId() == Config.chimaeraId) {
-            if (Skills.cooldownOver(PP.getRecentlyHurt(), 60) && amount >= Config.feathersConsumedByChimaeraWing) {
-                player.setItemInHand(new ItemStack(Config.chimaeraId, amount - Config.feathersConsumedByChimaeraWing));
+        if (mcPermissions.getInstance().chimaeraWing(player) && is.getTypeId() == Config.getChimaeraItemId()) {
+            if (Skills.cooldownOver(PP.getRecentlyHurt(), 60) && amount >= Config.getChimaeraCost()) {
+                player.setItemInHand(new ItemStack(Config.getChimaeraItemId(), amount - Config.getChimaeraCost()));
 
                 for (int y = 0; block.getY() + y < player.getWorld().getMaxHeight(); y++) {
                     if (!block.getRelative(0, y, 0).getType().equals(Material.AIR)) {
@@ -53,11 +53,11 @@ public class Item {
 
                 player.sendMessage(mcLocale.getString("Item.ChimaeraWing.Pass"));
             }
-            else if (!Skills.cooldownOver(PP.getRecentlyHurt(), 60) && is.getAmount() >= Config.feathersConsumedByChimaeraWing) {
+            else if (!Skills.cooldownOver(PP.getRecentlyHurt(), 60) && is.getAmount() >= Config.getChimaeraCost()) {
                 player.sendMessage(mcLocale.getString("Item.Injured.Wait", new Object[] {Skills.calculateTimeLeft(PP.getRecentlyHurt(), 60)}));
             }
-            else if (is.getAmount() <= Config.feathersConsumedByChimaeraWing) {
-                player.sendMessage(mcLocale.getString("Skills.NeedMore")+ " " + ChatColor.GRAY + m.prettyItemString(Config.chimaeraId));
+            else if (is.getAmount() <= Config.getChimaeraCost()) {
+                player.sendMessage(mcLocale.getString("Skills.NeedMore")+ " " + ChatColor.GRAY + m.prettyItemString(Config.getChimaeraItemId()));
             }
         }
     }

+ 22 - 33
src/main/java/com/gmail/nossr50/config/Config.java

@@ -56,24 +56,32 @@ public class Config extends ConfigLoader{
     public static Boolean donateMessage;
 
     /* Items */
-    public static Boolean chimaeraWingEnable;
-    public static int chimaeraId, feathersConsumedByChimaeraWing;
+    public static int getChimaeraCost() { return config.getInt("Items.Chimaera_Wing.Feather_Cost", 10); }
+    public static int getChimaeraItemId() { return config.getInt("Items.Chimaera_Wing.Item_ID", 288); }
+    public static boolean getChimaeraEnabled() { return config.getBoolean("Items.Chimaera_Wing.Enabled", true); }
 
     /*
      * ABILITY SETTINGS
      */
 
     /* General Settings */
-    public static Boolean enableOnlyActivateWhenSneaking, enableAbilityMessages, enableAbilities;
+    public static boolean getAbilityMessagesEnabled() { return config.getBoolean("Abilities.Messages", true); }
+    public static boolean getAbilitiesEnabled() { return config.getBoolean("Abilities.Enabled", true); }
+    public static boolean getAbilitiesOnlyActivateWhenSneaking() { return config.getBoolean("Abilities.Activation.Only_Activate_When_Sneaking", false); }
 
     /* Durability Settings */
-    public static Boolean toolsLoseDurabilityFromAbilities;
-    public static int abilityDurabilityLoss;
+    public static boolean getAbilitiesDamageTools() { return config.getBoolean("Abilities.Tools.Durability_Loss_Enabled", true); }
+    public static int getAbilityToolDamage() { return config.getInt("Abilities.Tools.Durability_Loss", 2); }
 
     /* Cooldowns */
-    public static int superBreakerCooldown, blastMiningCooldown, greenTerraCooldown,
-                      gigaDrillBreakerCooldown, treeFellerCooldown, berserkCooldown,
-                      serratedStrikeCooldown, skullSplitterCooldown;
+    public static int getAbilityCooldownGreenTerra() { return config.getInt("Abilities.Cooldowns.Green_Terra", 240); }
+    public static int getAbilityCooldownSuperBreaker() { return config.getInt("Abilities.Cooldowns.Super_Breaker", 240); }
+    public static int getAbilityCooldownGigaDrillBreaker() { return config.getInt("Abilities.Cooldowns.Giga_Drill_Breaker", 240); }
+    public static int getAbilityCooldownTreeFeller() { return config.getInt("Abilities.Cooldowns.Tree_Feller", 240); }
+    public static int getAbilityCooldownBerserk() { return config.getInt("Abilities.Cooldowns.Berserk", 240); }
+    public static int getAbilityCooldownSerratedStrikes() { return config.getInt("Abilities.Cooldowns.Serrated_Strikes", 240); }
+    public static int getAbilityCooldownSkullSplitter() { return config.getInt("Abilities.Cooldowns.Skull_Splitter", 240); }
+    public static int getAbilityCooldownBlastMining() { return config.getInt("Abilities.Cooldowns.Blast_Mining", 60); }
 
     /* Thresholds */
     public static int getTreeFellerThreshold() { return config.getInt("Abilities.Limits.Tree_Feller_Threshold", 500); }
@@ -83,7 +91,9 @@ public class Config extends ConfigLoader{
      */
 
     /* Tool Requirements */
-    public static Boolean miningrequirespickaxe, excavationRequiresShovel, woodcuttingrequiresaxe;
+    public static boolean getMiningRequiresTool() { return config.getBoolean("Skills.Mining.Requires_Pickaxe", true); }
+    public static boolean getExcavationRequiresTool() { return config.getBoolean("Skills.Excavation.Requires_Shovel", true); }
+    public static boolean getWoodcuttingRequiresTool() { return config.getBoolean("Skills.Woodcutting.Requires_Axe", true); }
 
     /* Excavation */
     public static int getExcavationBaseXP() { return config.getInt("Experience.Excavation.Base", 40); }
@@ -307,9 +317,6 @@ public class Config extends ConfigLoader{
             }
         }
 
-        enableAbilityMessages = config.getBoolean("Abilities.Messages", true);
-        enableAbilities = config.getBoolean("Abilities.Enabled", true);
-
         donateMessage = config.getBoolean("Commands.mcmmo.Donate_Message", true);
         xpGainsMobSpawners = config.getBoolean("Experience.Gains.Mobspawners.Enabled", false);
         
@@ -324,17 +331,6 @@ public class Config extends ConfigLoader{
         showDisplayName = config.getBoolean("Spout.Party.HUD.Show_Display_Name", false);
         partybar = config.getBoolean("Spout.Party.HUD.Enabled", true);
 
-        enableOnlyActivateWhenSneaking = config.getBoolean("Abilities.Activation.Only_Activate_When_Sneaking", false);
-
-        greenTerraCooldown = config.getInt("Abilities.Cooldowns.Green_Terra", 240);
-        superBreakerCooldown = config.getInt("Abilities.Cooldowns.Super_Breaker", 240);
-        gigaDrillBreakerCooldown = config.getInt("Abilities.Cooldowns.Giga_Drill_Breaker", 240);
-        treeFellerCooldown = config.getInt("Abilities.Cooldowns.Tree_Feller", 240);
-        berserkCooldown = config.getInt("Abilities.Cooldowns.Berserk", 240);
-        serratedStrikeCooldown = config.getInt("Abilities.Cooldowns.Serrated_Strikes", 240);
-        skullSplitterCooldown = config.getInt("Abilities.Cooldowns.Skull_Splitter", 240);
-        blastMiningCooldown = config.getInt("Abilities.Cooldowns.Blast_Mining", 60);
-
         locale = config.getString("General.Locale", "en_us");
         enableMotd = config.getBoolean("General.MOTD_Enabled", true);
         saveInterval = config.getInt("General.Save_Interval", 10);
@@ -346,18 +342,11 @@ public class Config extends ConfigLoader{
         enableDirtToGrass = config.getBoolean("Skills.Herbalism.Green_Thumb.Dirt_To_Grass", true);
 
         xpGainMultiplier = config.getInt("Experience.Gains.Multiplier.Global", 1);
-        toolsLoseDurabilityFromAbilities = config.getBoolean("Abilities.Tools.Durability_Loss_Enabled", true);
-        abilityDurabilityLoss = config.getInt("Abilities.Tools.Durability_Loss", 2);
-
-        feathersConsumedByChimaeraWing = config.getInt("Items.Chimaera_Wing.Feather_Cost", 10);
-        chimaeraId = config.getInt("Items.Chimaera_Wing.Item_ID", 288);
-        chimaeraWingEnable = config.getBoolean("Items.Chimaera_Wing.Enabled", true);
-
+        
+        
         pvpxp = config.getBoolean("Experience.PVP.Rewards", true);
 
-        miningrequirespickaxe = config.getBoolean("Skills.Mining.Requires_Pickaxe", true);
-        excavationRequiresShovel = config.getBoolean("Skills.Excavation.Requires_Shovel", true);
-        woodcuttingrequiresaxe = config.getBoolean("Skills.Woodcutting.Requires_Axe", true);
+        
         repairArmor = config.getBoolean("Skills.Repair.Can_Repair_Armor", true);
         repairTools = config.getBoolean("Skills.Repair.Can_Repair_Tools", true);
         repairDiamondLevel = config.getInt("Skills.Repair.Diamond.Level_Required", 50);

+ 8 - 8
src/main/java/com/gmail/nossr50/datatypes/AbilityType.java

@@ -12,7 +12,7 @@ import com.gmail.nossr50.skills.Mining;
 
 public enum AbilityType {
     BERSERK(
-            Config.berserkCooldown,
+            Config.getAbilityCooldownBerserk(),
             "Unarmed.Skills.Berserk.On",
             "Unarmed.Skills.Berserk.Off",
             "Unarmed.Skills.Berserk.Other.On",
@@ -20,7 +20,7 @@ public enum AbilityType {
             "Unarmed.Skills.Berserk.Other.Off"),
 
     SUPER_BREAKER(
-            Config.superBreakerCooldown,
+            Config.getAbilityCooldownSuperBreaker(),
             "Mining.Skills.SuperBreaker.On",
             "Mining.Skills.SuperBreaker.Off",
             "Mining.Skills.SuperBreaker.Other.On",
@@ -28,7 +28,7 @@ public enum AbilityType {
             "Mining.Skills.SuperBreaker.Other.Off"),
 
     GIGA_DRILL_BREAKER(
-            Config.gigaDrillBreakerCooldown,
+            Config.getAbilityCooldownGigaDrillBreaker(),
             "Excavation.Skills.GigaDrillBreaker.On",
             "Excavation.Skills.GigaDrillBreaker.Off",
             "Excavation.Skills.GigaDrillBreaker.Other.On",
@@ -36,7 +36,7 @@ public enum AbilityType {
             "Excavation.Skills.GigaDrillBreaker.Other.Off"),
 
     GREEN_TERRA(
-            Config.greenTerraCooldown,
+            Config.getAbilityCooldownGreenTerra(),
             "Herbalism.Skills.GTe.On",
             "Herbalism.Skills.GTe.Off",
             "Herbalism.Skills.GTe.Other.On",
@@ -44,7 +44,7 @@ public enum AbilityType {
             "Herbalism.Skills.GTe.Other.Off"),
 
     SKULL_SPLIITER(
-            Config.skullSplitterCooldown,
+            Config.getAbilityCooldownSkullSplitter(),
             "Axes.Skills.SS.On",
             "Axes.Skills.SS.Off",
             "Axes.Skills.SS.Other.On",
@@ -52,7 +52,7 @@ public enum AbilityType {
             "Axes.Skills.SS.Other.Off"),
 
     TREE_FELLER(
-            Config.treeFellerCooldown,
+            Config.getAbilityCooldownTreeFeller(),
             "Woodcutting.Skills.TreeFeller.On",
             "Woodcutting.Skills.TreeFeller.Off",
             "Woodcutting.Skills.TreeFeller.Other.On",
@@ -60,7 +60,7 @@ public enum AbilityType {
             "Woodcutting.Skills.TreeFeller.Other.Off"),
 
     SERRATED_STRIKES(
-            Config.serratedStrikeCooldown,
+            Config.getAbilityCooldownSerratedStrikes(),
             "Swords.Skills.SS.On",
             "Swords.Skills.SS.Off",
             "Swords.Skills.SS.Other.On",
@@ -68,7 +68,7 @@ public enum AbilityType {
             "Swords.Skills.SS.Other.Off"),
 
     BLAST_MINING(
-            Config.blastMiningCooldown,
+            Config.getAbilityCooldownBlastMining(),
             null,
             null,
             "Mining.Blast.Other.On",

+ 12 - 12
src/main/java/com/gmail/nossr50/listeners/BlockListener.java

@@ -163,10 +163,10 @@ public class BlockListener implements Listener {
          */
 
         if (mcPermissions.getInstance().mining(player) && Mining.canBeSuperBroken(mat)) {
-            if (Config.miningrequirespickaxe && ItemChecks.isMiningPick(inhand)) {
+            if (Config.getMiningRequiresTool() && ItemChecks.isMiningPick(inhand)) {
                 Mining.miningBlockCheck(player, block);
             }
-            else if (!Config.miningrequirespickaxe) {
+            else if (!Config.getMiningRequiresTool()) {
                 Mining.miningBlockCheck(player, block);
             }
         }
@@ -176,10 +176,10 @@ public class BlockListener implements Listener {
          */
 
         if (mcPermissions.getInstance().woodcutting(player) && mat.equals(Material.LOG)) {
-            if (Config.woodcuttingrequiresaxe && ItemChecks.isAxe(inhand)) {
+            if (Config.getWoodcuttingRequiresTool() && ItemChecks.isAxe(inhand)) {
                 WoodCutting.woodcuttingBlockCheck(player, block);
             }
-            else if (!Config.woodcuttingrequiresaxe) {
+            else if (!Config.getWoodcuttingRequiresTool()) {
                 WoodCutting.woodcuttingBlockCheck(player, block);
             }
         }
@@ -193,10 +193,10 @@ public class BlockListener implements Listener {
          */
 
         if (Excavation.canBeGigaDrillBroken(mat) && mcPermissions.getInstance().excavation(player) && !block.hasMetadata("mcmmoPlacedBlock")) {
-            if (Config.excavationRequiresShovel && ItemChecks.isShovel(inhand)) {
+            if (Config.getExcavationRequiresTool() && ItemChecks.isShovel(inhand)) {
                 Excavation.excavationProcCheck(block, player);
             }
-            else if (!Config.excavationRequiresShovel) {
+            else if (!Config.getExcavationRequiresTool()) {
                 Excavation.excavationProcCheck(block, player);
             }
         }
@@ -255,11 +255,11 @@ public class BlockListener implements Listener {
             Herbalism.greenTerra(player, block);
         }
         else if (PP.getAbilityMode(AbilityType.GIGA_DRILL_BREAKER) && Skills.triggerCheck(player, block, AbilityType.GIGA_DRILL_BREAKER)) {
-            if (Config.excavationRequiresShovel && ItemChecks.isShovel(inhand)) {
+            if (Config.getExcavationRequiresTool() && ItemChecks.isShovel(inhand)) {
                 event.setInstaBreak(true);
                 Excavation.gigaDrillBreaker(player, block);
             }
-            else if (!Config.excavationRequiresShovel) {
+            else if (!Config.getExcavationRequiresTool()) {
                 event.setInstaBreak(true);
                 Excavation.gigaDrillBreaker(player, block);
             }
@@ -277,23 +277,23 @@ public class BlockListener implements Listener {
             }
         }
         else if (PP.getAbilityMode(AbilityType.SUPER_BREAKER) && Skills.triggerCheck(player, block, AbilityType.SUPER_BREAKER)) {
-            if (Config.miningrequirespickaxe && ItemChecks.isMiningPick(inhand)) {
+            if (Config.getMiningRequiresTool() && ItemChecks.isMiningPick(inhand)) {
                 event.setInstaBreak(true);
                 Mining.SuperBreakerBlockCheck(player, block);
             }
-            else if (!Config.miningrequirespickaxe) {
+            else if (!Config.getMiningRequiresTool()) {
                 event.setInstaBreak(true);
                 Mining.SuperBreakerBlockCheck(player, block);
             }
         }
         else if (PP.getSkillLevel(SkillType.WOODCUTTING) >= LEAF_BLOWER_LEVEL && mat.equals(Material.LEAVES)) {
-            if (Config.woodcuttingrequiresaxe && ItemChecks.isAxe(inhand)) {
+            if (Config.getWoodcuttingRequiresTool() && ItemChecks.isAxe(inhand)) {
                 if (Skills.triggerCheck(player, block, AbilityType.LEAF_BLOWER)) {
                     event.setInstaBreak(true);
                     WoodCutting.leafBlower(player, block);
                 }
             }
-            else if (!Config.woodcuttingrequiresaxe && !inhand.getType().equals(Material.SHEARS)) {
+            else if (!Config.getWoodcuttingRequiresTool() && !inhand.getType().equals(Material.SHEARS)) {
                 if (Skills.triggerCheck(player, block, AbilityType.LEAF_BLOWER)) {
                     event.setInstaBreak(true);
                     WoodCutting.leafBlower(player, block);

+ 2 - 2
src/main/java/com/gmail/nossr50/listeners/PlayerListener.java

@@ -211,7 +211,7 @@ public class PlayerListener implements Listener {
             }
 
             /* ACTIVATION CHECKS */
-            if (Config.enableAbilities && BlockChecks.abilityBlockCheck(mat)) {
+            if (Config.getAbilitiesEnabled() && BlockChecks.abilityBlockCheck(mat)) {
                 if (!mat.equals(Material.DIRT) && !mat.equals(Material.GRASS) && !mat.equals(Material.SOIL)) {
                     Skills.activationCheck(player, SkillType.HERBALISM);
                 }
@@ -244,7 +244,7 @@ public class PlayerListener implements Listener {
         case RIGHT_CLICK_AIR:
 
             /* ACTIVATION CHECKS */
-            if (Config.enableAbilities) {
+            if (Config.getAbilitiesEnabled()) {
                 Skills.activationCheck(player, SkillType.AXES);
                 Skills.activationCheck(player, SkillType.EXCAVATION);
                 Skills.activationCheck(player, SkillType.HERBALISM);

+ 1 - 1
src/main/java/com/gmail/nossr50/skills/Excavation.java

@@ -131,7 +131,7 @@ public class Excavation {
      * @param block The block to check
      */
     public static void gigaDrillBreaker(Player player, Block block) {
-        Skills.abilityDurabilityLoss(player.getItemInHand(), Config.abilityDurabilityLoss);
+        Skills.abilityDurabilityLoss(player.getItemInHand(), Config.getAbilityToolDamage());
 
         if (!block.hasMetadata("mcmmoPlacedBlock")) {
             FakePlayerAnimationEvent armswing = new FakePlayerAnimationEvent(player);

+ 1 - 1
src/main/java/com/gmail/nossr50/skills/Mining.java

@@ -216,7 +216,7 @@ public class Mining {
     public static void SuperBreakerBlockCheck(Player player, Block block) {
         Material type = block.getType();
         int tier = m.getTier(player.getItemInHand());
-        int durabilityLoss = Config.abilityDurabilityLoss;
+        int durabilityLoss = Config.getAbilityToolDamage();
         FakePlayerAnimationEvent armswing = new FakePlayerAnimationEvent(player);
 
         switch (type) {

+ 3 - 3
src/main/java/com/gmail/nossr50/skills/Skills.java

@@ -80,7 +80,7 @@ public class Skills {
      * @param skill The skill the ability is tied to
      */
     public static void activationCheck(Player player, SkillType skill) {
-        if (Config.enableOnlyActivateWhenSneaking && !player.isSneaking()) {
+        if (Config.getAbilitiesOnlyActivateWhenSneaking() && !player.isSneaking()) {
             return;
         }
 
@@ -111,7 +111,7 @@ public class Skills {
                 }
             }
 
-            if (Config.enableAbilityMessages) {
+            if (Config.getAbilityMessagesEnabled()) {
                 player.sendMessage(tool.getRaiseTool());
             }
 
@@ -349,7 +349,7 @@ public class Skills {
      * @param durabilityLoss The durability to remove from the item
      */
     public static void abilityDurabilityLoss(ItemStack inhand, int durabilityLoss) {
-        if (Config.toolsLoseDurabilityFromAbilities) {
+        if (Config.getAbilitiesDamageTools()) {
             if (!inhand.containsEnchantment(Enchantment.DURABILITY)) {
                 inhand.setDurability((short) (inhand.getDurability() + durabilityLoss));
             }

+ 3 - 3
src/main/java/com/gmail/nossr50/skills/WoodCutting.java

@@ -315,8 +315,8 @@ public class WoodCutting {
         FakePlayerAnimationEvent armswing = new FakePlayerAnimationEvent(player);
         mcMMO.p.getServer().getPluginManager().callEvent(armswing);
 
-        if (Config.woodcuttingrequiresaxe) {
-            Skills.abilityDurabilityLoss(player.getItemInHand(), Config.abilityDurabilityLoss);
+        if (Config.getWoodcuttingRequiresTool()) {
+            Skills.abilityDurabilityLoss(player.getItemInHand(), Config.getAbilityToolDamage());
         }
 
         if (Config.spoutEnabled) {
@@ -329,7 +329,7 @@ public class WoodCutting {
         for (Block x : toBeFelled) {
             if (x.getType().equals(Material.LOG)) {
                 durabilityLoss++;
-                durabilityLoss = durabilityLoss + Config.abilityDurabilityLoss;
+                durabilityLoss = durabilityLoss + Config.getAbilityToolDamage();
             }
         }