From 68d8d6dd30357a8e1675c62ef8c06c620327715b Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Wed, 15 May 2013 23:35:07 +0200 Subject: [PATCH] Added permission node to bypass the fishing exploit prevention Permission node: `mcmmo.bypass.kraken` false by default. --- Changelog.txt | 1 + src/main/java/com/gmail/nossr50/listeners/PlayerListener.java | 4 +++- src/main/java/com/gmail/nossr50/util/Permissions.java | 1 + src/main/resources/plugin.yml | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Changelog.txt b/Changelog.txt index f434f344a..97186d05c 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -20,6 +20,7 @@ Version 1.4.06-dev + Added configurable cooldown and warmup times when using /ptp + Added a new Party item share category "Misc" which contains a list of configurable items. (By default all tools and armor) + Added fishing exploit prevention + + Added permission node to bypass the fishing exploit prevention + Added boosts to Fishing chance depending on conditions + Added McMMOAbilityActivateEvent and McMMOAbilityDeactivateEvent + Added config option to toggle the size of fireworks diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index d59098d57..a5242dfd5 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -178,7 +178,9 @@ public class PlayerListener implements Listener { switch (event.getState()) { case FISHING: - event.setCancelled(fishingManager.exploitPrevention()); + if (!Permissions.krakenBypass(player)) { + event.setCancelled(fishingManager.exploitPrevention()); + } if (event.isCancelled()) { return; diff --git a/src/main/java/com/gmail/nossr50/util/Permissions.java b/src/main/java/com/gmail/nossr50/util/Permissions.java index d717ed5bd..11cc4a95a 100644 --- a/src/main/java/com/gmail/nossr50/util/Permissions.java +++ b/src/main/java/com/gmail/nossr50/util/Permissions.java @@ -27,6 +27,7 @@ public final class Permissions { /* BYPASS */ public static boolean hardcoreBypass(Permissible permissible) { return permissible.hasPermission("mcmmo.bypass.hardcoremode"); } public static boolean arcaneBypass(Permissible permissible) { return permissible.hasPermission("mcmmo.bypass.arcanebypass"); } + public static boolean krakenBypass(Permissible permissible) { return permissible.hasPermission("mcmmo.bypass.kraken"); } /* CHAT */ public static boolean partyChat(Permissible permissible) { return permissible.hasPermission("mcmmo.chat.partychat"); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index a217fa757..d9d2780b8 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -610,6 +610,7 @@ permissions: children: mcmmo.bypass.arcanebypass: true mcmmo.bypass.hardcoremode: true + mcmmo.bypass.kraken: true mcmmo.commands.inspect.far: true mcmmo.commands.inspect.offline: true mcmmo.bypass.arcanebypass: @@ -618,6 +619,9 @@ permissions: mcmmo.bypass.hardcoremode: default: false description: Allows user to bypass negative penalties of Hardcore mode + mcmmo.bypass.kraken: + default: false + description: Allows user to bypass the effects of the exploit prevention when Fishing mcmmo.bypass.inspect.distance: default: false description: Allows user to bypass Inspect's distance requirements