From 9e1f81f63903b73b0e1d0acc09169d7b3385e9ff Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 20 Jun 2020 05:28:53 +0000 Subject: [PATCH] Fixed exceptions when transforming after last streams update. Contributed by Sahar. --- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- .../model/actor/instance/PlayerInstance.java | 28 ++++++------------- 15 files changed, 135 insertions(+), 285 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index a396fe7eae..65643c990c 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11634,13 +11634,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11673,18 +11667,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index f592e1ac0f..ad0c8c96f8 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11641,13 +11641,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11680,18 +11674,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 400fc12091..c94a9b85f9 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11643,13 +11643,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11682,18 +11676,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index c91cabc2c3..cb9be0af04 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11624,13 +11624,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11663,18 +11657,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 83534b1985..e743b36cc8 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11611,13 +11611,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11650,18 +11644,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index e69992f618..896d891172 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11614,13 +11614,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11653,18 +11647,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index b4fcc42fcf..961e380501 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11620,13 +11620,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11659,18 +11653,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index d3c9cf5f94..a66a458a38 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11592,13 +11592,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11631,18 +11625,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 6768b4baf9..04a0018499 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11486,13 +11486,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11525,18 +11519,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index b8d005fb2d..8c78acbcd2 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11486,13 +11486,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11525,18 +11519,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 86712f6bc7..779b0993ac 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11472,13 +11472,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11511,18 +11505,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 13ef3bb3fc..2ee6be2148 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11514,13 +11514,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11553,18 +11547,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index ed6eb6f3f4..309af9e63f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11514,13 +11514,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11553,18 +11547,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 5a292e04c2..42f908443a 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11439,13 +11439,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11478,18 +11472,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId) diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 25c7f98771..f0298c080d 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -11507,13 +11507,7 @@ public class PlayerInstance extends Playable if (isTransformed() && !_transformSkills.isEmpty()) { // Include transformation skills and those skills that are allowed during transformation. - for (Skill skill : currentSkills) - { - if (!skill.allowOnTransform()) - { - currentSkills.remove(skill); - } - } + currentSkills = currentSkills.stream().filter(Skill::allowOnTransform).collect(Collectors.toList()); // Revelation skills. if (isDualClassActive()) @@ -11546,18 +11540,14 @@ public class PlayerInstance extends Playable currentSkills.addAll(_transformSkills.values()); } - for (Skill skill : currentSkills) - { - if ((skill == null) // - || skill.isBlockActionUseSkill() // Skills that are blocked from player use are not shown in skill list. - || SkillTreeData.getInstance().isAlchemySkill(skill.getId(), skill.getLevel()) // - || !skill.isDisplayInList()) - { - currentSkills.remove(skill); - } - } - - return currentSkills; + //@formatter:off + return currentSkills.stream() + .filter(Objects::nonNull) + .filter(s -> !s.isBlockActionUseSkill()) // Skills that are blocked from player use are not shown in skill list. + .filter(s -> !SkillTreeData.getInstance().isAlchemySkill(s.getId(), s.getLevel())) + .filter(s -> s.isDisplayInList()) + .collect(Collectors.toList()); + //@formatter:on } protected void startFeed(int npcId)