diff --git a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java index 5d4f566..107a624 100644 --- a/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java +++ b/src/main/java/de/fanta/challenges/challenges/ChallengeEvents/ForceItemChallengeEvent.java @@ -285,29 +285,22 @@ if (stack != null) { ItemMeta meta = stack.getItemMeta(); if (meta != null && meta.getPersistentDataContainer().has(skipKey)) { - e.setCancelled(true); - } - } - - if (e.getClick() == ClickType.NUMBER_KEY) { - int slot = e.getHotbarButton(); - if (slot >= 0 && slot < 9) { - ItemStack swap = e.getWhoClicked().getInventory().getItem(slot); - if (swap != null) { - ItemMeta meta = swap.getItemMeta(); - if (meta != null && meta.getPersistentDataContainer().has(skipKey)) { + switch (e.getAction()) { + case NOTHING: + case PICKUP_ALL: + case PICKUP_HALF: + case PICKUP_ONE: + case PICKUP_SOME: + case PLACE_ALL: + case PLACE_ONE: + case PLACE_SOME: + case SWAP_WITH_CURSOR: + case COLLECT_TO_CURSOR: + case HOTBAR_SWAP: + break; + default: e.setCancelled(true); - } - } - } - } - - if (e.getAction() == InventoryAction.HOTBAR_SWAP || e.getAction() == InventoryAction.HOTBAR_MOVE_AND_READD) { - ItemStack otherSlot = (e.getClick() == ClickType.SWAP_OFFHAND) ? e.getWhoClicked().getInventory().getItemInOffHand() : e.getWhoClicked().getInventory().getItem(e.getHotbarButton()); - if (otherSlot != null) { - ItemMeta otherSlotMeta = otherSlot.getItemMeta(); - if (otherSlotMeta != null && otherSlotMeta.getPersistentDataContainer().has(skipKey)) { - e.setCancelled(true); + return; } } }