diff --git a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java index e3d3669..d03ef55 100644 --- a/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java +++ b/Challenge/src/main/java/de/fanta/challenge/challenges/ChallengeEvents/forcequest/ForceQuestChallengeEvent.java @@ -556,16 +556,27 @@ if (meta != null && meta.getPersistentDataContainer().has(skipKey) || metaInHand != null && metaInHand.getPersistentDataContainer().has(skipKey)) { switch (e.getAction()) { case NOTHING, PICKUP_ALL, PICKUP_HALF, PICKUP_ONE, PICKUP_SOME, PLACE_ALL, PLACE_ONE, PLACE_SOME, - SWAP_WITH_CURSOR, COLLECT_TO_CURSOR, HOTBAR_SWAP -> { + SWAP_WITH_CURSOR, COLLECT_TO_CURSOR -> { if (e.getClickedInventory() != player.getInventory()) { e.setCancelled(true); } + if (e.getSlot() == 40) { //Slot 40 == Offhand + e.setCancelled(true); + } } case MOVE_TO_OTHER_INVENTORY -> { if (!(e.getInventory() instanceof CraftingInventory)) { e.setCancelled(true); } } + case HOTBAR_SWAP -> { + if (e.getClick() == ClickType.SWAP_OFFHAND) { + e.setCancelled(true); + } + if (e.getClickedInventory() != player.getInventory()) { + e.setCancelled(true); + } + } default -> { e.setCancelled(true); return; @@ -602,6 +613,10 @@ if (!(e.getInventory() instanceof CraftingInventory)) { e.setCancelled(true); } + + if (e.getInventorySlots().contains(40)) { //Slot 40 = Offhand + e.setCancelled(true); + } } }