Removed stream usage from QuestLink.

This commit is contained in:
MobiusDevelopment
2023-01-08 11:25:04 +00:00
parent 42ec5d7188
commit 248a6b65fb
26 changed files with 624 additions and 520 deletions

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {

View File

@@ -18,10 +18,10 @@ package handlers.bypasshandlers;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.TreeMap; import java.util.TreeMap;
import java.util.stream.Collectors;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.gameserver.handler.IBypassHandler; import org.l2jmobius.gameserver.handler.IBypassHandler;
@@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler
final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCantStart = new StringBuilder(128);
final StringBuilder sbCompleted = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128);
//@formatter:off final Set<Quest> startingQuests = new HashSet<>();
final Set<Quest> startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.distinct() {
.collect(Collectors.toSet()); startingQuests.add((Quest) owner);
//@formatter:on }
}
Collection<Quest> questList = quests; Collection<Quest> questList = quests;
if (Config.ORDER_QUEST_LIST_BY_QUESTID) if (Config.ORDER_QUEST_LIST_BY_QUESTID)
@@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler
*/ */
private void showQuestWindow(Player player, Npc npc) private void showQuestWindow(Player player, Npc npc)
{ {
//@formatter:off final Set<Quest> quests = new HashSet<>();
final Set<Quest> quests = npc.getListeners(EventType.ON_NPC_TALK).stream() for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK))
.map(AbstractEventListener::getOwner) {
.filter(Quest.class::isInstance) final Object owner = listener.getOwner();
.map(Quest.class::cast) if (owner instanceof Quest)
.filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) {
.filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) final Quest quest = (Quest) owner;
.distinct() if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true)))
.collect(Collectors.toSet()); {
//@formatter:on quests.add(quest);
}
}
}
if (quests.size() > 1) if (quests.size() > 1)
{ {
@@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler
} }
else if (quests.size() == 1) else if (quests.size() == 1)
{ {
showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); showQuestWindow(player, npc, quests.iterator().next().getName());
} }
else else
{ {