From 9048735b732f53eca31994b5b419e5c9198c903b Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 7 Aug 2019 01:57:06 +0000 Subject: [PATCH] Replaced several CopyOnWriteArrayList occurrences with ConcurrentHashMap.newKeySet(). --- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../l2jmobius/gameserver/model/clan/Clan.java | 3 +- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../l2jmobius/gameserver/model/clan/Clan.java | 3 +- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/RaceManagerInstance.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../l2jmobius/gameserver/model/clan/Clan.java | 3 +- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../game/data/scripts/ai/bosses/Antharas.java | 8 ++--- .../game/data/scripts/ai/bosses/Core.java | 9 +++--- .../data/scripts/ai/bosses/Frintezza.java | 21 +++++++------ .../game/data/scripts/ai/bosses/Gustav.java | 6 ++-- .../data/scripts/ai/bosses/IceFairySirra.java | 6 ++-- .../game/data/scripts/ai/bosses/Nurka.java | 6 ++-- .../data/scripts/ai/bosses/VanHalter.java | 30 +++++++++---------- .../Manager/ForumsBBSManager.java | 8 ++--- .../instancemanager/GrandBossManager.java | 5 ++-- .../gameserver/model/CommandChannel.java | 8 +++-- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../thread/daemons/ItemsAutoDestroy.java | 8 ++--- .../loginserver/LoginController.java | 4 +-- .../scripts/ai/areas/FantasyIsle/Parade.java | 5 ++-- .../areas/ForgeOfTheGods/TarBeetleSpawn.java | 5 ++-- .../AI/Zones/TowerOfNaia/TowerOfNaia.java | 9 +++--- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/bosses/Orfen/Orfen.java | 6 ++-- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../SteelCitadelTeleport.java | 2 +- .../AdminTerritoryWar.java | 4 +-- .../scripts/instances/AbstractInstance.java | 4 +-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 11 +++---- .../instancemanager/ItemsOnGroundManager.java | 6 ++-- .../instancemanager/MapRegionManager.java | 15 +++++----- .../instancemanager/MercTicketManager.java | 8 ++--- .../instancemanager/TerritoryWarManager.java | 10 ++++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../model/PartyMatchWaitingList.java | 10 +++---- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../l2jmobius/gameserver/model/SiegeClan.java | 8 ++--- .../org/l2jmobius/gameserver/model/Spawn.java | 6 ++-- .../gameserver/model/actor/Vehicle.java | 8 ++--- .../actor/instance/ControlTowerInstance.java | 10 +++---- .../model/actor/instance/PlayerInstance.java | 17 +++++------ .../actor/instance/TamedBeastInstance.java | 8 ++--- .../model/entity/BlockCheckerEngine.java | 7 ++--- .../model/entity/DimensionalRift.java | 11 +++---- .../gameserver/model/entity/Duel.java | 2 +- .../gameserver/model/entity/Fort.java | 8 ++--- .../gameserver/model/entity/FortSiege.java | 14 +++++---- .../gameserver/model/entity/GameEvent.java | 3 +- .../gameserver/model/entity/Siegable.java | 5 ++-- .../gameserver/model/entity/Siege.java | 18 ++++++----- .../entity/clanhall/ClanHallSiegeEngine.java | 5 ++-- .../model/events/AbstractScript.java | 7 ++--- .../gameserver/model/holders/MovieHolder.java | 8 ++--- .../model/holders/PlayerEventHolder.java | 8 ++--- .../model/instancezone/Instance.java | 17 +++++------ .../model/instancezone/InstanceWorld.java | 3 +- .../gameserver/model/stats/Formulas.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../serverpackets/ExShowOwnthingPos.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../instances/MonsterArena/MonsterArena.java | 6 ++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../instances/MonsterArena/MonsterArena.java | 6 ++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../instances/MonsterArena/MonsterArena.java | 6 ++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- .../data/scripts/ai/bosses/Core/Core.java | 8 ++--- .../data/scripts/ai/others/SiegeGuards.java | 6 ++-- .../custom/events/Rabbits/Rabbits.java | 7 +++-- .../data/scripts/custom/events/Race/Race.java | 7 +++-- .../instances/MonsterArena/MonsterArena.java | 6 ++-- .../l2jmobius/commons/util/IXmlReader.java | 5 ++-- .../gameserver/communitybbs/BB/Forum.java | 9 +++--- .../gameserver/communitybbs/BB/Post.java | 10 +++---- .../Manager/ForumsBBSManager.java | 8 ++--- .../communitybbs/Manager/TopicBBSManager.java | 5 ++-- .../gameserver/data/xml/impl/NpcData.java | 6 ++-- .../gameserver/data/xml/impl/SpawnsData.java | 11 +++---- .../gameserver/datatables/EventDroplist.java | 5 ++-- .../gameserver/engines/DocumentEngine.java | 9 +++--- .../gameserver/model/CommandChannel.java | 7 +++-- .../l2jmobius/gameserver/model/Petition.java | 8 ++--- .../actor/instance/ServitorInstance.java | 4 ++- .../actor/instance/TamedBeastInstance.java | 8 ++--- .../gameserver/model/entity/Siegable.java | 2 +- .../gameserver/model/entity/Siege.java | 15 +++++----- .../gameserver/model/holders/MovieHolder.java | 7 +++-- .../matching/CommandChannelMatchingRoom.java | 2 +- .../ExMultiPartyCommandChannelInfo.java | 4 +-- .../gameserver/taskmanager/TaskManager.java | 5 ++-- .../loginserver/GameServerListener.java | 6 ++-- 395 files changed, 1430 insertions(+), 1315 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 3caff199ef..ecf8f48039 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siege.java index 6b3682cfd0..aa1e304d71 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 3caff199ef..ecf8f48039 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siege.java index cb10573dfb..4b9c106711 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 3caff199ef..ecf8f48039 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siege.java index cb10573dfb..4b9c106711 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 3caff199ef..ecf8f48039 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siege.java index cb10573dfb..4b9c106711 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 517c99a78d..01c48229d7 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/clan/Clan.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/clan/Clan.java index 4dfccaed02..dd8dcd354e 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/clan/Clan.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/clan/Clan.java @@ -27,7 +27,6 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; @@ -156,7 +155,7 @@ public class Clan implements IIdentifiable, INamable private ClanRewardBonus _lastMembersOnlineBonus = null; private ClanRewardBonus _lastHuntingBonus = null; - private final List> masterySkillTasks = new CopyOnWriteArrayList<>(); + private final Collection> masterySkillTasks = ConcurrentHashMap.newKeySet(); private volatile ClanVariables _vars; diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siege.java index 297231e8f8..0e1d896ca4 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 3caff199ef..ecf8f48039 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/clan/Clan.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/clan/Clan.java index 4dfccaed02..dd8dcd354e 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/clan/Clan.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/clan/Clan.java @@ -27,7 +27,6 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; @@ -156,7 +155,7 @@ public class Clan implements IIdentifiable, INamable private ClanRewardBonus _lastMembersOnlineBonus = null; private ClanRewardBonus _lastHuntingBonus = null; - private final List> masterySkillTasks = new CopyOnWriteArrayList<>(); + private final Collection> masterySkillTasks = ConcurrentHashMap.newKeySet(); private volatile ClanVariables _vars; diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siege.java index cb10573dfb..4b9c106711 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index bd74911473..ed1264bd01 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/SiegeGuards.java index 4498c03551..43b05d2d53 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index bd8e4334d1..5fc9a3e4a0 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java index 3caff199ef..ecf8f48039 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/RaceManagerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -45,7 +45,7 @@ public class RaceManagerInstance extends Npc public static final int LANES = 8; public static final int WINDOW_START = 0; - private static List _managers; + private static Collection _managers; protected static int _raceNumber = 4; // Time Constants @@ -104,7 +104,7 @@ public class RaceManagerInstance extends Npc { _notInitialized = false; - _managers = new CopyOnWriteArrayList<>(); + _managers = ConcurrentHashMap.newKeySet(); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); ThreadPool.scheduleAtFixedRate(new Announcement(SystemMessageId.NOW_SELLING_TICKETS_FOR_MONSTER_RACE_S1), 30 * SECOND, 10 * MINUTE); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/clan/Clan.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/clan/Clan.java index 4dfccaed02..dd8dcd354e 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/clan/Clan.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/clan/Clan.java @@ -27,7 +27,6 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; @@ -156,7 +155,7 @@ public class Clan implements IIdentifiable, INamable private ClanRewardBonus _lastMembersOnlineBonus = null; private ClanRewardBonus _lastHuntingBonus = null; - private final List> masterySkillTasks = new CopyOnWriteArrayList<>(); + private final Collection> masterySkillTasks = ConcurrentHashMap.newKeySet(); private volatile ClanVariables _vars; diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siege.java index cb10573dfb..4b9c106711 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java index d425f0c6de..012e629b3c 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java @@ -17,10 +17,8 @@ package ai.bosses; import java.util.Collection; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -88,14 +86,14 @@ public class Antharas extends Quest } }; - protected List _teleportCubeSpawn = new CopyOnWriteArrayList<>(); - protected List _teleportCube = new CopyOnWriteArrayList<>(); + protected Collection _teleportCubeSpawn = ConcurrentHashMap.newKeySet(); + protected Collection _teleportCube = ConcurrentHashMap.newKeySet(); // Spawn data of monsters. protected Map _monsterSpawn = new ConcurrentHashMap<>(); // Instance of monsters. - protected List _monsters = new CopyOnWriteArrayList<>(); + protected Collection _monsters = ConcurrentHashMap.newKeySet(); protected GrandBossInstance _antharas = null; // monstersId diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Core.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Core.java index ac18896616..82357533b7 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Core.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.Rnd; @@ -77,7 +77,7 @@ public class Core extends Quest private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); public Core(int id, String name, String descr) { @@ -182,9 +182,8 @@ public class Core extends Quest } else if (event.equals("despawn_minions")) { - for (int i = 0; i < _minions.size(); i++) + for (Attackable mob : _minions) { - final Attackable mob = _minions.get(i); if (mob != null) { mob.decayMe(); diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Frintezza.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Frintezza.java index 5c47715671..c3f23f8e6d 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Frintezza.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Frintezza.java @@ -16,8 +16,8 @@ */ package ai.bosses; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.Rnd; @@ -273,10 +273,10 @@ public class Frintezza extends Quest private NpcInstance _portraitDummy1; private NpcInstance _portraitDummy3; private NpcInstance _scarletDummy; - private final List _playersInside = new CopyOnWriteArrayList<>(); - private final List _room1Monsters = new CopyOnWriteArrayList<>(); - private final List _room2Monsters = new CopyOnWriteArrayList<>(); - private final List _minions = new CopyOnWriteArrayList<>(); + private final Collection _playersInside = ConcurrentHashMap.newKeySet(); + private final Collection _room1Monsters = ConcurrentHashMap.newKeySet(); + private final Collection _room2Monsters = ConcurrentHashMap.newKeySet(); + private final Collection _minions = ConcurrentHashMap.newKeySet(); // Boss: Frintezza public Frintezza(int id, String name, String descr) @@ -1407,9 +1407,8 @@ public class Frintezza extends Quest { synchronized (_minions) { - for (int i = 0; i < _minions.size(); i++) + for (Attackable mob : _minions) { - final Attackable mob = _minions.get(i); if (mob != null) { mob.decayMe(); @@ -1479,7 +1478,7 @@ public class Frintezza extends Quest htmltext = "No reaction. Contact must be initiated by the Command Channel Leader."; party_check_success = false; } - else if ((player.getParty().getCommandChannel().getPartys().size() < Config.FRINTEZZA_MIN_PARTIES) || (player.getParty().getCommandChannel().getPartys().size() > Config.FRINTEZZA_MAX_PARTIES)) + else if ((player.getParty().getCommandChannel().getParties().size() < Config.FRINTEZZA_MIN_PARTIES) || (player.getParty().getCommandChannel().getParties().size() > Config.FRINTEZZA_MAX_PARTIES)) { htmltext = "Your command channel needs to have at least " + Config.FRINTEZZA_MIN_PARTIES + " parties and a maximum of " + Config.FRINTEZZA_MAX_PARTIES + "."; party_check_success = false; @@ -1513,7 +1512,7 @@ public class Frintezza extends Quest if (CC != null) { // teleport all parties into CC - for (Party party : CC.getPartys()) + for (Party party : CC.getParties()) { if (party == null) { @@ -1605,7 +1604,7 @@ public class Frintezza extends Quest { final CommandChannel CC = player.getParty().getCommandChannel(); - for (Party party : CC.getPartys()) + for (Party party : CC.getParties()) { if (party == null) { diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Gustav.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Gustav.java index 4f616c18b7..808089c9de 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Gustav.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Gustav.java @@ -16,8 +16,8 @@ */ package ai.bosses; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -35,7 +35,7 @@ public class Gustav extends Quest private static final int GUSTAV = 35410; private static final int MESSENGER = 35420; // Misc - private static final List _clans = new CopyOnWriteArrayList<>(); + private static final Collection _clans = ConcurrentHashMap.newKeySet(); private Gustav() { diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/IceFairySirra.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/IceFairySirra.java index 1278e40a0d..db13c284ee 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/IceFairySirra.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/IceFairySirra.java @@ -16,8 +16,8 @@ */ package ai.bosses; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.Config; @@ -48,7 +48,7 @@ public class IceFairySirra extends Quest private static final int SILVER_HEMOCYTE = 8057; private static BossZone _freyasZone; private static PlayerInstance _player = null; - protected List _allMobs = new CopyOnWriteArrayList<>(); + protected Collection _allMobs = ConcurrentHashMap.newKeySet(); protected Future _onDeadEventTask = null; public IceFairySirra(int id, String name, String descr) diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Nurka.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Nurka.java index 07f69934c7..0bda5f4223 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Nurka.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Nurka.java @@ -16,8 +16,8 @@ */ package ai.bosses; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -35,7 +35,7 @@ public class Nurka extends Quest private static final int NURKA = 35368; private static final int MESSENGER = 35382; // Misc - private static final List _clans = new CopyOnWriteArrayList<>(); + private static final Collection _clans = ConcurrentHashMap.newKeySet(); private Nurka() { diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/VanHalter.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/VanHalter.java index 7c07b65e87..3adfe458cc 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/VanHalter.java +++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/VanHalter.java @@ -20,11 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -64,27 +64,27 @@ public class VanHalter extends Quest // Spawn data of monsters. protected Map _monsterSpawn = new ConcurrentHashMap<>(); - protected List _royalGuardSpawn = new CopyOnWriteArrayList<>(); - protected List _royalGuardCaptainSpawn = new CopyOnWriteArrayList<>(); - protected List _royalGuardHelperSpawn = new CopyOnWriteArrayList<>(); - protected List _triolRevelationSpawn = new CopyOnWriteArrayList<>(); - protected List _triolRevelationAlive = new CopyOnWriteArrayList<>(); - protected List _guardOfAltarSpawn = new CopyOnWriteArrayList<>(); + protected Collection _royalGuardSpawn = ConcurrentHashMap.newKeySet(); + protected Collection _royalGuardCaptainSpawn = ConcurrentHashMap.newKeySet(); + protected Collection _royalGuardHelperSpawn = ConcurrentHashMap.newKeySet(); + protected Collection _triolRevelationSpawn = ConcurrentHashMap.newKeySet(); + protected Collection _triolRevelationAlive = ConcurrentHashMap.newKeySet(); + protected Collection _guardOfAltarSpawn = ConcurrentHashMap.newKeySet(); protected Map _cameraMarkerSpawn = new ConcurrentHashMap<>(); protected Spawn _ritualOfferingSpawn = null; protected Spawn _ritualSacrificeSpawn = null; protected Spawn _vanHalterSpawn = null; // Instance of monsters. - protected List _monsters = new CopyOnWriteArrayList<>(); - protected List _royalGuard = new CopyOnWriteArrayList<>(); - protected List _royalGuardCaptain = new CopyOnWriteArrayList<>(); - protected List _royalGuardHepler = new CopyOnWriteArrayList<>(); - protected List _triolRevelation = new CopyOnWriteArrayList<>(); - protected List _guardOfAltar = new CopyOnWriteArrayList<>(); + protected Collection _monsters = ConcurrentHashMap.newKeySet(); + protected Collection _royalGuard = ConcurrentHashMap.newKeySet(); + protected Collection _royalGuardCaptain = ConcurrentHashMap.newKeySet(); + protected Collection _royalGuardHepler = ConcurrentHashMap.newKeySet(); + protected Collection _triolRevelation = ConcurrentHashMap.newKeySet(); + protected Collection _guardOfAltar = ConcurrentHashMap.newKeySet(); protected Map _cameraMarker = new ConcurrentHashMap<>(); - protected List _doorOfAltar = new CopyOnWriteArrayList<>(); - protected List _doorOfSacrifice = new CopyOnWriteArrayList<>(); + protected Collection _doorOfAltar = ConcurrentHashMap.newKeySet(); + protected Collection _doorOfSacrifice = ConcurrentHashMap.newKeySet(); protected NpcInstance _ritualOffering = null; protected NpcInstance _ritualSacrifice = null; protected RaidBossInstance _vanHalter = null; diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index 020c9b03cb..d53eb082bb 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,15 +19,15 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.commons.database.DatabaseFactory; import org.l2jmobius.gameserver.communitybbs.BB.Forum; public class ForumsBBSManager extends BaseBBSManager { - private final List _table; + private final Collection _table; private int _lastid = 1; public static ForumsBBSManager getInstance() @@ -37,7 +37,7 @@ public class ForumsBBSManager extends BaseBBSManager protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection()) { diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/instancemanager/GrandBossManager.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/instancemanager/GrandBossManager.java index 198c7555a3..ca3dfc099e 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/instancemanager/GrandBossManager.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/instancemanager/GrandBossManager.java @@ -20,6 +20,7 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.Collection; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -70,7 +71,7 @@ public class GrandBossManager private Map _bossStatus; - private List _zones; + private Collection _zones; public static GrandBossManager getInstance() { @@ -89,7 +90,7 @@ public class GrandBossManager private void init() { - _zones = new CopyOnWriteArrayList<>(); + _zones = ConcurrentHashMap.newKeySet(); _bosses = new ConcurrentHashMap<>(); _storedInfo = new ConcurrentHashMap<>(); _bossStatus = new ConcurrentHashMap<>(); diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/CommandChannel.java index 233ce6c019..9f6f2b9c7f 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -17,7 +17,9 @@ package org.l2jmobius.gameserver.model; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; @@ -35,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel { - private final List _parties; + private final Collection _parties; private PlayerInstance _commandLeader = null; private int _channelLvl; @@ -46,7 +48,7 @@ public class CommandChannel public CommandChannel(PlayerInstance leader) { _commandLeader = leader; - _parties = new ArrayList<>(); + _parties = ConcurrentHashMap.newKeySet(); _parties.add(leader.getParty()); _channelLvl = leader.getParty().getLevel(); leader.getParty().setCommandChannel(this); @@ -179,7 +181,7 @@ public class CommandChannel /** * @return list of Parties in Command Channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index d416ac72a4..b1b1680420 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -46,8 +46,8 @@ public class ExMultiPartyCommandChannelInfo extends GameServerPacket writeD(0); // Channel loot writeD(_channel.getMemberCount()); - writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { writeS(p.getLeader().getName()); writeD(p.getPartyLeaderOID()); diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/thread/daemons/ItemsAutoDestroy.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/thread/daemons/ItemsAutoDestroy.java index b37dd6d3e6..b9801f401d 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/thread/daemons/ItemsAutoDestroy.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/thread/daemons/ItemsAutoDestroy.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.thread.daemons; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger; import org.l2jmobius.Config; @@ -31,12 +31,12 @@ public class ItemsAutoDestroy { protected static final Logger LOGGER = Logger.getLogger(ItemsAutoDestroy.class.getName()); private static ItemsAutoDestroy _instance; - protected List _items = null; + protected Collection _items = null; protected static long _sleep; private ItemsAutoDestroy() { - _items = new CopyOnWriteArrayList<>(); + _items = ConcurrentHashMap.newKeySet(); _sleep = Config.AUTODESTROY_ITEM_AFTER * 1000; if (_sleep == 0) { diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/loginserver/LoginController.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/loginserver/LoginController.java index 339bcc9f08..df267518c1 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/loginserver/LoginController.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/loginserver/LoginController.java @@ -29,11 +29,9 @@ import java.sql.ResultSet; import java.util.Base64; import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Logger; import javax.crypto.Cipher; @@ -99,7 +97,7 @@ public class LoginController private static final int LOGIN_TIMEOUT = 60 * 1000; /** Clients that are on the LS but arent assocated with a account yet */ - protected List _clients = new CopyOnWriteArrayList<>(); + protected Collection _clients = ConcurrentHashMap.newKeySet(); /** Authed Clients on LoginServer */ protected Map _loginServerClients = new ConcurrentHashMap<>(); diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java index ffe4c3677b..1148bca0e5 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/FantasyIsle/Parade.java @@ -17,7 +17,8 @@ package ai.areas.FantasyIsle; import java.text.SimpleDateFormat; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -120,7 +121,7 @@ public class Parade extends AbstractNpcAI // @formatter:on int npcIndex; - CopyOnWriteArrayList spawns = new CopyOnWriteArrayList<>(); + Collection spawns = ConcurrentHashMap.newKeySet(); ScheduledFuture spawnTask; ScheduledFuture deleteTask; ScheduledFuture cleanTask; diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java index 8de7e414d4..27f6e6b1f1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/TarBeetleSpawn.java @@ -18,8 +18,9 @@ package ai.areas.ForgeOfTheGods; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; @@ -189,7 +190,7 @@ public class TarBeetleSpawn implements IXmlReader private final class SpawnZone { private final List _zones = new ArrayList<>(); - private final List _spawn = new CopyOnWriteArrayList<>(); + private final Collection _spawn = ConcurrentHashMap.newKeySet(); private final int _maxNpcCount; private final int _index; diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/Hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/Hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java index 3ef3a78e74..9ebaa95045 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/Hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/Hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java @@ -17,13 +17,12 @@ package ai.areas.Hellbound.AI.Zones.TowerOfNaia; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicInteger; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -158,7 +157,7 @@ public class TowerOfNaia extends AbstractNpcAI private int _winIndex; private final Map _activeRooms = new HashMap<>(); - private final Map> _spawns = new ConcurrentHashMap<>(); + private final Map> _spawns = new ConcurrentHashMap<>(); private final Set _sporeSpawn = ConcurrentHashMap.newKeySet(); static { @@ -625,7 +624,7 @@ public class TowerOfNaia extends AbstractNpcAI if ((managerId > 0) && _spawns.containsKey(managerId)) { - final List spawned = _spawns.get(managerId); + final Collection spawned = _spawns.get(managerId); spawned.remove(npc); if (spawned.isEmpty() && DOORS.containsKey(managerId)) { @@ -876,7 +875,7 @@ public class TowerOfNaia extends AbstractNpcAI if (SPAWNS.containsKey(managerId)) { final int[][] spawnList = SPAWNS.get(managerId); - final List spawned = new CopyOnWriteArrayList<>(); + final Collection spawned = ConcurrentHashMap.newKeySet(); for (int[] spawn : spawnList) { final Npc spawnedNpc = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false); diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Core/Core.java index dbacf280c1..92e22984dd 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -50,7 +50,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -79,7 +79,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Orfen/Orfen.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Orfen/Orfen.java index 2c50e360a8..52aee89bcf 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Orfen/Orfen.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Orfen/Orfen.java @@ -16,8 +16,8 @@ */ package ai.bosses.Orfen; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.ai.CtrlIntention; @@ -70,7 +70,7 @@ public class Orfen extends AbstractNpcAI private static final int RIBA_IREN = 29018; private static boolean _IsTeleported; - private static final List MINIONS = new CopyOnWriteArrayList<>(); + private static final Collection MINIONS = ConcurrentHashMap.newKeySet(); private static BossZone ZONE; private static final byte ALIVE = 0; diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SiegeGuards.java index 2daffa416e..0254ea6a00 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -87,7 +87,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SteelCitadelTeleport/SteelCitadelTeleport.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SteelCitadelTeleport/SteelCitadelTeleport.java index 876e834ae0..0314db8f77 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SteelCitadelTeleport/SteelCitadelTeleport.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/SteelCitadelTeleport/SteelCitadelTeleport.java @@ -71,7 +71,7 @@ public class SteelCitadelTeleport extends AbstractNpcAI { GrandBossManager.getInstance().setBossStatus(BELETH, 1); - for (Party party : channel.getPartys()) + for (Party party : channel.getParties()) { if (party == null) { diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTerritoryWar.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTerritoryWar.java index 967b406a6c..4230544be3 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTerritoryWar.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminTerritoryWar.java @@ -17,7 +17,7 @@ package handlers.admincommandhandlers; import java.util.Calendar; -import java.util.List; +import java.util.Collection; import java.util.StringTokenizer; import org.l2jmobius.gameserver.handler.IAdminCommandHandler; @@ -132,7 +132,7 @@ public class AdminTerritoryWar implements IAdminCommandHandler // get,build & send current Wards list if (TerritoryWarManager.getInstance().isTWInProgress()) { - final List territoryWardList = TerritoryWarManager.getInstance().getAllTerritoryWards(); + final Collection territoryWardList = TerritoryWarManager.getInstance().getAllTerritoryWards(); for (TerritoryWard ward : territoryWardList) { if (ward.getNpc() != null) diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/AbstractInstance.java index ab7fd45350..09af39e765 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/AbstractInstance.java @@ -62,7 +62,7 @@ public abstract class AbstractInstance extends AbstractNpcAI } if (!inst.getEnterLocs().isEmpty()) { - teleportPlayer(player, inst.getEnterLocs().get(getRandom(inst.getEnterLocs().size())), world.getInstanceId(), false); + teleportPlayer(player, inst.getEnterLocs().stream().findAny().get(), world.getInstanceId(), false); } return; } @@ -88,7 +88,7 @@ public abstract class AbstractInstance extends AbstractNpcAI } if (!inst.getEnterLocs().isEmpty()) { - teleportPlayer(player, inst.getEnterLocs().get(getRandom(inst.getEnterLocs().size())), instance.getInstanceId(), false); + teleportPlayer(player, inst.getEnterLocs().stream().findAny().get(), instance.getInstanceId(), false); } } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 019257c4f0..7ae264f00b 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index bea5b64ac5..f627c39405 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index c2a570c12f..a69614d508 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index 06779184a6..2aaf9a9288 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index 04946a7ed7..c9f2a407d1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -26,7 +27,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.stream.Collectors; @@ -57,7 +57,7 @@ public class NpcData implements IXmlReader { private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -789,7 +789,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index db92a5c0f0..4b67307866 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index f6b3cb74df..f1fbdbd247 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,9 +18,10 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -89,7 +90,7 @@ public class DocumentEngine { if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _skillFiles) { jobs.add(ThreadPool.schedule(() -> @@ -141,13 +142,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ItemsOnGroundManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ItemsOnGroundManager.java index af67b4e168..0171a33bd1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ItemsOnGroundManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/ItemsOnGroundManager.java @@ -21,8 +21,8 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -41,7 +41,7 @@ public class ItemsOnGroundManager implements Runnable { private static final Logger LOGGER = Logger.getLogger(ItemsOnGroundManager.class.getName()); - private final List _items = new CopyOnWriteArrayList<>(); + private final Collection _items = ConcurrentHashMap.newKeySet(); protected ItemsOnGroundManager() { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MapRegionManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MapRegionManager.java index 4d63e06daa..1ee692fff2 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MapRegionManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MapRegionManager.java @@ -17,8 +17,9 @@ package org.l2jmobius.gameserver.instancemanager; import java.io.File; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.w3c.dom.Document; @@ -326,11 +327,11 @@ public class MapRegionManager implements IXmlReader if (castle.getSiege().isInProgress()) { // Check if player's clan is attacker - final List flags = castle.getSiege().getFlag(player.getClan()); + final Collection flags = castle.getSiege().getFlag(player.getClan()); if ((flags != null) && !flags.isEmpty()) { // Spawn to flag - Need more work to get player to the nearest flag - return flags.get(0).getLocation(); + return flags.stream().findFirst().get().getLocation(); } } } @@ -339,21 +340,21 @@ public class MapRegionManager implements IXmlReader if (fort.getSiege().isInProgress()) { // Check if player's clan is attacker - final List flags = fort.getSiege().getFlag(player.getClan()); + final Set flags = fort.getSiege().getFlag(player.getClan()); if ((flags != null) && !flags.isEmpty()) { // Spawn to flag - Need more work to get player to the nearest flag - return flags.get(0).getLocation(); + return flags.stream().findFirst().get().getLocation(); } } } else if ((clanhall != null) && clanhall.isSiegableHall()) { final SiegableHall sHall = (SiegableHall) clanhall; - final List flags = sHall.getSiege().getFlag(player.getClan()); + final Collection flags = sHall.getSiege().getFlag(player.getClan()); if ((flags != null) && !flags.isEmpty()) { - return flags.get(0).getLocation(); + return flags.stream().findFirst().get().getLocation(); } } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MercTicketManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MercTicketManager.java index e111d0096b..9546f2e364 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MercTicketManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/MercTicketManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.instancemanager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +46,7 @@ public class MercTicketManager { private static final Logger LOGGER = Logger.getLogger(MercTicketManager.class.getName()); - private static final List DROPPED_TICKETS = new CopyOnWriteArrayList<>(); + private static final Collection DROPPED_TICKETS = ConcurrentHashMap.newKeySet(); // TODO: move all these values into siege.properties // max tickets per merc type = 10 + (castleid * 2)? @@ -406,7 +406,7 @@ public class MercTicketManager return ITEM_IDS; } - public List getDroppedTickets() + public Collection getDroppedTickets() { return DROPPED_TICKETS; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/TerritoryWarManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/TerritoryWarManager.java index 875c3c5980..963c7efaf6 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/TerritoryWarManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/instancemanager/TerritoryWarManager.java @@ -21,10 +21,12 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.Calendar; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; @@ -100,8 +102,8 @@ public class TerritoryWarManager implements Siegable private final Map> _registeredClans = new ConcurrentHashMap<>(); private final Map> _registeredMercenaries = new ConcurrentHashMap<>(); private final Map _territoryList = new ConcurrentHashMap<>(); - protected List _disguisedPlayers = new CopyOnWriteArrayList<>(); - private final List _territoryWards = new CopyOnWriteArrayList<>(); + protected Collection _disguisedPlayers = ConcurrentHashMap.newKeySet(); + private final Collection _territoryWards = ConcurrentHashMap.newKeySet(); private final Map _clanFlags = new ConcurrentHashMap<>(); private final Map _participantPoints = new ConcurrentHashMap<>(); protected Calendar _startTWDate = Calendar.getInstance(); @@ -499,7 +501,7 @@ public class TerritoryWarManager implements Siegable _clanFlags.remove(clan); } - public List getAllTerritoryWards() + public Collection getAllTerritoryWards() { return _territoryWards; } @@ -1750,7 +1752,7 @@ public class TerritoryWarManager implements Siegable } @Override - public List getFlag(Clan clan) + public Set getFlag(Clan clan) { throw new UnsupportedOperationException(); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/CommandChannel.java index 8c5ba86784..a351badc58 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/PartyMatchWaitingList.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/PartyMatchWaitingList.java index dc699a1b95..600bca1143 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/PartyMatchWaitingList.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/PartyMatchWaitingList.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -26,11 +26,11 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; */ public class PartyMatchWaitingList { - private final List _members; + private final Collection _members; protected PartyMatchWaitingList() { - _members = new CopyOnWriteArrayList<>(); + _members = ConcurrentHashMap.newKeySet(); } public void addPlayer(PlayerInstance player) @@ -51,7 +51,7 @@ public class PartyMatchWaitingList } } - public List getPlayers() + public Collection getPlayers() { return _members; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Petition.java index bac602a6cb..1ff1d32e0e 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/SiegeClan.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/SiegeClan.java index 6e70557321..ef95bb6ddb 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/SiegeClan.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/SiegeClan.java @@ -16,15 +16,15 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.Npc; public class SiegeClan { private int _clanId = 0; - private final List _flag = new CopyOnWriteArrayList<>(); + private final Set _flag = ConcurrentHashMap.newKeySet(); private SiegeClanType _type; public enum SiegeClanType @@ -69,7 +69,7 @@ public class SiegeClan return _clanId; } - public List getFlag() + public Set getFlag() { return _flag; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Spawn.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Spawn.java index 5612c22e8c..1475559392 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Spawn.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/Spawn.java @@ -17,10 +17,10 @@ package org.l2jmobius.gameserver.model; import java.lang.reflect.Constructor; +import java.util.Collection; import java.util.Deque; -import java.util.List; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedDeque; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -73,7 +73,7 @@ public class Spawn extends Location implements IIdentifiable, INamable private Constructor _constructor; /** If True a NpcInstance is respawned each time that another is killed */ private boolean _doRespawn = true; - private static List _spawnListeners = new CopyOnWriteArrayList<>(); + private static Collection _spawnListeners = ConcurrentHashMap.newKeySet(); private final Deque _spawnedNpcs = new ConcurrentLinkedDeque<>(); private boolean _randomWalk = false; // Is random walk private int _spawnTemplateId = 0; diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Vehicle.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Vehicle.java index 20790f2a56..f665baf4fb 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Vehicle.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Vehicle.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -48,7 +48,7 @@ import org.l2jmobius.gameserver.util.Util; public abstract class Vehicle extends Creature { protected int _dockId = 0; - protected final List _passengers = new CopyOnWriteArrayList<>(); + protected final Collection _passengers = ConcurrentHashMap.newKeySet(); protected Location _oustLoc = null; private Runnable _engine = null; @@ -256,7 +256,7 @@ public abstract class Vehicle extends Creature return _passengers.isEmpty(); } - public List getPassengers() + public Collection getPassengers() { return _passengers; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/ControlTowerInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/ControlTowerInstance.java index ae15c78806..42b66403f0 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/ControlTowerInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/ControlTowerInstance.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.actor.instance; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import org.l2jmobius.gameserver.enums.InstanceType; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate; */ public class ControlTowerInstance extends Tower { - private volatile List _guards; + private volatile Collection _guards; /** * Creates a control tower. @@ -75,7 +75,7 @@ public class ControlTowerInstance extends Tower getGuards().add(guard); } - private final List getGuards() + private final Collection getGuards() { if (_guards == null) { @@ -83,7 +83,7 @@ public class ControlTowerInstance extends Tower { if (_guards == null) { - _guards = new CopyOnWriteArrayList<>(); + _guards = ConcurrentHashMap.newKeySet(); } } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 84d915ece1..0df9bedfb8 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -36,7 +36,6 @@ import java.util.Set; import java.util.TreeMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; @@ -407,7 +406,7 @@ public class PlayerInstance extends Playable private static final int NEVIT_HOURGLASS_PAUSED = 1; private static final int NEVIT_HOURGLASS_MAINTAIN = 10; - private final List _eventListeners = new CopyOnWriteArrayList<>(); + private final Collection _eventListeners = ConcurrentHashMap.newKeySet(); private GameClient _client; private String _ip = "N/A"; @@ -617,7 +616,7 @@ public class PlayerInstance extends Playable private int _agathionId = 0; // apparently, a PlayerInstance CAN have both a summon AND a tamed beast at the same time!! // after Freya players can control more than one tamed beast - private List _tamedBeast = null; + private Collection _tamedBeast = null; private boolean _minimapAllowed = false; @@ -1486,7 +1485,7 @@ public class PlayerInstance extends Playable } /** List of all QuestState instance that needs to be notified of this PlayerInstance's or its pet's death */ - private volatile List _notifyQuestOfDeathList = new CopyOnWriteArrayList<>(); + private volatile Collection _notifyQuestOfDeathList = ConcurrentHashMap.newKeySet(); /** * Add QuestState instance that is to be notified of PlayerInstance's death. @@ -1521,7 +1520,7 @@ public class PlayerInstance extends Playable /** * @return a list of QuestStates which registered for notify of death of this PlayerInstance. */ - public List getNotifyQuestOfDeath() + public Collection getNotifyQuestOfDeath() { return _notifyQuestOfDeathList; } @@ -5704,7 +5703,7 @@ public class PlayerInstance extends Playable /** * @return the Summon of the PlayerInstance or null. */ - public List getTrainedBeasts() + public Collection getTrainedBeasts() { return _tamedBeast; } @@ -5717,7 +5716,7 @@ public class PlayerInstance extends Playable { if (_tamedBeast == null) { - _tamedBeast = new CopyOnWriteArrayList<>(); + _tamedBeast = ConcurrentHashMap.newKeySet(); } _tamedBeast.add(tamedBeast); } @@ -13389,9 +13388,9 @@ public class PlayerInstance extends Playable } /** Friend list. */ - private final List _friendList = new CopyOnWriteArrayList<>(); + private final Collection _friendList = ConcurrentHashMap.newKeySet(); - public List getFriendList() + public Collection getFriendList() { return _friendList; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 3d9fd994b1..3a7588064c 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -61,7 +61,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -204,7 +204,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/BlockCheckerEngine.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/BlockCheckerEngine.java index ddcf42c355..d5179f1fe1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/BlockCheckerEngine.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/BlockCheckerEngine.java @@ -16,11 +16,10 @@ */ package org.l2jmobius.gameserver.model.entity; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -67,7 +66,7 @@ public class BlockCheckerEngine // Current used arena protected int _arena = -1; // All blocks - protected List _spawns = new CopyOnWriteArrayList<>(); + protected Collection _spawns = ConcurrentHashMap.newKeySet(); // Sets if the red team won the event at the end of this (used for packets) protected boolean _isRedWinner; // Time when the event starts. Used on packet sending @@ -116,7 +115,7 @@ public class BlockCheckerEngine // Common z coordinate private static final int _zCoord = -2405; // List of dropped items in event (for later deletion) - protected List _drops = new CopyOnWriteArrayList<>(); + protected Collection _drops = ConcurrentHashMap.newKeySet(); // Default arena private static final byte DEFAULT_ARENA = -1; // Event is started diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/DimensionalRift.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/DimensionalRift.java index 2c037fd858..05d7f7365a 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/DimensionalRift.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/DimensionalRift.java @@ -17,10 +17,11 @@ package org.l2jmobius.gameserver.model.entity; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Timer; import java.util.TimerTask; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.Config; @@ -57,8 +58,8 @@ public class DimensionalRift protected byte _choosenRoom = -1; private boolean _hasJumped = false; - protected List _deadPlayers = new CopyOnWriteArrayList<>(); - protected List _revivedInWaitingRoom = new CopyOnWriteArrayList<>(); + protected Collection _deadPlayers = ConcurrentHashMap.newKeySet(); + protected Collection _revivedInWaitingRoom = ConcurrentHashMap.newKeySet(); private boolean isBossRoom = false; public DimensionalRift(Party party, byte type, byte room) @@ -457,12 +458,12 @@ public class DimensionalRift } } - public List getDeadMemberList() + public Collection getDeadMemberList() { return _deadPlayers; } - public List getRevivedAtWaitingRoom() + public Collection getRevivedAtWaitingRoom() { return _revivedInWaitingRoom; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Duel.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Duel.java index b06e5a3579..b955d3f686 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Duel.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Duel.java @@ -614,7 +614,7 @@ public class Duel } _duelInstanceId = InstanceManager.getInstance().createDynamicInstance(Rnd.get(147, 150)).getId(); // Random Olympiad arena. - final OlympiadStadiumZone zone = ZoneManager.getInstance().getZone(InstanceManager.getInstance().getInstance(_duelInstanceId).getNpcs().get(0), OlympiadStadiumZone.class); + final OlympiadStadiumZone zone = ZoneManager.getInstance().getZone(InstanceManager.getInstance().getInstance(_duelInstanceId).getNpcs().stream().findFirst().get(), OlympiadStadiumZone.class); if (zone == null) { throw new RuntimeException("Unable to find a party duel arena!"); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Fort.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Fort.java index eb0d956d59..f88af7d42f 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Fort.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Fort.java @@ -21,13 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -81,9 +81,9 @@ public class Fort extends AbstractResidence // Spawn Data private boolean _isSuspiciousMerchantSpawned = false; - private final List _siegeNpcs = new CopyOnWriteArrayList<>(); - private final List _npcCommanders = new CopyOnWriteArrayList<>(); - private final List _specialEnvoys = new CopyOnWriteArrayList<>(); + private final Collection _siegeNpcs = ConcurrentHashMap.newKeySet(); + private final Collection _npcCommanders = ConcurrentHashMap.newKeySet(); + private final Collection _specialEnvoys = ConcurrentHashMap.newKeySet(); private final Map _envoyCastles = new HashMap<>(2); private final Set _availableCastles = new HashSet<>(1); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/FortSiege.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/FortSiege.java index ae76a386cb..194c466615 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/FortSiege.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/FortSiege.java @@ -20,9 +20,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Calendar; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -224,10 +226,10 @@ public class FortSiege implements Siegable } } - private final List _attackerClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); // Fort setting - protected List _commanders = new CopyOnWriteArrayList<>(); + protected Collection _commanders = ConcurrentHashMap.newKeySet(); protected final Fort _fort; boolean _isInProgress = false; private FortSiegeGuardManager _siegeGuardManager; @@ -1166,7 +1168,7 @@ public class FortSiege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { return _attackerClans; } @@ -1188,7 +1190,7 @@ public class FortSiege implements Siegable } @Override - public List getFlag(Clan clan) + public Set getFlag(Clan clan) { if (clan != null) { @@ -1220,7 +1222,7 @@ public class FortSiege implements Siegable _fort.resetDoors(); } - public List getCommanders() + public Collection getCommanders() { return _commanders; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/GameEvent.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/GameEvent.java index 94e51e87d8..b01fe59a52 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/GameEvent.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/GameEvent.java @@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.model.entity; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; +import java.util.Collection; import java.util.Comparator; import java.util.HashMap; import java.util.LinkedHashMap; @@ -57,7 +58,7 @@ public class GameEvent public static String _eventInfo = ""; public static int _teamsNumber = 0; public static final Map _teamNames = new ConcurrentHashMap<>(); - public static final List _registeredPlayers = new CopyOnWriteArrayList<>(); + public static final Collection _registeredPlayers = ConcurrentHashMap.newKeySet(); public static final Map> _teams = new ConcurrentHashMap<>(); public static int _npcId = 0; private static final Map _connectionLossData = new ConcurrentHashMap<>(); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 1eb79949af..a450298acc 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.model.entity; import java.util.Calendar; import java.util.Collection; import java.util.List; +import java.util.Set; import org.l2jmobius.gameserver.model.SiegeClan; import org.l2jmobius.gameserver.model.actor.Npc; @@ -48,11 +49,11 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); - List getFlag(Clan clan); + Set getFlag(Clan clan); Calendar getSiegeDate(); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siege.java index cfddbd5f31..7769fae7d7 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,10 +21,12 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -219,9 +221,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1571,7 +1573,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { return _isNormalSide ? _attackerClans : _defenderClans; } @@ -1606,7 +1608,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { return _isNormalSide ? _defenderClans : _attackerClans; } @@ -1628,7 +1630,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } @@ -1669,7 +1671,7 @@ public class Siege implements Siegable } @Override - public List getFlag(Clan clan) + public Set getFlag(Clan clan) { if (clan != null) { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java index 095f62aeb5..4477bee9e7 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java @@ -25,6 +25,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -197,9 +198,9 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable } @Override - public List getFlag(Clan clan) + public Set getFlag(Clan clan) { - List result = null; + Set result = null; final SiegeClan sClan = getAttackerClan(clan); if (sClan != null) { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java index 2875260ea0..699ad9decf 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java @@ -26,7 +26,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Consumer; import java.util.function.Function; import java.util.logging.Level; @@ -137,7 +136,7 @@ public abstract class AbstractScript extends ManagedScript { public static final Logger LOGGER = Logger.getLogger(AbstractScript.class.getName()); private final Map> _registeredIds = new ConcurrentHashMap<>(); - private final List _listeners = new CopyOnWriteArrayList<>(); + private final Collection _listeners = ConcurrentHashMap.newKeySet(); public AbstractScript() { @@ -1604,7 +1603,7 @@ public abstract class AbstractScript extends ManagedScript return _registeredIds.containsKey(type) ? _registeredIds.get(type) : Collections.emptySet(); } - public List getListeners() + public Collection getListeners() { return _listeners; } @@ -2901,7 +2900,7 @@ public abstract class AbstractScript extends ManagedScript * @param players list with PlayerInstance * @param movie the movie */ - public void playMovie(List players, Movie movie) + public void playMovie(Collection players, Movie movie) { new MovieHolder(players, movie); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 0cb50245d4..6d524e17ad 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,7 +16,7 @@ */ package org.l2jmobius.gameserver.model.holders; -import java.util.List; +import java.util.Collection; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -27,9 +27,9 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class MovieHolder { private final Movie _movie; - private final List _players; + private final Collection _players; - public MovieHolder(List players, Movie movie) + public MovieHolder(Collection players, Movie movie) { _players = players; _movie = movie; @@ -42,7 +42,7 @@ public class MovieHolder return _movie; } - public List getPlayers() + public Collection getPlayers() { return _players; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java index c68c00da21..c5f3661d86 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/holders/PlayerEventHolder.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model.holders; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.data.sql.impl.ClanTable; import org.l2jmobius.gameserver.model.Location; @@ -48,7 +48,7 @@ public class PlayerEventHolder private final int _pkKills; private final int _karma; - private final List _kills = new CopyOnWriteArrayList<>(); + private final Collection _kills = ConcurrentHashMap.newKeySet(); private boolean _sitForced; public PlayerEventHolder(PlayerInstance player) @@ -92,7 +92,7 @@ public class PlayerEventHolder return _sitForced; } - public List getKills() + public Collection getKills() { return _kills; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/Instance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/Instance.java index 5c5d5e270f..843b1b86f2 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/Instance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/Instance.java @@ -24,7 +24,6 @@ import java.util.Collection; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -72,12 +71,12 @@ public class Instance private int _ejectTime = Config.EJECT_DEAD_PLAYER_TIME; /** Allow random walk for NPCs, global parameter. */ private boolean _allowRandomWalk = true; - private final List _players = new CopyOnWriteArrayList<>(); - private final List _npcs = new CopyOnWriteArrayList<>(); - private final List _doorTemplates = new CopyOnWriteArrayList<>(); + private final Collection _players = ConcurrentHashMap.newKeySet(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); + private final Collection _doorTemplates = ConcurrentHashMap.newKeySet(); private final Map _doors = new ConcurrentHashMap<>(); - private final List _spawnTemplates = new CopyOnWriteArrayList<>(); - private List _enterLocations = new CopyOnWriteArrayList<>(); + private final Collection _spawnTemplates = ConcurrentHashMap.newKeySet(); + private Collection _enterLocations = ConcurrentHashMap.newKeySet(); private Location _exitLocation = null; private boolean _allowSummon = true; private long _emptyDestroyTime = -1; @@ -277,12 +276,12 @@ public class Instance } } - public List getPlayers() + public Collection getPlayers() { return _players; } - public List getNpcs() + public Collection getNpcs() { return _npcs; } @@ -325,7 +324,7 @@ public class Instance /** * @return the spawn location for this instance to be used when enter in instance */ - public List getEnterLocs() + public Collection getEnterLocs() { return _enterLocations; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/InstanceWorld.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/InstanceWorld.java index 70beb9f4f3..08ebd8aa68 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/InstanceWorld.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/instancezone/InstanceWorld.java @@ -16,6 +16,7 @@ */ package org.l2jmobius.gameserver.model.instancezone; +import java.util.Collection; import java.util.List; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -157,7 +158,7 @@ public class InstanceWorld * Get spawned NPCs from instance. * @return set of NPCs from instance */ - public List getNpcs() + public Collection getNpcs() { return _instance.getNpcs(); } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/stats/Formulas.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/stats/Formulas.java index 38a205cc0e..4e9d3d9bb0 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/stats/Formulas.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/stats/Formulas.java @@ -533,7 +533,7 @@ public class Formulas } final SiegeClan siegeClan = siege.getAttackerClan(player.getClan().getId()); - if ((siegeClan == null) || siegeClan.getFlag().isEmpty() || !Util.checkIfInRange(200, player, siegeClan.getFlag().get(0), true)) + if ((siegeClan == null) || siegeClan.getFlag().isEmpty() || !Util.checkIfInRange(200, player, siegeClan.getFlag().stream().findFirst().get(), true)) { return 0; } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index cb586e50d3..7101acdd70 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -47,8 +47,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExShowOwnthingPos.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExShowOwnthingPos.java index 4ef9a44223..72bba32867 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExShowOwnthingPos.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/serverpackets/ExShowOwnthingPos.java @@ -16,7 +16,7 @@ */ package org.l2jmobius.gameserver.network.serverpackets; -import java.util.List; +import java.util.Collection; import org.l2jmobius.commons.network.PacketWriter; import org.l2jmobius.gameserver.instancemanager.TerritoryWarManager; @@ -41,7 +41,7 @@ public class ExShowOwnthingPos implements IClientOutgoingPacket if (TerritoryWarManager.getInstance().isTWInProgress()) { - final List territoryWardList = TerritoryWarManager.getInstance().getAllTerritoryWards(); + final Collection territoryWardList = TerritoryWarManager.getInstance().getAllTerritoryWards(); packet.writeD(territoryWardList.size()); for (TerritoryWard ward : territoryWardList) { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 6ba1df21f4..4970de3856 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -58,7 +57,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/SiegeGuards.java index aaacd2f8da..363cbb07bf 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -63,7 +63,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index da219ac6ce..3a990d0145 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -790,7 +790,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siege.java index 4f9a52a0d5..969212f9bf 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/SiegeGuards.java index aaacd2f8da..363cbb07bf 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -63,7 +63,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index da219ac6ce..3a990d0145 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -790,7 +790,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siege.java index 4f9a52a0d5..969212f9bf 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/SiegeGuards.java index aaacd2f8da..363cbb07bf 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -63,7 +63,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java index beb6f13b97..9ff980fbc8 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java @@ -16,8 +16,8 @@ */ package instances.MonsterArena; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.gameserver.enums.ChatType; @@ -72,7 +72,7 @@ public class MonsterArena extends AbstractInstance private static final int TICKET_M = 90946; private static final int TICKET_H = 90947; // Misc - private static final List REWARDED_PLAYERS = new CopyOnWriteArrayList<>(); + private static final Collection REWARDED_PLAYERS = ConcurrentHashMap.newKeySet(); private static final String MONSTER_ARENA_VARIABLE = "MA_C"; private static final int TEMPLATE_ID = 192; diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index da219ac6ce..3a990d0145 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -60,7 +60,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -790,7 +790,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siege.java index 4f9a52a0d5..969212f9bf 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/SiegeGuards.java index aaacd2f8da..363cbb07bf 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -63,7 +63,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java index beb6f13b97..9ff980fbc8 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java @@ -16,8 +16,8 @@ */ package instances.MonsterArena; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.gameserver.enums.ChatType; @@ -72,7 +72,7 @@ public class MonsterArena extends AbstractInstance private static final int TICKET_M = 90946; private static final int TICKET_H = 90947; // Misc - private static final List REWARDED_PLAYERS = new CopyOnWriteArrayList<>(); + private static final Collection REWARDED_PLAYERS = ConcurrentHashMap.newKeySet(); private static final String MONSTER_ARENA_VARIABLE = "MA_C"; private static final int TEMPLATE_ID = 192; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index 28cecaacbe..5839da2b89 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -61,7 +61,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -793,7 +793,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siege.java index 4f9a52a0d5..969212f9bf 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/SiegeGuards.java index aaacd2f8da..363cbb07bf 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -63,7 +63,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java index beb6f13b97..9ff980fbc8 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java @@ -16,8 +16,8 @@ */ package instances.MonsterArena; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.gameserver.enums.ChatType; @@ -72,7 +72,7 @@ public class MonsterArena extends AbstractInstance private static final int TICKET_M = 90946; private static final int TICKET_H = 90947; // Misc - private static final List REWARDED_PLAYERS = new CopyOnWriteArrayList<>(); + private static final Collection REWARDED_PLAYERS = ConcurrentHashMap.newKeySet(); private static final String MONSTER_ARENA_VARIABLE = "MA_C"; private static final int TEMPLATE_ID = 192; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index 28cecaacbe..5839da2b89 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -61,7 +61,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -793,7 +793,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siege.java index 4f9a52a0d5..969212f9bf 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Core/Core.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Core/Core.java index 3994ea022a..ec44524526 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Core/Core.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Core/Core.java @@ -16,11 +16,11 @@ */ package ai.bosses.Core; +import java.util.Collection; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.ChatType; @@ -49,7 +49,7 @@ public class Core extends AbstractNpcAI private static final int DOOM_WRAITH = 29008; private static final int SUSCEPTOR = 29011; // Spawns - private static final Map MINNION_SPAWNS = new HashMap<>(); + private static final Map MINNION_SPAWNS = new HashMap<>(); static { MINNION_SPAWNS.put(DEATH_KNIGHT, new Location(17191, 109298, -6488)); @@ -78,7 +78,7 @@ public class Core extends AbstractNpcAI private static boolean _firstAttacked; - private static final List _minions = new CopyOnWriteArrayList<>(); + private static final Collection _minions = ConcurrentHashMap.newKeySet(); private Core() { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/SiegeGuards.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/SiegeGuards.java index aaacd2f8da..363cbb07bf 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/SiegeGuards.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/SiegeGuards.java @@ -16,8 +16,8 @@ */ package ai.others; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; @@ -63,7 +63,7 @@ public class SiegeGuards extends AbstractNpcAI 35134, 35135, 35136, 35176, 35177, 35178, 35218, 35219, 35220, 35261, 35262, 35263, 35264, 35265, 35308, 35309, 35310, 35352, 35353, 35354, 35497, 35498, 35499, 35500, 35501, 35544, 35545, 35546 }; //@formatter:on - private static final List SPAWNED_GUARDS = new CopyOnWriteArrayList<>(); + private static final Collection SPAWNED_GUARDS = ConcurrentHashMap.newKeySet(); public SiegeGuards() { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java index 1f1f81ec58..98906a6606 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Rabbits/Rabbits.java @@ -17,8 +17,9 @@ package custom.events.Rabbits; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; import org.l2jmobius.commons.util.CommonUtil; @@ -49,7 +50,7 @@ public class Rabbits extends Event private static final int EVENT_TIME = 10; private static final int TOTAL_CHEST_COUNT = 75; private static final int TRANSFORMATION_ID = 105; - private final List _npcs = new CopyOnWriteArrayList<>(); + private final Collection _npcs = ConcurrentHashMap.newKeySet(); private final List _players = new ArrayList<>(); private boolean _isActive = false; @@ -253,7 +254,7 @@ public class Rabbits extends Event } } - private void recordSpawn(List npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) + private void recordSpawn(Collection npcs, int npcId, int x, int y, int z, int heading, boolean randomOffSet, long despawnDelay) { final Npc npc = addSpawn(npcId, x, y, z, heading, randomOffSet, despawnDelay); if (npc.getId() == CHEST) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Race/Race.java index bd62334497..47e7aa75b5 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Race/Race.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/custom/events/Race/Race.java @@ -17,8 +17,9 @@ package custom.events.Race; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import org.l2jmobius.Config; @@ -45,7 +46,7 @@ public class Race extends Event // Npc private Npc _npc; // Player list - private List _players; + private Collection _players; // Event Task ScheduledFuture _eventTask = null; // Event state @@ -127,7 +128,7 @@ public class Race extends Event } // Initialize list _npclist = new ArrayList<>(); - _players = new CopyOnWriteArrayList<>(); + _players = ConcurrentHashMap.newKeySet(); // Set Event active _isactive = true; // Spawn Manager diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java index beb6f13b97..9ff980fbc8 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/instances/MonsterArena/MonsterArena.java @@ -16,8 +16,8 @@ */ package instances.MonsterArena; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.commons.concurrent.ThreadPool; import org.l2jmobius.gameserver.enums.ChatType; @@ -72,7 +72,7 @@ public class MonsterArena extends AbstractInstance private static final int TICKET_M = 90946; private static final int TICKET_H = 90947; // Misc - private static final List REWARDED_PLAYERS = new CopyOnWriteArrayList<>(); + private static final Collection REWARDED_PLAYERS = ConcurrentHashMap.newKeySet(); private static final String MONSTER_ARENA_VARIABLE = "MA_C"; private static final int TEMPLATE_ID = 192; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/commons/util/IXmlReader.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/commons/util/IXmlReader.java index f46315f220..c3fd55501b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/commons/util/IXmlReader.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/commons/util/IXmlReader.java @@ -19,11 +19,12 @@ package org.l2jmobius.commons.util; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Consumer; import java.util.function.Predicate; @@ -167,7 +168,7 @@ public interface IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); final File[] listOfFiles = dir.listFiles(); for (File file : listOfFiles) { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java index 0999874490..c991d187e0 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Forum.java @@ -19,10 +19,9 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; +import java.util.Collection; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; @@ -46,7 +45,7 @@ public class Forum public static final int CLANMEMBERONLY = 2; public static final int OWNERONLY = 3; - private final List _children; + private final Collection _children; private final Map _topic = new ConcurrentHashMap<>(); private final int _forumId; private String _forumName; @@ -66,7 +65,7 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); } /** @@ -85,7 +84,7 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new CopyOnWriteArrayList<>(); + _children = ConcurrentHashMap.newKeySet(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java index 3c22c6a895..407d24a500 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/BB/Post.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -45,7 +45,7 @@ public class Post public String postTxt; } - private final List _post; + private final Collection _post; /** * @param _PostOwner @@ -57,7 +57,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); final CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -92,7 +92,7 @@ public class Post public Post(Topic t) { - _post = new CopyOnWriteArrayList<>(); + _post = ConcurrentHashMap.newKeySet(); load(t); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java index e972f347a3..8e081b8eab 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -19,8 +19,8 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -31,7 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class ForumsBBSManager extends BaseBBSManager { private static Logger LOGGER = Logger.getLogger(ForumsBBSManager.class.getName()); - private final List _table; + private final Collection _table; private int _lastid = 1; /** @@ -39,7 +39,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new CopyOnWriteArrayList<>(); + _table = ConcurrentHashMap.newKeySet(); try (Connection con = DatabaseFactory.getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java index bb7a95fb82..b441ae7a79 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -18,12 +18,11 @@ package org.l2jmobius.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import org.l2jmobius.gameserver.communitybbs.BB.Forum; import org.l2jmobius.gameserver.communitybbs.BB.Post; @@ -34,7 +33,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; public class TopicBBSManager extends BaseBBSManager { - private final List _table = new CopyOnWriteArrayList<>(); + private final Collection _table = ConcurrentHashMap.newKeySet(); private final Map _maxId = new ConcurrentHashMap<>(); protected TopicBBSManager() diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java index 28cecaacbe..5839da2b89 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/NpcData.java @@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.EnumMap; import java.util.HashMap; @@ -27,7 +28,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; @@ -61,7 +61,7 @@ public class NpcData implements IXmlReader private final Map _npcs = new ConcurrentHashMap<>(); private final Map _clans = new ConcurrentHashMap<>(); - private static final List _masterMonsterIDs = new CopyOnWriteArrayList<>(); + private static final Collection _masterMonsterIDs = ConcurrentHashMap.newKeySet(); protected NpcData() { @@ -793,7 +793,7 @@ public class NpcData implements IXmlReader /** * @return the IDs of monsters that have minions. */ - public static List getMasterMonsterIDs() + public static Collection getMasterMonsterIDs() { return _masterMonsterIDs; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java index da7a0393fb..4c02f94d13 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/SpawnsData.java @@ -18,10 +18,11 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.function.Predicate; import java.util.logging.Level; @@ -54,7 +55,7 @@ public class SpawnsData implements IXmlReader { protected static final Logger LOGGER = Logger.getLogger(SpawnsData.class.getName()); - private final List _spawns = new CopyOnWriteArrayList<>(); + private final Collection _spawns = ConcurrentHashMap.newKeySet(); protected SpawnsData() { @@ -98,7 +99,7 @@ public class SpawnsData implements IXmlReader if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (SpawnTemplate template : _spawns) { if (template.isSpawningByDefault()) @@ -146,7 +147,7 @@ public class SpawnsData implements IXmlReader LOGGER.info(getClass().getSimpleName() + ": All spawns has been removed!"); } - public List getSpawns() + public Collection getSpawns() { return _spawns; } @@ -166,7 +167,7 @@ public class SpawnsData implements IXmlReader return _spawns.stream().flatMap(template -> template.getGroups().stream()).flatMap(group -> group.getSpawns().stream()).filter(condition).collect(Collectors.toList()); } - public void parseSpawn(Node spawnsNode, File file, List spawns) + public void parseSpawn(Node spawnsNode, File file, Collection spawns) { final SpawnTemplate spawnTemplate = new SpawnTemplate(new StatsSet(parseAttributes(spawnsNode)), file); SpawnGroup defaultGroup = null; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/datatables/EventDroplist.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/datatables/EventDroplist.java index 960d49a7c8..2fce996a09 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/datatables/EventDroplist.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/datatables/EventDroplist.java @@ -16,10 +16,11 @@ */ package org.l2jmobius.gameserver.datatables; +import java.util.Collection; import java.util.Date; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.script.DateRange; import org.l2jmobius.gameserver.script.EventDrop; @@ -35,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List ALL_NPC_DATE_DROPS = new CopyOnWriteArrayList<>(); + private static final Collection ALL_NPC_DATE_DROPS = ConcurrentHashMap.newKeySet(); public static class DateDrop { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/engines/DocumentEngine.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/engines/DocumentEngine.java index fc5b40ab9a..5124fa201d 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/engines/DocumentEngine.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/engines/DocumentEngine.java @@ -18,8 +18,9 @@ package org.l2jmobius.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; @@ -66,13 +67,13 @@ public class DocumentEngine * Return created items * @return List of {@link Item} */ - public List loadItems() + public Collection loadItems() { - final List list = new CopyOnWriteArrayList<>(); + final Collection list = ConcurrentHashMap.newKeySet(); if (Config.THREADS_FOR_LOADING) { - final List> jobs = new CopyOnWriteArrayList<>(); + final Collection> jobs = ConcurrentHashMap.newKeySet(); for (File file : _itemFiles) { jobs.add(ThreadPool.schedule(() -> diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/CommandChannel.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/CommandChannel.java index a15780905f..079359acb0 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/CommandChannel.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/CommandChannel.java @@ -16,9 +16,10 @@ */ package org.l2jmobius.gameserver.model; +import java.util.Collection; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.l2jmobius.Config; @@ -36,7 +37,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; */ public class CommandChannel extends AbstractPlayerGroup { - private final List _parties = new CopyOnWriteArrayList<>(); + private final Collection _parties = ConcurrentHashMap.newKeySet(); private PlayerInstance _commandLeader; private int _channelLvl; @@ -150,7 +151,7 @@ public class CommandChannel extends AbstractPlayerGroup /** * @return a list of all parties in this command channel */ - public List getPartys() + public Collection getParties() { return _parties; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Petition.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Petition.java index 80c542e5e8..a92c6edc42 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Petition.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/Petition.java @@ -16,8 +16,8 @@ */ package org.l2jmobius.gameserver.model; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.PetitionState; import org.l2jmobius.gameserver.enums.PetitionType; @@ -41,7 +41,7 @@ public class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new CopyOnWriteArrayList<>(); + private final Collection _messageLog = ConcurrentHashMap.newKeySet(); private final PlayerInstance _petitioner; private PlayerInstance _responder; @@ -58,7 +58,7 @@ public class Petition return _messageLog.add(cs); } - public List getLogMessages() + public Collection getLogMessages() { return _messageLog; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index 34501eda19..ce20faed81 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; @@ -304,7 +306,7 @@ public class ServitorInstance extends Summon implements Runnable int buff_index = 0; - final List storedSkills = new CopyOnWriteArrayList<>(); + final Collection storedSkills = ConcurrentHashMap.newKeySet(); // Store all effect data along with calculated remaining if (storeEffects) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java index 75b90cfaed..da5fae572c 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/TamedBeastInstance.java @@ -18,8 +18,8 @@ package org.l2jmobius.gameserver.model.actor.instance; import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import org.l2jmobius.commons.concurrent.ThreadPool; @@ -62,7 +62,7 @@ public class TamedBeastInstance extends FeedableBeastInstance private Future _buffTask = null; private Future _durationCheckTask = null; protected boolean _isFreyaBeast; - private List _beastSkills = null; + private Collection _beastSkills = null; public TamedBeastInstance(int npcTemplateId) { @@ -205,7 +205,7 @@ public class TamedBeastInstance extends FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new CopyOnWriteArrayList<>(); + _beastSkills = ConcurrentHashMap.newKeySet(); } _beastSkills.add(skill); } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siegable.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siegable.java index 0fbd0e67ac..8d1a774ae6 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siegable.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siegable.java @@ -49,7 +49,7 @@ public interface Siegable SiegeClan getDefenderClan(Clan clan); - List getDefenderClans(); + Collection getDefenderClans(); boolean checkIsDefender(Clan clan); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siege.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siege.java index 4f9a52a0d5..969212f9bf 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siege.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/entity/Siege.java @@ -21,12 +21,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -221,9 +222,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new CopyOnWriteArrayList<>(); - private final List _defenderClans = new CopyOnWriteArrayList<>(); - private final List _defenderWaitingClans = new CopyOnWriteArrayList<>(); + private final Collection _attackerClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderClans = ConcurrentHashMap.newKeySet(); + private final Collection _defenderWaitingClans = ConcurrentHashMap.newKeySet(); // Castle setting private final List _controlTowers = new ArrayList<>(); @@ -1582,7 +1583,7 @@ public class Siege implements Siegable } @Override - public List getAttackerClans() + public Collection getAttackerClans() { if (_isNormalSide) { @@ -1625,7 +1626,7 @@ public class Siege implements Siegable } @Override - public List getDefenderClans() + public Collection getDefenderClans() { if (_isNormalSide) { @@ -1655,7 +1656,7 @@ public class Siege implements Siegable return null; } - public List getDefenderWaitingClans() + public Collection getDefenderWaitingClans() { return _defenderWaitingClans; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java index 1a048e5afa..7bc4ca651f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/holders/MovieHolder.java @@ -16,8 +16,9 @@ */ package org.l2jmobius.gameserver.model.holders; +import java.util.Collection; import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; @@ -29,7 +30,7 @@ public class MovieHolder { private final Movie _movie; private final List _players; - private final List _votedPlayers = new CopyOnWriteArrayList<>(); + private final Collection _votedPlayers = ConcurrentHashMap.newKeySet(); public MovieHolder(List players, Movie movie) { @@ -64,7 +65,7 @@ public class MovieHolder return _players; } - public List getVotedPlayers() + public Collection getVotedPlayers() { return _votedPlayers; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java index d9031895c2..7041bc007f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/matching/CommandChannelMatchingRoom.java @@ -127,7 +127,7 @@ public class CommandChannelMatchingRoom extends MatchingRoom if (leaderParty != null) { final CommandChannel cc = leaderParty.getCommandChannel(); - if ((leaderParty == playerParty) || ((cc != null) && cc.getPartys().contains(playerParty))) + if ((leaderParty == playerParty) || ((cc != null) && cc.getParties().contains(playerParty))) { return MatchingMemberType.COMMAND_CHANNEL_PARTY_MEMBER; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java index a946cae69b..402fc4f0fc 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java @@ -45,8 +45,8 @@ public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket packet.writeD(0x00); // Channel loot 0 or 1 packet.writeD(_channel.getMemberCount()); - packet.writeD(_channel.getPartys().size()); - for (Party p : _channel.getPartys()) + packet.writeD(_channel.getParties().size()); + for (Party p : _channel.getParties()) { packet.writeS(p.getLeader().getName()); packet.writeD(p.getLeaderObjectId()); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java index 41d77570f4..10be00b346 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/TaskManager.java @@ -26,11 +26,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.util.Calendar; +import java.util.Collection; import java.util.Date; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; @@ -50,7 +49,7 @@ public class TaskManager static final Logger LOGGER = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - final List _currentTasks = new CopyOnWriteArrayList<>(); + final Collection _currentTasks = ConcurrentHashMap.newKeySet(); static final String[] SQL_STATEMENTS = { diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/loginserver/GameServerListener.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/loginserver/GameServerListener.java index aee80b1954..3d2bfc947b 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/loginserver/GameServerListener.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/loginserver/GameServerListener.java @@ -18,8 +18,8 @@ package org.l2jmobius.loginserver; import java.io.IOException; import java.net.Socket; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.Collection; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.Config; @@ -28,7 +28,7 @@ import org.l2jmobius.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new CopyOnWriteArrayList<>(); + private static Collection _gameServers = ConcurrentHashMap.newKeySet(); public GameServerListener() throws IOException {