Removed most stream filter uses.

This commit is contained in:
MobiusDevelopment
2020-06-18 16:09:02 +00:00
parent c612ba62ca
commit cf0ee224f8
1223 changed files with 24696 additions and 7524 deletions

View File

@@ -802,7 +802,15 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
}
else
{
final ClassChangeData data = _classChangeData.stream().filter(ccd -> ccd.isInCategory(player)).findFirst().get();
ClassChangeData data = null;
for (ClassChangeData ccd : _classChangeData)
{
if (ccd.isInCategory(player))
{
data = ccd;
break;
}
}
if (data != null)
{
// Required items.
@@ -1100,11 +1108,35 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
private boolean checkIfClassChangeHasOptions(PlayerInstance player)
{
boolean showOptions = _classChangeData.stream().filter(ccd -> !ccd.getItemsRequired().isEmpty()).anyMatch(ccd -> ccd.isInCategory(player)); // Check if there are requirements
boolean showOptions = false;
// Check if there are requirements
for (ClassChangeData ccd : _classChangeData)
{
if (!ccd.getItemsRequired().isEmpty() && ccd.isInCategory(player))
{
showOptions = true;
break;
}
}
if (!showOptions)
{
showOptions = _classChangeData.stream().filter(ccd -> !ccd.getItemsRewarded().isEmpty()).filter(ccd -> ccd.isInCategory(player)).count() > 1; // Check if there is more than 1 reward to chose.
// Check if there is more than 1 reward to chose.
int count = 0;
for (ClassChangeData ccd : _classChangeData)
{
if (!ccd.getItemsRewarded().isEmpty() && ccd.isInCategory(player))
{
count++;
}
}
if (count > 1)
{
showOptions = true;
}
}
return showOptions;
}

View File

@@ -216,12 +216,15 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
return false;
}
final SellBuffHolder holder = player.getSellingBuffs().stream().filter(h -> (h.getSkillId() == skillToChange.getId())).findFirst().orElse(null);
if ((holder != null))
for (SellBuffHolder holder : player.getSellingBuffs())
{
player.sendMessage("Price of " + player.getKnownSkill(holder.getSkillId()).getName() + " has been changed to " + price + "!");
holder.setPrice(price);
SellBuffsManager.getInstance().sendBuffEditMenu(player);
if (holder.getSkillId() == skillToChange.getId())
{
player.sendMessage("Price of " + player.getKnownSkill(holder.getSkillId()).getName() + " has been changed to " + price + "!");
holder.setPrice(price);
SellBuffsManager.getInstance().sendBuffEditMenu(player);
break;
}
}
}
break;
@@ -250,11 +253,14 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
return false;
}
final SellBuffHolder holder = player.getSellingBuffs().stream().filter(h -> (h.getSkillId() == skillToRemove.getId())).findFirst().orElse(null);
if ((holder != null) && player.getSellingBuffs().remove(holder))
for (SellBuffHolder holder : player.getSellingBuffs())
{
player.sendMessage("Skill " + player.getKnownSkill(holder.getSkillId()).getName() + " has been removed!");
SellBuffsManager.getInstance().sendBuffEditMenu(player);
if ((holder.getSkillId() == skillToRemove.getId()) && player.getSellingBuffs().remove(holder))
{
player.sendMessage("Skill " + player.getKnownSkill(holder.getSkillId()).getName() + " has been removed!");
SellBuffsManager.getInstance().sendBuffEditMenu(player);
break;
}
}
}
break;
@@ -399,29 +405,33 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
return false;
}
final SellBuffHolder holder = seller.getSellingBuffs().stream().filter(h -> (h.getSkillId() == skillToBuy.getId())).findFirst().orElse(null);
if (holder != null)
for (SellBuffHolder holder : player.getSellingBuffs())
{
if (AbstractScript.getQuestItemsCount(player, Config.SELLBUFF_PAYMENT_ID) >= holder.getPrice())
if (holder.getSkillId() == skillToBuy.getId())
{
AbstractScript.takeItems(player, Config.SELLBUFF_PAYMENT_ID, holder.getPrice());
AbstractScript.giveItems(seller, Config.SELLBUFF_PAYMENT_ID, holder.getPrice());
seller.reduceCurrentMp(skillToBuy.getMpConsume() * Config.SELLBUFF_MP_MULTIPLER);
skillToBuy.activateSkill(seller, player);
}
else
{
final Item item = ItemTable.getInstance().getTemplate(Config.SELLBUFF_PAYMENT_ID);
if (item != null)
if (AbstractScript.getQuestItemsCount(player, Config.SELLBUFF_PAYMENT_ID) >= holder.getPrice())
{
player.sendMessage("Not enough " + item.getName() + "!");
AbstractScript.takeItems(player, Config.SELLBUFF_PAYMENT_ID, holder.getPrice());
AbstractScript.giveItems(seller, Config.SELLBUFF_PAYMENT_ID, holder.getPrice());
seller.reduceCurrentMp(skillToBuy.getMpConsume() * Config.SELLBUFF_MP_MULTIPLER);
skillToBuy.activateSkill(seller, player);
}
else
{
player.sendMessage("Not enough items!");
final Item item = ItemTable.getInstance().getTemplate(Config.SELLBUFF_PAYMENT_ID);
if (item != null)
{
player.sendMessage("Not enough " + item.getName() + "!");
}
else
{
player.sendMessage("Not enough items!");
}
}
break;
}
}
SellBuffsManager.getInstance().sendBuffMenu(player, seller, index);
}
break;

View File

@@ -297,7 +297,13 @@ public class AdminAdmin implements IAdminCommandHandler
}
final CreatureSay cs = new CreatureSay(activeChar, ChatType.WORLD, activeChar.getName(), sb.toString());
World.getInstance().getPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo);
for (PlayerInstance player : World.getInstance().getPlayers())
{
if (player.isNotBlocked(activeChar))
{
cs.sendTo(player);
}
}
break;
}
case "see":

View File

@@ -98,16 +98,34 @@ public class ChatWorld implements IChatHandler
{
if (activeChar.isGood())
{
World.getInstance().getAllGoodPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo);
for (PlayerInstance player : World.getInstance().getAllGoodPlayers())
{
if (player.isNotBlocked(activeChar))
{
cs.sendTo(player);
}
}
}
if (activeChar.isEvil())
{
World.getInstance().getAllEvilPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo);
for (PlayerInstance player : World.getInstance().getAllEvilPlayers())
{
if (player.isNotBlocked(activeChar))
{
cs.sendTo(player);
}
}
}
}
else
{
World.getInstance().getPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo);
for (PlayerInstance player : World.getInstance().getPlayers())
{
if (player.isNotBlocked(activeChar))
{
cs.sendTo(player);
}
}
}
activeChar.setWorldChatUsed(activeChar.getWorldChatUsed() + 1);

View File

@@ -218,16 +218,19 @@ public class HomeBoard implements IParseBoardHandler
{
continue;
}
targets.stream().filter(target -> !target.isSummon() || !skill.isSharedWithSummon()).forEach(target ->
for (Creature target : targets)
{
skill.applyEffects(player, target);
if (Config.COMMUNITYBOARD_CAST_ANIMATIONS)
if (skill.isSharedWithSummon() || target.isPlayer())
{
player.sendPacket(new MagicSkillUse(player, target, skill.getId(), skill.getLevel(), skill.getHitTime(), skill.getReuseDelay()));
// not recommend broadcast
// player.broadcastPacket(new MagicSkillUse(player, target, skill.getId(), skill.getLevel(), skill.getHitTime(), skill.getReuseDelay()));
skill.applyEffects(player, target);
if (Config.COMMUNITYBOARD_CAST_ANIMATIONS)
{
player.sendPacket(new MagicSkillUse(player, target, skill.getId(), skill.getLevel(), skill.getHitTime(), skill.getReuseDelay()));
// not recommend broadcast
// player.broadcastPacket(new MagicSkillUse(player, target, skill.getId(), skill.getLevel(), skill.getHitTime(), skill.getReuseDelay()));
}
}
});
}
}
}

View File

@@ -88,7 +88,13 @@ public class BossDailyMissionHandler extends AbstractDailyMissionHandler
{
final CommandChannel channel = party.getCommandChannel();
final List<PlayerInstance> members = channel != null ? channel.getMembers() : party.getMembers();
members.stream().filter(member -> member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE).forEach(this::processPlayerProgress);
for (PlayerInstance member : members)
{
if (member.calculateDistance3D(monster) <= Config.ALT_PARTY_RANGE)
{
processPlayerProgress(member);
}
}
}
else
{

View File

@@ -18,15 +18,14 @@ package handlers.effecthandlers;
import java.util.Collections;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.serverpackets.AbnormalStatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
@@ -94,19 +93,25 @@ public class AbnormalTimeChange extends AbstractEffect
{
if (_abnormals.isEmpty())
{
effected.getEffectList().getEffects().stream().filter(b -> b.getSkill().canBeDispelled()).forEach(b ->
for (BuffInfo info : effected.getEffectList().getEffects())
{
b.resetAbnormalTime(b.getTime() + _time);
asu.addSkill(b);
});
if (info.getSkill().canBeDispelled())
{
info.resetAbnormalTime(info.getTime() + _time);
asu.addSkill(info);
}
}
}
else
{
effected.getEffectList().getEffects().stream().filter(b -> b.getSkill().canBeDispelled() && _abnormals.contains(b.getSkill().getAbnormalType())).forEach(b ->
for (BuffInfo info : effected.getEffectList().getEffects())
{
b.resetAbnormalTime(b.getTime() + _time);
asu.addSkill(b);
});
if (info.getSkill().canBeDispelled() && _abnormals.contains(info.getSkill().getAbnormalType()))
{
info.resetAbnormalTime(info.getTime() + _time);
asu.addSkill(info);
}
}
}
break;
}
@@ -114,19 +119,25 @@ public class AbnormalTimeChange extends AbstractEffect
{
if (_abnormals.isEmpty())
{
effected.getEffectList().getDebuffs().stream().filter(b -> b.getSkill().canBeDispelled()).forEach(b ->
for (BuffInfo info : effected.getEffectList().getDebuffs())
{
b.resetAbnormalTime(b.getAbnormalTime());
asu.addSkill(b);
});
if (info.getSkill().canBeDispelled())
{
info.resetAbnormalTime(info.getAbnormalTime());
asu.addSkill(info);
}
}
}
else
{
effected.getEffectList().getDebuffs().stream().filter(b -> b.getSkill().canBeDispelled() && _abnormals.contains(b.getSkill().getAbnormalType())).forEach(b ->
for (BuffInfo info : effected.getEffectList().getDebuffs())
{
b.resetAbnormalTime(b.getAbnormalTime());
asu.addSkill(b);
});
if (info.getSkill().canBeDispelled() && _abnormals.contains(info.getSkill().getAbnormalType()))
{
info.resetAbnormalTime(info.getAbnormalTime());
asu.addSkill(info);
}
}
}
break;
}
@@ -135,14 +146,13 @@ public class AbnormalTimeChange extends AbstractEffect
effected.sendPacket(asu);
final ExAbnormalStatusUpdateFromTarget upd = new ExAbnormalStatusUpdateFromTarget(effected);
// @formatter:off
effected.getStatus().getStatusListener().stream()
.filter(Objects::nonNull)
.filter(WorldObject::isPlayer)
.map(Creature::getActingPlayer)
.forEach(upd::sendTo);
// @formatter:on
for (Creature creature : effected.getStatus().getStatusListener())
{
if ((creature != null) && creature.isPlayer())
{
upd.sendTo(creature.getActingPlayer());
}
}
if (effected.isPlayer() && (effected.getTarget() == effected))
{

View File

@@ -52,7 +52,13 @@ public class CallTargetParty extends AbstractEffect
final Party party = player.getParty();
if (party != null)
{
party.getMembers().stream().filter(p -> (p != player) && CallPc.checkSummonTargetStatus(p, effector)).forEach(p -> p.teleToLocation(player.getLocation(), true));
for (PlayerInstance member : party.getMembers())
{
if ((member != player) && CallPc.checkSummonTargetStatus(member, effector))
{
member.teleToLocation(player.getLocation(), true);
}
}
}
}
}

View File

@@ -173,7 +173,13 @@ public class SummonNpc extends AbstractEffect
// If only single instance is allowed, delete previous NPCs.
if (_singleInstance)
{
player.getSummonedNpcs().stream().filter(npc -> npc.getId() == _npcId).forEach(Npc::deleteMe);
for (Npc npc : player.getSummonedNpcs())
{
if (npc.getId() == _npcId)
{
npc.deleteMe();
}
}
}
final Npc npc = spawn.doSpawn(_isSummonSpawn);

View File

@@ -93,13 +93,19 @@ public class Synergy extends AbstractEffect
}
}
final int abnormalCount = (int) _optionalSlots.stream().filter(effector::hasAbnormalType).count();
int abnormalCount = 0;
for (AbnormalType abnormalType : _optionalSlots)
{
if (effector.hasAbnormalType(abnormalType))
{
abnormalCount++;
}
}
if (abnormalCount >= _minSlot)
{
final SkillHolder partyBuff = new SkillHolder(_partyBuffSkillId, Math.min(abnormalCount - 1, _skillLevelScaleTo));
final Skill partyBuffSkill = partyBuff.getSkill();
if (partyBuffSkill != null)
{
final WorldObject target = partyBuffSkill.getTarget(effector, effected, false, false, false);

View File

@@ -20,6 +20,8 @@ import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.effects.EffectType;
import org.l2jmobius.gameserver.model.interfaces.ILocational;
@@ -59,13 +61,24 @@ public class TeleportToNpc extends AbstractEffect
@Override
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
{
final ILocational teleLocation = effector.getSummonedNpcs().stream().filter(npc -> npc.getId() == _npcId).findAny().orElse(null);
ILocational teleLocation = null;
for (Npc npc : effector.getSummonedNpcs())
{
if (npc.getId() == _npcId)
{
teleLocation = npc;
}
}
if (teleLocation != null)
{
final Party party = effected.getParty();
if (_party && (party != null))
{
party.getMembers().forEach(p -> teleport(p, teleLocation));
for (PlayerInstance member : party.getMembers())
{
teleport(member, teleLocation);
}
}
else
{

View File

@@ -16,8 +16,8 @@
*/
package handlers.itemhandlers;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.l2jmobius.gameserver.enums.ItemSkillType;
import org.l2jmobius.gameserver.enums.ShotType;
@@ -60,7 +60,15 @@ public class BeastSoulShot implements IItemHandler
return false;
}
final List<Summon> aliveServitor = playable.getServitors().values().stream().filter(s -> !s.isDead()).collect(Collectors.toList());
final List<Summon> aliveServitor = new ArrayList<>();
for (Summon s : playable.getServitors().values())
{
if (!s.isDead())
{
aliveServitor.add(s);
}
}
if ((pet == null) && aliveServitor.isEmpty())
{
activeOwner.sendPacket(SystemMessageId.SOULSHOTS_AND_SPIRITSHOTS_ARE_NOT_AVAILABLE_FOR_A_DEAD_PET_OR_SERVITOR_SAD_ISN_T_IT);

View File

@@ -16,8 +16,8 @@
*/
package handlers.itemhandlers;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.l2jmobius.gameserver.enums.ItemSkillType;
import org.l2jmobius.gameserver.enums.ShotType;
@@ -60,7 +60,15 @@ public class BeastSpiritShot implements IItemHandler
return false;
}
final List<Summon> aliveServitor = playable.getServitors().values().stream().filter(s -> !s.isDead()).collect(Collectors.toList());
final List<Summon> aliveServitor = new ArrayList<>();
for (Summon s : playable.getServitors().values())
{
if (!s.isDead())
{
aliveServitor.add(s);
}
}
if ((pet == null) && aliveServitor.isEmpty())
{
activeOwner.sendPacket(SystemMessageId.SOULSHOTS_AND_SPIRITSHOTS_ARE_NOT_AVAILABLE_FOR_A_DEAD_PET_OR_SERVITOR_SAD_ISN_T_IT);

View File

@@ -18,6 +18,7 @@ package handlers.playeractions;
import org.l2jmobius.gameserver.handler.IPlayerActionHandler;
import org.l2jmobius.gameserver.model.ActionDataHolder;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.SystemMessageId;
@@ -32,7 +33,13 @@ public class ServitorAttack implements IPlayerActionHandler
{
if (player.hasServitors())
{
player.getServitors().values().stream().filter(s -> s.canAttack(player.getTarget(), ctrlPressed)).forEach(s -> s.doAttack(player.getTarget()));
for (Summon summon : player.getServitors().values())
{
if (summon.canAttack(player.getTarget(), ctrlPressed))
{
summon.doAttack(player.getTarget());
}
}
}
else
{

View File

@@ -19,6 +19,7 @@ package handlers.playeractions;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.handler.IPlayerActionHandler;
import org.l2jmobius.gameserver.model.ActionDataHolder;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.SystemMessageId;
@@ -39,17 +40,20 @@ public class ServitorMove implements IPlayerActionHandler
if (player.getTarget() != null)
{
player.getServitors().values().stream().filter(s -> (s != player.getTarget()) && !s.isMovementDisabled()).forEach(s ->
for (Summon summon : player.getServitors().values())
{
if (s.isBetrayed())
if ((summon != player.getTarget()) && !summon.isMovementDisabled())
{
player.sendPacket(SystemMessageId.YOUR_PET_SERVITOR_IS_UNRESPONSIVE_AND_WILL_NOT_OBEY_ANY_ORDERS);
return;
if (summon.isBetrayed())
{
player.sendPacket(SystemMessageId.YOUR_PET_SERVITOR_IS_UNRESPONSIVE_AND_WILL_NOT_OBEY_ANY_ORDERS);
return;
}
summon.setFollowStatus(false);
summon.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, player.getTarget().getLocation());
}
s.setFollowStatus(false);
s.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, player.getTarget().getLocation());
});
}
}
}
}