diff --git a/main/src/main/java/me/blackvein/quests/Quester.java b/main/src/main/java/me/blackvein/quests/Quester.java index 5bc306e04..dbcebe31b 100644 --- a/main/src/main/java/me/blackvein/quests/Quester.java +++ b/main/src/main/java/me/blackvein/quests/Quester.java @@ -4042,14 +4042,15 @@ public Set dispatchMultiplayerEverything(final Quest quest, final Object fun.apply(q, quest); appliedQuestIDs.add(quest.getId()); } - } else { - q.getCurrentQuests().forEach((otherQuest, i) -> { - if (otherQuest.getStage(i).containsObjective(type)) { + } + q.getCurrentQuests().forEach((otherQuest, i) -> { + if (otherQuest.getStage(i).containsObjective(type)) { + if (!otherQuest.getOptions().canShareSameQuestOnly()) { fun.apply(q, otherQuest); appliedQuestIDs.add(otherQuest.getId()); } - }); - } + } + }); } } } catch (final Exception e) { diff --git a/main/src/main/java/me/blackvein/quests/listeners/BlockListener.java b/main/src/main/java/me/blackvein/quests/listeners/BlockListener.java index d9f93016e..919a7decf 100644 --- a/main/src/main/java/me/blackvein/quests/listeners/BlockListener.java +++ b/main/src/main/java/me/blackvein/quests/listeners/BlockListener.java @@ -76,13 +76,13 @@ public void onBlockBreak(final BlockBreakEvent evt) { quester.breakBlock(quest, blockItemStack); // Multiplayer - if (!dispatchedQuestIDs.contains(quest.getId())) { - dispatchedQuestIDs.addAll(quester.dispatchMultiplayerEverything(quest, breakType, - (final Quester q, final Quest cq) -> { - q.breakBlock(cq, blockItemStack); - return null; - })); - } + dispatchedQuestIDs.addAll(quester.dispatchMultiplayerEverything(quest, breakType, + (final Quester q, final Quest cq) -> { + if (!dispatchedQuestIDs.contains(cq.getId())) { + q.breakBlock(cq, blockItemStack); + } + return null; + })); } }