Browse Source

AFK Fishing protection

nossr50 6 năm trước cách đây
mục cha
commit
22c5280d4e

+ 1 - 0
Changelog.txt

@@ -9,6 +9,7 @@ Key:
 
 Version 2.1.1
     = Fixed an issue where excavation wasn't using the correct permission node
+    = Added protection against AFK fishing
 
 Version 2.1.0
  + mcMMO now features XP bars! Configurable in experience.yml

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

@@ -251,6 +251,9 @@ public class PlayerListener implements Listener {
 
         FishingManager fishingManager = UserManager.getPlayer(player).getFishingManager();
 
+        if(fishingManager.exploitPrevention())
+            return;
+
         switch (event.getState()) {
             case CAUGHT_FISH:
                 //TODO Update to new API once available! Waiting for case CAUGHT_TREASURE:
@@ -311,6 +314,10 @@ public class PlayerListener implements Listener {
         }
 
         FishingManager fishingManager = UserManager.getPlayer(player).getFishingManager();
+
+        if(fishingManager.exploitPrevention())
+            return;
+
         Entity caught = event.getCaught();
 
         switch (event.getState()) {

+ 2 - 1
src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java

@@ -72,7 +72,8 @@ public class FishingManager extends SkillManager {
 
         Location targetLocation = targetBlock.getLocation();
         boolean sameTarget = (fishingTarget != null && fishingTarget.equals(targetLocation));
-        return hasFished && sameTarget;
+
+        return hasFished || sameTarget;
     }
 
     public boolean canIceFish(Block block) {