diff --git a/pom.xml b/pom.xml index e6623af..fd902e1 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ lol.hyper toolstats - 1.9.2 + 1.9.2-hotfix jar ToolStats diff --git a/src/main/java/lol/hyper/toolstats/events/PlayerFish.java b/src/main/java/lol/hyper/toolstats/events/PlayerFish.java index fc2cbee..214a805 100644 --- a/src/main/java/lol/hyper/toolstats/events/PlayerFish.java +++ b/src/main/java/lol/hyper/toolstats/events/PlayerFish.java @@ -72,7 +72,9 @@ public class PlayerFish implements Listener { PlayerInventory inventory = player.getInventory(); boolean isMain = inventory.getItemInMainHand().getType() == Material.FISHING_ROD; boolean isOffHand = inventory.getItemInOffHand().getType() == Material.FISHING_ROD; - if (isMain) { + if (isMain && isOffHand) { + inventory.getItemInMainHand().setItemMeta(newFishingRod); + } else if (isMain) { inventory.getItemInMainHand().setItemMeta(newFishingRod); } else if (isOffHand) { inventory.getItemInOffHand().setItemMeta(newFishingRod); diff --git a/src/main/java/lol/hyper/toolstats/events/SheepShear.java b/src/main/java/lol/hyper/toolstats/events/SheepShear.java index b5dba3c..6e18c60 100644 --- a/src/main/java/lol/hyper/toolstats/events/SheepShear.java +++ b/src/main/java/lol/hyper/toolstats/events/SheepShear.java @@ -65,15 +65,17 @@ public class SheepShear implements Listener { } // update the stats - ItemMeta newItem = toolStats.itemLore.updateSheepSheared(heldShears, 1); - if (newItem != null) { + ItemMeta newShears = toolStats.itemLore.updateSheepSheared(heldShears, 1); + if (newShears != null) { PlayerInventory inventory = player.getInventory(); boolean isMain = inventory.getItemInMainHand().getType() == Material.SHEARS; boolean isOffHand = inventory.getItemInOffHand().getType() == Material.SHEARS; - if (isMain) { - inventory.getItemInMainHand().setItemMeta(newItem); + if (isMain && isOffHand) { + inventory.getItemInMainHand().setItemMeta(newShears); + } else if (isMain) { + inventory.getItemInMainHand().setItemMeta(newShears); } else if (isOffHand) { - inventory.getItemInOffHand().setItemMeta(newItem); + inventory.getItemInOffHand().setItemMeta(newShears); } } } diff --git a/src/main/java/lol/hyper/toolstats/events/ShootBow.java b/src/main/java/lol/hyper/toolstats/events/ShootBow.java index be763f1..dd44118 100644 --- a/src/main/java/lol/hyper/toolstats/events/ShootBow.java +++ b/src/main/java/lol/hyper/toolstats/events/ShootBow.java @@ -56,15 +56,17 @@ public class ShootBow implements Listener { return; } - ItemMeta newItem = toolStats.itemLore.updateArrowsShot(heldBow, 1); - if (newItem != null) { + ItemMeta newBow = toolStats.itemLore.updateArrowsShot(heldBow, 1); + if (newBow != null) { PlayerInventory inventory = player.getInventory(); boolean isMain = inventory.getItemInMainHand().getType() == Material.BOW || inventory.getItemInMainHand().getType() == Material.CROSSBOW; boolean isOffHand = inventory.getItemInOffHand().getType() == Material.BOW || inventory.getItemInOffHand().getType() == Material.CROSSBOW; - if (isMain) { - inventory.getItemInMainHand().setItemMeta(newItem); + if (isMain && isOffHand) { + inventory.getItemInMainHand().setItemMeta(newBow); + } else if (isMain) { + inventory.getItemInMainHand().setItemMeta(newBow); } else if (isOffHand) { - inventory.getItemInOffHand().setItemMeta(newItem); + inventory.getItemInOffHand().setItemMeta(newBow); } } } diff --git a/src/main/java/lol/hyper/toolstats/tools/ItemChecker.java b/src/main/java/lol/hyper/toolstats/tools/ItemChecker.java index 31cd14d..05b3013 100644 --- a/src/main/java/lol/hyper/toolstats/tools/ItemChecker.java +++ b/src/main/java/lol/hyper/toolstats/tools/ItemChecker.java @@ -220,6 +220,9 @@ public class ItemChecker { // if the player is holding a bow in their main hand, use that one // if the bow is in their offhand instead, use that one after checking main hand // Minecraft prioritizes main hand if the player holds in both hands + if (isMain && isOffHand) { + return main; + } if (isMain) { return main; } @@ -246,6 +249,9 @@ public class ItemChecker { // if the player is holding shears in their main hand, use that one // if the shears are in their offhand instead, use that one after checking main hand // Minecraft prioritizes main hand if the player holds in both hands + if (isMain && isOffHand) { + return main; + } if (isMain) { return main; } @@ -272,6 +278,9 @@ public class ItemChecker { // if the player is holding a fishing rod in their main hand, use that one // if the fishing rod is in their offhand instead, use that one after checking main hand // Minecraft prioritizes main hand if the player holds in both hands + if (isMain && isOffHand) { + return main; + } if (isMain) { return main; }