소스 검색

Fix infinite GreenThumb & ShroomThumb usage bug

Tslat 9 년 전
부모
커밋
bddca30668
1개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. 10 2
      src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java

+ 10 - 2
src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java

@@ -50,13 +50,21 @@ public class HerbalismManager extends SkillManager {
 
     public boolean canGreenThumbBlock(BlockState blockState) {
         Player player = getPlayer();
+        ItemStack item = player.getInventory().getItemInMainHand();
+        
+        if (item.getAmount() <= 0)
+            return false;
 
-        return player.getItemInHand().getType() == Material.SEEDS && BlockUtils.canMakeMossy(blockState) && Permissions.greenThumbBlock(player, blockState.getType());
+        return item.getType() == Material.SEEDS && BlockUtils.canMakeMossy(blockState) && Permissions.greenThumbBlock(player, blockState.getType());
     }
 
     public boolean canUseShroomThumb(BlockState blockState) {
         Player player = getPlayer();
-        Material itemType = player.getItemInHand().getType();
+        ItemStack item = player.getInventory().getItemInMainHand();
+        Material itemType = item.getType();
+        
+        if (item.getAmount() <= 0)
+            return false;
 
         return (itemType == Material.RED_MUSHROOM || itemType == Material.BROWN_MUSHROOM) && BlockUtils.canMakeShroomy(blockState) && Permissions.secondaryAbilityEnabled(player, SecondaryAbility.SHROOM_THUMB);
     }