diff --git a/src/main/java/com/ranull/graves/manager/GraveManager.java b/src/main/java/com/ranull/graves/manager/GraveManager.java index 8202a21..214eada 100644 --- a/src/main/java/com/ranull/graves/manager/GraveManager.java +++ b/src/main/java/com/ranull/graves/manager/GraveManager.java @@ -662,7 +662,9 @@ public void autoLootGrave(Entity entity, Location location, Grave grave) { player.getInventory().setItem(counter, itemStack); grave.getInventory().remove(itemStack); - if ((counter == 39 && InventoryUtil.isHelmet(itemStack)) + // Added Shield and Torches to be auto looted + if ((counter == 40 && InventoryUtil.isOffhandItem(itemStack)) + || (counter == 39 && InventoryUtil.isHelmet(itemStack)) || (counter == 38 && InventoryUtil.isChestplate(itemStack)) || (counter == 37 && InventoryUtil.isLeggings(itemStack)) || (counter == 36 && InventoryUtil.isBoots(itemStack))) { diff --git a/src/main/java/com/ranull/graves/util/InventoryUtil.java b/src/main/java/com/ranull/graves/util/InventoryUtil.java index cdf1e2e..0ddfd1e 100644 --- a/src/main/java/com/ranull/graves/util/InventoryUtil.java +++ b/src/main/java/com/ranull/graves/util/InventoryUtil.java @@ -56,6 +56,11 @@ public static void equipArmor(Inventory inventory, Player player) { playArmorEquipSound(player, itemStack); inventory.removeItem(itemStack); } + + if(player.getInventory().getItemInOffHand().getType().isAir() && isOffhandItem(itemStack)) { + player.getInventory().setItemInOffHand(itemStack); + inventory.removeItem(itemStack); + } } } } @@ -132,6 +137,10 @@ public static boolean isBoots(ItemStack itemStack) { "CHAINMAIL_BOOTS"); } + public static boolean isOffhandItem(ItemStack itemStack) { + return itemStack != null && itemStack.getType().name().matches("(?i)SHIELD|TORCH"); + } + public static String inventoryToString(Inventory inventory) { List stringList = new ArrayList<>();