From 03b65b170bd26c92472fe421591e06c5ecbede0c Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sun, 8 Jan 2023 11:57:48 +0000 Subject: [PATCH] Removed stream usage from ExCollectionInfo serverpacket. --- .../collection/ExCollectionInfo.java | 72 ++++++++++-------- .../collection/ExCollectionInfo.java | 74 +++++++++++-------- .../collection/ExCollectionInfo.java | 74 +++++++++++-------- .../collection/ExCollectionInfo.java | 72 ++++++++++-------- .../collection/ExCollectionInfo.java | 74 +++++++++++-------- .../collection/ExCollectionInfo.java | 74 +++++++++++-------- 6 files changed, 262 insertions(+), 178 deletions(-) diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java index 6749f885bd..977af8534c 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.network.serverpackets.collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.l2jmobius.gameserver.data.xml.CollectionData; import org.l2jmobius.gameserver.model.actor.Player; @@ -27,55 +28,68 @@ import org.l2jmobius.gameserver.network.ServerPackets; import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; /** - * Written by Berezkin Nikolay, on 12.04.2021 + * @author Berezkin Nikolay, Mobius */ public class ExCollectionInfo extends ServerPacket { - final Player _Player; - final List _categoryList; - final Set _collections; - final List _favoriteList; + final Player _player; final int _category; + final Set _collectionIds = new HashSet<>(); + final List _favoriteIds; public ExCollectionInfo(Player player, int category) { - _Player = player; - _categoryList = player.getCollections().stream().filter(it -> CollectionData.getInstance().getCollection(it.getCollectionId()).getCategory() == category).collect(Collectors.toList()); - _collections = _categoryList.stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()); - _favoriteList = player.getCollectionFavorites(); + _player = player; _category = category; + for (PlayerCollectionData collection : player.getCollections()) + { + if (CollectionData.getInstance().getCollection(collection.getCollectionId()).getCategory() == category) + { + _collectionIds.add(collection.getCollectionId()); + } + } + _favoriteIds = player.getCollectionFavorites(); } @Override public void write() { ServerPackets.EX_COLLECTION_INFO.writeId(this); - writeInt(_collections.size()); // size - for (Integer collection : _collections) + writeInt(_collectionIds.size()); // size + final List currentCollection = new LinkedList<>(); + for (int id : _collectionIds) { - final List collectionCurrent = _categoryList.stream().filter(it -> it.getCollectionId() == collection).collect(Collectors.toList()); - writeInt(collectionCurrent.size()); - for (PlayerCollectionData current : collectionCurrent) + currentCollection.clear(); + for (PlayerCollectionData collection : _player.getCollections()) { - writeByte(current.getIndex()); - writeInt(current.getItemId()); - writeShort(CollectionData.getInstance().getCollection(collection).getItems().get(current.getIndex()).getEnchantLevel()); // enchant level - writeByte(0); // unk flag for item - writeInt(1); // count + if (collection.getCollectionId() == id) + { + currentCollection.add(collection); + } } - writeShort(collection); + + writeInt(currentCollection.size()); + for (PlayerCollectionData collection : currentCollection) + { + writeByte(collection.getIndex()); + writeInt(collection.getItemId()); + writeShort(CollectionData.getInstance().getCollection(id).getItems().get(collection.getIndex()).getEnchantLevel()); // enchant level + writeByte(0); // bless + writeInt(1); // amount + } + writeShort(id); } - writeInt(_favoriteList.size()); // favourite size - for (int favoriteCollection : _favoriteList) + + // favoriteList + writeInt(_favoriteIds.size()); + for (int id : _favoriteIds) { - writeShort(favoriteCollection); + writeShort(id); } + + // rewardList writeInt(0); - // loop unk - // 1 h - // d - // h - // loop end + writeByte(_category); writeShort(0); } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java index e55c2606d7..cfd72dec95 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.network.serverpackets.collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.l2jmobius.gameserver.data.xml.CollectionData; import org.l2jmobius.gameserver.model.actor.Player; @@ -27,56 +28,69 @@ import org.l2jmobius.gameserver.network.ServerPackets; import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; /** - * @author Berezkin Nikolay + * @author Berezkin Nikolay, Mobius */ public class ExCollectionInfo extends ServerPacket { - final Player _Player; - final List _categoryList; - final Set _collections; - final List _favoriteList; + final Player _player; final int _category; + final Set _collectionIds = new HashSet<>(); + final List _favoriteIds; public ExCollectionInfo(Player player, int category) { - _Player = player; - _categoryList = player.getCollections().stream().filter(it -> CollectionData.getInstance().getCollection(it.getCollectionId()).getCategory() == category).collect(Collectors.toList()); - _collections = _categoryList.stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()); - _favoriteList = player.getCollectionFavorites(); + _player = player; _category = category; + for (PlayerCollectionData collection : player.getCollections()) + { + if (CollectionData.getInstance().getCollection(collection.getCollectionId()).getCategory() == category) + { + _collectionIds.add(collection.getCollectionId()); + } + } + _favoriteIds = player.getCollectionFavorites(); } @Override public void write() { ServerPackets.EX_COLLECTION_INFO.writeId(this); - writeInt(_collections.size()); // size - for (Integer collection : _collections) + writeInt(_collectionIds.size()); // size + final List currentCollection = new LinkedList<>(); + for (int id : _collectionIds) { - final List collectionCurrent = _categoryList.stream().filter(it -> it.getCollectionId() == collection).collect(Collectors.toList()); - writeInt(collectionCurrent.size()); - for (PlayerCollectionData current : collectionCurrent) + currentCollection.clear(); + for (PlayerCollectionData collection : _player.getCollections()) { - writeByte(current.getIndex()); - writeInt(current.getItemId()); - writeByte(CollectionData.getInstance().getCollection(collection).getItems().get(current.getIndex()).getEnchantLevel()); // enchant level - writeByte(0); // unk flag for item - writeByte(0); // unk flag for item - writeInt(1); // count + if (collection.getCollectionId() == id) + { + currentCollection.add(collection); + } } - writeShort(collection); + + writeInt(currentCollection.size()); + for (PlayerCollectionData collection : currentCollection) + { + writeByte(collection.getIndex()); + writeInt(collection.getItemId()); + writeByte(CollectionData.getInstance().getCollection(id).getItems().get(collection.getIndex()).getEnchantLevel()); // enchant level + writeByte(0); // bless + writeByte(0); // bless Condition + writeInt(1); // amount + } + writeShort(id); } - writeInt(_favoriteList.size()); // favourite size - for (int favoriteCollection : _favoriteList) + + // favoriteList + writeInt(_favoriteIds.size()); + for (int id : _favoriteIds) { - writeShort(favoriteCollection); + writeShort(id); } + + // rewardList writeInt(0); - // loop unk - // 1 h - // d - // h - // loop end + writeByte(_category); writeShort(0); } diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java index e55c2606d7..cfd72dec95 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.network.serverpackets.collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.l2jmobius.gameserver.data.xml.CollectionData; import org.l2jmobius.gameserver.model.actor.Player; @@ -27,56 +28,69 @@ import org.l2jmobius.gameserver.network.ServerPackets; import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; /** - * @author Berezkin Nikolay + * @author Berezkin Nikolay, Mobius */ public class ExCollectionInfo extends ServerPacket { - final Player _Player; - final List _categoryList; - final Set _collections; - final List _favoriteList; + final Player _player; final int _category; + final Set _collectionIds = new HashSet<>(); + final List _favoriteIds; public ExCollectionInfo(Player player, int category) { - _Player = player; - _categoryList = player.getCollections().stream().filter(it -> CollectionData.getInstance().getCollection(it.getCollectionId()).getCategory() == category).collect(Collectors.toList()); - _collections = _categoryList.stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()); - _favoriteList = player.getCollectionFavorites(); + _player = player; _category = category; + for (PlayerCollectionData collection : player.getCollections()) + { + if (CollectionData.getInstance().getCollection(collection.getCollectionId()).getCategory() == category) + { + _collectionIds.add(collection.getCollectionId()); + } + } + _favoriteIds = player.getCollectionFavorites(); } @Override public void write() { ServerPackets.EX_COLLECTION_INFO.writeId(this); - writeInt(_collections.size()); // size - for (Integer collection : _collections) + writeInt(_collectionIds.size()); // size + final List currentCollection = new LinkedList<>(); + for (int id : _collectionIds) { - final List collectionCurrent = _categoryList.stream().filter(it -> it.getCollectionId() == collection).collect(Collectors.toList()); - writeInt(collectionCurrent.size()); - for (PlayerCollectionData current : collectionCurrent) + currentCollection.clear(); + for (PlayerCollectionData collection : _player.getCollections()) { - writeByte(current.getIndex()); - writeInt(current.getItemId()); - writeByte(CollectionData.getInstance().getCollection(collection).getItems().get(current.getIndex()).getEnchantLevel()); // enchant level - writeByte(0); // unk flag for item - writeByte(0); // unk flag for item - writeInt(1); // count + if (collection.getCollectionId() == id) + { + currentCollection.add(collection); + } } - writeShort(collection); + + writeInt(currentCollection.size()); + for (PlayerCollectionData collection : currentCollection) + { + writeByte(collection.getIndex()); + writeInt(collection.getItemId()); + writeByte(CollectionData.getInstance().getCollection(id).getItems().get(collection.getIndex()).getEnchantLevel()); // enchant level + writeByte(0); // bless + writeByte(0); // bless Condition + writeInt(1); // amount + } + writeShort(id); } - writeInt(_favoriteList.size()); // favourite size - for (int favoriteCollection : _favoriteList) + + // favoriteList + writeInt(_favoriteIds.size()); + for (int id : _favoriteIds) { - writeShort(favoriteCollection); + writeShort(id); } + + // rewardList writeInt(0); - // loop unk - // 1 h - // d - // h - // loop end + writeByte(_category); writeShort(0); } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java index 6749f885bd..977af8534c 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.network.serverpackets.collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.l2jmobius.gameserver.data.xml.CollectionData; import org.l2jmobius.gameserver.model.actor.Player; @@ -27,55 +28,68 @@ import org.l2jmobius.gameserver.network.ServerPackets; import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; /** - * Written by Berezkin Nikolay, on 12.04.2021 + * @author Berezkin Nikolay, Mobius */ public class ExCollectionInfo extends ServerPacket { - final Player _Player; - final List _categoryList; - final Set _collections; - final List _favoriteList; + final Player _player; final int _category; + final Set _collectionIds = new HashSet<>(); + final List _favoriteIds; public ExCollectionInfo(Player player, int category) { - _Player = player; - _categoryList = player.getCollections().stream().filter(it -> CollectionData.getInstance().getCollection(it.getCollectionId()).getCategory() == category).collect(Collectors.toList()); - _collections = _categoryList.stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()); - _favoriteList = player.getCollectionFavorites(); + _player = player; _category = category; + for (PlayerCollectionData collection : player.getCollections()) + { + if (CollectionData.getInstance().getCollection(collection.getCollectionId()).getCategory() == category) + { + _collectionIds.add(collection.getCollectionId()); + } + } + _favoriteIds = player.getCollectionFavorites(); } @Override public void write() { ServerPackets.EX_COLLECTION_INFO.writeId(this); - writeInt(_collections.size()); // size - for (Integer collection : _collections) + writeInt(_collectionIds.size()); // size + final List currentCollection = new LinkedList<>(); + for (int id : _collectionIds) { - final List collectionCurrent = _categoryList.stream().filter(it -> it.getCollectionId() == collection).collect(Collectors.toList()); - writeInt(collectionCurrent.size()); - for (PlayerCollectionData current : collectionCurrent) + currentCollection.clear(); + for (PlayerCollectionData collection : _player.getCollections()) { - writeByte(current.getIndex()); - writeInt(current.getItemId()); - writeShort(CollectionData.getInstance().getCollection(collection).getItems().get(current.getIndex()).getEnchantLevel()); // enchant level - writeByte(0); // unk flag for item - writeInt(1); // count + if (collection.getCollectionId() == id) + { + currentCollection.add(collection); + } } - writeShort(collection); + + writeInt(currentCollection.size()); + for (PlayerCollectionData collection : currentCollection) + { + writeByte(collection.getIndex()); + writeInt(collection.getItemId()); + writeShort(CollectionData.getInstance().getCollection(id).getItems().get(collection.getIndex()).getEnchantLevel()); // enchant level + writeByte(0); // bless + writeInt(1); // amount + } + writeShort(id); } - writeInt(_favoriteList.size()); // favourite size - for (int favoriteCollection : _favoriteList) + + // favoriteList + writeInt(_favoriteIds.size()); + for (int id : _favoriteIds) { - writeShort(favoriteCollection); + writeShort(id); } + + // rewardList writeInt(0); - // loop unk - // 1 h - // d - // h - // loop end + writeByte(_category); writeShort(0); } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java index e55c2606d7..cfd72dec95 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.network.serverpackets.collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.l2jmobius.gameserver.data.xml.CollectionData; import org.l2jmobius.gameserver.model.actor.Player; @@ -27,56 +28,69 @@ import org.l2jmobius.gameserver.network.ServerPackets; import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; /** - * @author Berezkin Nikolay + * @author Berezkin Nikolay, Mobius */ public class ExCollectionInfo extends ServerPacket { - final Player _Player; - final List _categoryList; - final Set _collections; - final List _favoriteList; + final Player _player; final int _category; + final Set _collectionIds = new HashSet<>(); + final List _favoriteIds; public ExCollectionInfo(Player player, int category) { - _Player = player; - _categoryList = player.getCollections().stream().filter(it -> CollectionData.getInstance().getCollection(it.getCollectionId()).getCategory() == category).collect(Collectors.toList()); - _collections = _categoryList.stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()); - _favoriteList = player.getCollectionFavorites(); + _player = player; _category = category; + for (PlayerCollectionData collection : player.getCollections()) + { + if (CollectionData.getInstance().getCollection(collection.getCollectionId()).getCategory() == category) + { + _collectionIds.add(collection.getCollectionId()); + } + } + _favoriteIds = player.getCollectionFavorites(); } @Override public void write() { ServerPackets.EX_COLLECTION_INFO.writeId(this); - writeInt(_collections.size()); // size - for (Integer collection : _collections) + writeInt(_collectionIds.size()); // size + final List currentCollection = new LinkedList<>(); + for (int id : _collectionIds) { - final List collectionCurrent = _categoryList.stream().filter(it -> it.getCollectionId() == collection).collect(Collectors.toList()); - writeInt(collectionCurrent.size()); - for (PlayerCollectionData current : collectionCurrent) + currentCollection.clear(); + for (PlayerCollectionData collection : _player.getCollections()) { - writeByte(current.getIndex()); - writeInt(current.getItemId()); - writeByte(CollectionData.getInstance().getCollection(collection).getItems().get(current.getIndex()).getEnchantLevel()); // enchant level - writeByte(0); // unk flag for item - writeByte(0); // unk flag for item - writeInt(1); // count + if (collection.getCollectionId() == id) + { + currentCollection.add(collection); + } } - writeShort(collection); + + writeInt(currentCollection.size()); + for (PlayerCollectionData collection : currentCollection) + { + writeByte(collection.getIndex()); + writeInt(collection.getItemId()); + writeByte(CollectionData.getInstance().getCollection(id).getItems().get(collection.getIndex()).getEnchantLevel()); // enchant level + writeByte(0); // bless + writeByte(0); // bless Condition + writeInt(1); // amount + } + writeShort(id); } - writeInt(_favoriteList.size()); // favourite size - for (int favoriteCollection : _favoriteList) + + // favoriteList + writeInt(_favoriteIds.size()); + for (int id : _favoriteIds) { - writeShort(favoriteCollection); + writeShort(id); } + + // rewardList writeInt(0); - // loop unk - // 1 h - // d - // h - // loop end + writeByte(_category); writeShort(0); } diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java index e55c2606d7..cfd72dec95 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/network/serverpackets/collection/ExCollectionInfo.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.network.serverpackets.collection; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; import org.l2jmobius.gameserver.data.xml.CollectionData; import org.l2jmobius.gameserver.model.actor.Player; @@ -27,56 +28,69 @@ import org.l2jmobius.gameserver.network.ServerPackets; import org.l2jmobius.gameserver.network.serverpackets.ServerPacket; /** - * @author Berezkin Nikolay + * @author Berezkin Nikolay, Mobius */ public class ExCollectionInfo extends ServerPacket { - final Player _Player; - final List _categoryList; - final Set _collections; - final List _favoriteList; + final Player _player; final int _category; + final Set _collectionIds = new HashSet<>(); + final List _favoriteIds; public ExCollectionInfo(Player player, int category) { - _Player = player; - _categoryList = player.getCollections().stream().filter(it -> CollectionData.getInstance().getCollection(it.getCollectionId()).getCategory() == category).collect(Collectors.toList()); - _collections = _categoryList.stream().map(PlayerCollectionData::getCollectionId).collect(Collectors.toSet()); - _favoriteList = player.getCollectionFavorites(); + _player = player; _category = category; + for (PlayerCollectionData collection : player.getCollections()) + { + if (CollectionData.getInstance().getCollection(collection.getCollectionId()).getCategory() == category) + { + _collectionIds.add(collection.getCollectionId()); + } + } + _favoriteIds = player.getCollectionFavorites(); } @Override public void write() { ServerPackets.EX_COLLECTION_INFO.writeId(this); - writeInt(_collections.size()); // size - for (Integer collection : _collections) + writeInt(_collectionIds.size()); // size + final List currentCollection = new LinkedList<>(); + for (int id : _collectionIds) { - final List collectionCurrent = _categoryList.stream().filter(it -> it.getCollectionId() == collection).collect(Collectors.toList()); - writeInt(collectionCurrent.size()); - for (PlayerCollectionData current : collectionCurrent) + currentCollection.clear(); + for (PlayerCollectionData collection : _player.getCollections()) { - writeByte(current.getIndex()); - writeInt(current.getItemId()); - writeByte(CollectionData.getInstance().getCollection(collection).getItems().get(current.getIndex()).getEnchantLevel()); // enchant level - writeByte(0); // unk flag for item - writeByte(0); // unk flag for item - writeInt(1); // count + if (collection.getCollectionId() == id) + { + currentCollection.add(collection); + } } - writeShort(collection); + + writeInt(currentCollection.size()); + for (PlayerCollectionData collection : currentCollection) + { + writeByte(collection.getIndex()); + writeInt(collection.getItemId()); + writeByte(CollectionData.getInstance().getCollection(id).getItems().get(collection.getIndex()).getEnchantLevel()); // enchant level + writeByte(0); // bless + writeByte(0); // bless Condition + writeInt(1); // amount + } + writeShort(id); } - writeInt(_favoriteList.size()); // favourite size - for (int favoriteCollection : _favoriteList) + + // favoriteList + writeInt(_favoriteIds.size()); + for (int id : _favoriteIds) { - writeShort(favoriteCollection); + writeShort(id); } + + // rewardList writeInt(0); - // loop unk - // 1 h - // d - // h - // loop end + writeByte(_category); writeShort(0); }