diff --git a/Changelog.txt b/Changelog.txt index fe70ec497..0e8a0948c 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -7,6 +7,7 @@ Key: ! Change - Removal Version 2.1.8 + Fixed a bug where Abilities didn't check for permission nodes before activating MaxBonusLevel now has specific entries for Standard and Retro in advanced.yml MaxBonusLevel for Critical Strikes changed from 75/750 to 100/1000 MaxBonusLevel of Dodge changed from 80/800 to 100/1000 diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index 81626a715..4b9613ce1 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -791,7 +791,7 @@ public class McMMOPlayer { ToolType tool = skill.getTool(); SuperAbilityType ability = skill.getAbility(); - if (getAbilityMode(ability)) { + if (getAbilityMode(ability) || !ability.getPermissions(player)) { return; } @@ -894,7 +894,7 @@ public class McMMOPlayer { * Woodcutting & Axes need to be treated differently. * Basically the tool always needs to ready and we check to see if the cooldown is over when the user takes action */ - if (ability.getPermissions(player) && tool.inHand(inHand) && !getToolPreparationMode(tool)) { + if (tool.inHand(inHand) && !getToolPreparationMode(tool)) { if (skill != PrimarySkillType.WOODCUTTING && skill != PrimarySkillType.AXES) { int timeRemaining = calculateTimeRemaining(ability); diff --git a/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java b/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java index 35d10b28b..6d43fa769 100644 --- a/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java +++ b/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java @@ -46,7 +46,7 @@ public class SwordsManager extends SkillManager { if(!RankUtils.hasUnlockedSubskill(getPlayer(), SubSkillType.SWORDS_SERRATED_STRIKES)) return false; - return mcMMOPlayer.getAbilityMode(SuperAbilityType.SERRATED_STRIKES) && Permissions.serratedStrikes(getPlayer()); + return mcMMOPlayer.getAbilityMode(SuperAbilityType.SERRATED_STRIKES); } /** diff --git a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java index c612362ba..b3c081497 100644 --- a/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java +++ b/src/main/java/com/gmail/nossr50/skills/unarmed/UnarmedManager.java @@ -43,7 +43,7 @@ public class UnarmedManager extends SkillManager { } public boolean canUseBerserk() { - return mcMMOPlayer.getAbilityMode(SuperAbilityType.BERSERK) && Permissions.berserk(getPlayer()); + return mcMMOPlayer.getAbilityMode(SuperAbilityType.BERSERK); } public boolean canDisarm(LivingEntity target) { diff --git a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java index 18784ed0b..fc65fb450 100644 --- a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java @@ -38,7 +38,8 @@ public class WoodcuttingManager extends SkillManager { } public boolean canUseTreeFeller(ItemStack heldItem) { - return mcMMOPlayer.getAbilityMode(SuperAbilityType.TREE_FELLER) && Permissions.treeFeller(getPlayer()) && ItemUtils.isAxe(heldItem); + return mcMMOPlayer.getAbilityMode(SuperAbilityType.TREE_FELLER) + && ItemUtils.isAxe(heldItem); } protected boolean canGetDoubleDrops() { diff --git a/src/main/java/com/gmail/nossr50/util/Permissions.java b/src/main/java/com/gmail/nossr50/util/Permissions.java index 3bb4e7ac1..cda3cf831 100644 --- a/src/main/java/com/gmail/nossr50/util/Permissions.java +++ b/src/main/java/com/gmail/nossr50/util/Permissions.java @@ -198,7 +198,6 @@ public final class Permissions { /* * PARTY */ - public static boolean partySizeBypass(Permissible permissible) { return permissible.hasPermission("mcmmo.bypass.partylimit" ); } public static boolean party(Permissible permissible) { return permissible.hasPermission("mcmmo.commands.party"); } public static boolean partySubcommand(Permissible permissible, PartySubcommandType subcommand) { return permissible.hasPermission("mcmmo.commands.party." + subcommand.toString().toLowerCase()); }