From f185fdb8842f97217560aa0940ba50a74df80c63 Mon Sep 17 00:00:00 2001 From: TomTom <93038247+AverageGithub@users.noreply.github.com> Date: Sat, 3 Feb 2024 09:54:19 +0100 Subject: [PATCH] Relocate libby --- .../axminions/minions/Minion.kt | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/common/src/main/kotlin/com/artillexstudios/axminions/minions/Minion.kt b/common/src/main/kotlin/com/artillexstudios/axminions/minions/Minion.kt index a8c768e..6cef4ce 100644 --- a/common/src/main/kotlin/com/artillexstudios/axminions/minions/Minion.kt +++ b/common/src/main/kotlin/com/artillexstudios/axminions/minions/Minion.kt @@ -605,9 +605,9 @@ class Minion( linkedInventory?.remove(it) return } + } else { + setTool(ItemStack(Material.AIR)) } - - setTool(ItemStack(Material.AIR)) } else if (Config.PULL_FROM_CHEST()) { val allowedTools = arrayListOf() getType().getConfig().getStringList("tool.material").fastFor { @@ -640,7 +640,22 @@ class Minion( if (meta is Damageable) { if ((tool?.type?.maxDurability ?: return false) <= meta.damage + 1) { if (Config.CAN_BREAK_TOOLS()) { - setTool(ItemStack(Material.AIR)) + if (Config.PULL_FROM_CHEST()) { + val allowedTools = arrayListOf() + getType().getConfig().getStringList("tool.material").fastFor { + allowedTools.add(Material.matchMaterial(it) ?: return@fastFor) + } + + linkedInventory?.contents?.fastFor { + if (it == null || it.type !in allowedTools) return@fastFor + + setTool(it) + linkedInventory?.remove(it) + return canUseTool() + } + } else { + setTool(ItemStack(Material.AIR)) + } } else if (Config.PULL_FROM_CHEST()) { val allowedTools = arrayListOf() getType().getConfig().getStringList("tool.material").fastFor {