diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 51e5d14a7f..c1069d5d02 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else { diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java index 459236d6b2..4d1f15f06b 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java +++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/bypasshandlers/QuestLink.java @@ -18,10 +18,10 @@ package handlers.bypasshandlers; import java.util.Collection; import java.util.Collections; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.stream.Collectors; import org.l2jmobius.Config; import org.l2jmobius.gameserver.handler.IBypassHandler; @@ -92,14 +92,15 @@ public class QuestLink implements IBypassHandler final StringBuilder sbCantStart = new StringBuilder(128); final StringBuilder sbCompleted = new StringBuilder(128); - //@formatter:off - final Set startingQuests = npc.getListeners(EventType.ON_NPC_QUEST_START).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set startingQuests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_QUEST_START)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + startingQuests.add((Quest) owner); + } + } Collection questList = quests; if (Config.ORDER_QUEST_LIST_BY_QUESTID) @@ -307,16 +308,19 @@ public class QuestLink implements IBypassHandler */ private void showQuestWindow(Player player, Npc npc) { - //@formatter:off - final Set quests = npc.getListeners(EventType.ON_NPC_TALK).stream() - .map(AbstractEventListener::getOwner) - .filter(Quest.class::isInstance) - .map(Quest.class::cast) - .filter(quest -> (quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255)) - .filter(quest -> !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) - .distinct() - .collect(Collectors.toSet()); - //@formatter:on + final Set quests = new HashSet<>(); + for (AbstractEventListener listener : npc.getListeners(EventType.ON_NPC_TALK)) + { + final Object owner = listener.getOwner(); + if (owner instanceof Quest) + { + final Quest quest = (Quest) owner; + if ((quest.getId() > 0) && (quest.getId() < 20000) && (quest.getId() != 255) && !Quest.getNoQuestMsg(player).equals(quest.onTalk(npc, player, true))) + { + quests.add(quest); + } + } + } if (quests.size() > 1) { @@ -324,7 +328,7 @@ public class QuestLink implements IBypassHandler } else if (quests.size() == 1) { - showQuestWindow(player, npc, quests.stream().findFirst().get().getName()); + showQuestWindow(player, npc, quests.iterator().next().getName()); } else {