diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_1.0/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_2.5_Zaken/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_2.7_Antharas/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns) diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/SpawnData.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/SpawnData.java index e59e289c68..44f13652b0 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/SpawnData.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/data/xml/SpawnData.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -169,12 +168,34 @@ public class SpawnData implements IXmlReader public List getGroupsByName(String groupName) { - return _spawns.stream().filter(template -> (template.getName() != null) && groupName.equalsIgnoreCase(template.getName())).flatMap(template -> template.getGroups().stream()).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + if ((template.getName() != null) && groupName.equalsIgnoreCase(template.getName())) + { + result.addAll(template.getGroups()); + } + } + return result; } public List getNpcSpawns(Predicate condition) { - return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); + final List result = new ArrayList<>(); + for (SpawnTemplate template : _spawns) + { + for (SpawnGroup group : template.getGroups()) + { + for (NpcSpawnTemplate spawn : group.getSpawns()) + { + if (condition.test(spawn)) + { + result.add(spawn); + } + } + } + } + return result; } public void parseSpawn(Node spawnsNode, File file, Collection spawns)