Browse Source

Merge pull request #4162 from broccolai/master

Check to make sure correct item is being damaged in Fishing exploit prevention
Robert Alan Chapton 5 years ago
parent
commit
f82ad99c82

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

@@ -78,8 +78,15 @@ public class FishingManager extends SkillManager {
 
 
         if(currentTime < fishingRodCastTimestamp + FISHING_ROD_CAST_CD_MILLISECONDS)
         if(currentTime < fishingRodCastTimestamp + FISHING_ROD_CAST_CD_MILLISECONDS)
         {
         {
+            ItemStack fishingRod = getPlayer().getInventory().getItemInMainHand();
+
+            //Ensure correct hand item is damaged
+            if(fishingRod.getType() != Material.FISHING_ROD) {
+                fishingRod = getPlayer().getInventory().getItemInOffHand();
+            }
+
             getPlayer().setFoodLevel(Math.max(getPlayer().getFoodLevel() - 1, 0));
             getPlayer().setFoodLevel(Math.max(getPlayer().getFoodLevel() - 1, 0));
-            getPlayer().getInventory().getItemInMainHand().setDurability((short) (getPlayer().getInventory().getItemInMainHand().getDurability() + 5));
+            fishingRod.setDurability((short) (fishingRod.getDurability() + 5));
             getPlayer().updateInventory();
             getPlayer().updateInventory();
 
 
             if(lastWarnedExhaust + (1000 * 1) < currentTime)
             if(lastWarnedExhaust + (1000 * 1) < currentTime)