diff --git a/trunk/.classpath b/trunk/.classpath index d79b022cfa..3d4e423d22 100644 --- a/trunk/.classpath +++ b/trunk/.classpath @@ -2,7 +2,6 @@ - diff --git a/trunk/build.xml b/trunk/build.xml index 7edc00536c..b77c02c3e8 100644 --- a/trunk/build.xml +++ b/trunk/build.xml @@ -90,7 +90,7 @@ - + diff --git a/trunk/dist/game/data/instances/MonasteryOfSilence.xml b/trunk/dist/game/data/instances/MonasteryOfSilence.xml index a0feb48c72..b844b74a56 100644 --- a/trunk/dist/game/data/instances/MonasteryOfSilence.xml +++ b/trunk/dist/game/data/instances/MonasteryOfSilence.xml @@ -5,6 +5,29 @@ + + + + + + + + + + + + + + + + + + + + + + + @@ -38,6 +61,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java b/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java index 73bce16010..35805586fc 100644 --- a/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java +++ b/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java @@ -19,9 +19,9 @@ package ai.fantasy_isle; import java.text.SimpleDateFormat; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; @@ -166,8 +166,8 @@ public class MC_Show extends AbstractNpcAI } } - private static Map talks = new FastMap<>(); - private static Map walks = new FastMap<>(); + private static Map talks = new HashMap<>(); + private static Map walks = new HashMap<>(); private MC_Show() { diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java b/trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java index b3511e8423..e27e290199 100644 --- a/trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java +++ b/trunk/dist/game/data/scripts/ai/fantasy_isle/Parade.java @@ -19,10 +19,9 @@ package ai.fantasy_isle; import java.text.SimpleDateFormat; -import java.util.Iterator; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; -import javolution.util.FastList; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GameTimeController; @@ -118,16 +117,15 @@ public class Parade extends AbstractNpcAI private final int[][] START5 = {{-57233, -53554, -2015, 57344},{-57290, -53610, -2015, 57344},{-57346, -53667, -2015, 57344}}; private final int[][] GOAL5 = {{-55338, -55435, -2015, 57344},{-55395, -55491, -2015, 57344},{-55451, -55547, -2015, 57344}}; - protected final int[][][] START = {START1, START2, START3, START4, START5}; - protected final int[][][] GOAL = {GOAL1, GOAL2, GOAL3, GOAL4, GOAL5}; + final int[][][] START = {START1, START2, START3, START4, START5}; + final int[][][] GOAL = {GOAL1, GOAL2, GOAL3, GOAL4, GOAL5}; // @formatter:on - protected ScheduledFuture spawnTask; - protected ScheduledFuture deleteTask; - protected ScheduledFuture cleanTask; - - protected int npcIndex; - protected FastList spawns; + int npcIndex; + CopyOnWriteArrayList spawns; + ScheduledFuture spawnTask; + ScheduledFuture deleteTask; + ScheduledFuture cleanTask; public Parade() { @@ -148,7 +146,7 @@ public class Parade extends AbstractNpcAI protected void load() { npcIndex = 0; - spawns = new FastList().shared(); + spawns = new CopyOnWriteArrayList<>(); } protected void clean() @@ -220,15 +218,14 @@ public class Parade extends AbstractNpcAI { if (spawns.size() > 0) { - for (Iterator it = spawns.iterator(); it.hasNext();) + for (L2Npc actor : spawns) { - L2Npc actor = it.next(); if (actor != null) { if (actor.calculateDistance(actor.getXdestination(), actor.getYdestination(), 0, false, true) < (100 * 100)) { actor.deleteMe(); - it.remove(); + spawns.remove(actor); } else if (!actor.isMoving()) { diff --git a/trunk/dist/game/data/scripts/ai/group_template/BeastFarm.java b/trunk/dist/game/data/scripts/ai/group_template/BeastFarm.java index 6f6cd60657..8e9129ae52 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/BeastFarm.java +++ b/trunk/dist/game/data/scripts/ai/group_template/BeastFarm.java @@ -19,10 +19,10 @@ package ai.group_template; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; -import javolution.util.FastMap; import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove; import ai.npc.AbstractNpcAI; @@ -104,8 +104,8 @@ public final class BeastFarm extends AbstractNpcAI 18900 }; - private static Map _FeedInfo = new FastMap<>(); - private static Map _GrowthCapableMobs = new FastMap<>(); + private static Map _FeedInfo = new HashMap<>(); + private static Map _GrowthCapableMobs = new HashMap<>(); private static List TAMED_BEAST_DATA = new ArrayList<>(); private BeastFarm() @@ -395,7 +395,7 @@ public final class BeastFarm extends AbstractNpcAI private final int _chance; private final int _growthLevel; private final int _tameNpcId; - private final Map _skillSuccessNpcIdList = new FastMap<>(); + private final Map _skillSuccessNpcIdList = new HashMap<>(); public GrowthCapableMob(int chance, int growthLevel, int tameNpcId) { diff --git a/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java b/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java index 1971fc3d64..261dde0a07 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java +++ b/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java @@ -18,9 +18,9 @@ */ package ai.group_template; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove; import quests.Q00655_AGrandPlanForTamingWildBeasts.Q00655_AGrandPlanForTamingWildBeasts; import ai.npc.AbstractNpcAI; @@ -76,7 +76,7 @@ public final class FeedableBeasts extends AbstractNpcAI }; // @formatter:on - private static final Map MAD_COW_POLYMORPH = new FastMap<>(); + private static final Map MAD_COW_POLYMORPH = new HashMap<>(); static { MAD_COW_POLYMORPH.put(21824, 21468); @@ -129,8 +129,8 @@ public final class FeedableBeasts extends AbstractNpcAI NpcStringId.ANIMALS_NEED_LOVE_TOO }; - private static Map _FeedInfo = new FastMap<>(); - private static Map _GrowthCapableMobs = new FastMap<>(); + private static Map _FeedInfo = new HashMap<>(); + private static Map _GrowthCapableMobs = new HashMap<>(); // all mobs that grow by eating private static class GrowthCapableMob @@ -138,7 +138,7 @@ public final class FeedableBeasts extends AbstractNpcAI private final int _growthLevel; private final int _chance; - private final Map _spiceToMob = new FastMap<>(); + private final Map _spiceToMob = new HashMap<>(); public GrowthCapableMob(int growthLevel, int chance) { diff --git a/trunk/dist/game/data/scripts/ai/group_template/PolymorphingAngel.java b/trunk/dist/game/data/scripts/ai/group_template/PolymorphingAngel.java index cb54787942..5e88e0d214 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/PolymorphingAngel.java +++ b/trunk/dist/game/data/scripts/ai/group_template/PolymorphingAngel.java @@ -18,9 +18,9 @@ */ package ai.group_template; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -32,7 +32,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; */ public final class PolymorphingAngel extends AbstractNpcAI { - private static final Map ANGELSPAWNS = new FastMap<>(); + private static final Map ANGELSPAWNS = new HashMap<>(); static { ANGELSPAWNS.put(20830, 20859); diff --git a/trunk/dist/game/data/scripts/ai/group_template/RandomSpawn.java b/trunk/dist/game/data/scripts/ai/group_template/RandomSpawn.java index 4b20087c9b..117e1c144b 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/RandomSpawn.java +++ b/trunk/dist/game/data/scripts/ai/group_template/RandomSpawn.java @@ -18,9 +18,9 @@ */ package ai.group_template; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ThreadPoolManager; @@ -33,7 +33,7 @@ import com.l2jserver.gameserver.model.actor.L2Npc; */ public final class RandomSpawn extends AbstractNpcAI { - private static Map SPAWN_POINTS = new FastMap<>(); + private static Map SPAWN_POINTS = new HashMap<>(); static { // Keltas diff --git a/trunk/dist/game/data/scripts/ai/individual/Core.java b/trunk/dist/game/data/scripts/ai/individual/Core.java index 4e6813f6c6..87d26c6e75 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Core.java +++ b/trunk/dist/game/data/scripts/ai/individual/Core.java @@ -18,9 +18,9 @@ */ package ai.individual; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; @@ -56,7 +56,7 @@ public final class Core extends AbstractNpcAI private static boolean _FirstAttacked; - private final List Minions = new FastList<>(); + private final List Minions = new ArrayList<>(); private Core() { diff --git a/trunk/dist/game/data/scripts/ai/individual/DarkWaterDragon.java b/trunk/dist/game/data/scripts/ai/individual/DarkWaterDragon.java index e2321ea920..dfbe061e68 100644 --- a/trunk/dist/game/data/scripts/ai/individual/DarkWaterDragon.java +++ b/trunk/dist/game/data/scripts/ai/individual/DarkWaterDragon.java @@ -18,11 +18,11 @@ */ package ai.individual; +import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; -import javolution.util.FastSet; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; @@ -43,8 +43,8 @@ public final class DarkWaterDragon extends AbstractNpcAI private static final int FAFURION = 18482; private static final int DETRACTOR1 = 22270; private static final int DETRACTOR2 = 22271; - private static Set SECOND_SPAWN = new FastSet<>(); // Used to track if second Shades were already spawned - private static Set MY_TRACKING_SET = new FastSet<>(); // Used to track instances of npcs + private static Set SECOND_SPAWN = new HashSet<>(); // Used to track if second Shades were already spawned + private static Set MY_TRACKING_SET = new HashSet<>(); // Used to track instances of npcs private static Map ID_MAP = new ConcurrentHashMap<>(); // Used to track instances of npcs private DarkWaterDragon() diff --git a/trunk/dist/game/data/scripts/ai/individual/Orfen.java b/trunk/dist/game/data/scripts/ai/individual/Orfen.java index 827ab1c321..b51599de2a 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Orfen.java +++ b/trunk/dist/game/data/scripts/ai/individual/Orfen.java @@ -18,9 +18,9 @@ */ package ai.individual; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; @@ -72,7 +72,7 @@ public final class Orfen extends AbstractNpcAI private static final int RIBA_IREN = 29018; private static boolean _IsTeleported; - private static List _Minions = new FastList<>(); + private static List _Minions = new ArrayList<>(); private static L2BossZone ZONE; private static final byte ALIVE = 0; diff --git a/trunk/dist/game/data/scripts/ai/individual/QueenAnt.java b/trunk/dist/game/data/scripts/ai/individual/QueenAnt.java index fc8036dd71..0228ca5b98 100644 --- a/trunk/dist/game/data/scripts/ai/individual/QueenAnt.java +++ b/trunk/dist/game/data/scripts/ai/individual/QueenAnt.java @@ -18,10 +18,10 @@ */ package ai.individual; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.ScheduledFuture; -import javolution.util.FastList; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; @@ -83,7 +83,7 @@ public final class QueenAnt extends AbstractNpcAI L2MonsterInstance _queen = null; private L2MonsterInstance _larva = null; - private final List _nurses = new FastList<>(5); + private final List _nurses = new ArrayList<>(5); ScheduledFuture _task = null; private QueenAnt() diff --git a/trunk/dist/game/data/scripts/ai/individual/ScarletVanHalisha.java b/trunk/dist/game/data/scripts/ai/individual/ScarletVanHalisha.java index 7ea712a3fa..68ab3eadf7 100644 --- a/trunk/dist/game/data/scripts/ai/individual/ScarletVanHalisha.java +++ b/trunk/dist/game/data/scripts/ai/individual/ScarletVanHalisha.java @@ -22,9 +22,9 @@ import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_ATTACK; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_FOLLOW; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; +import java.util.ArrayList; import java.util.Collection; -import javolution.util.FastList; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GeoData; @@ -217,7 +217,7 @@ public class ScarletVanHalisha extends AbstractNpcAI private L2Character getRandomTarget(L2Npc npc) { Collection objs = npc.getKnownList().getKnownObjects().values(); - FastList result = new FastList<>(); + ArrayList result = new ArrayList<>(); { for (L2Object obj : objs) { diff --git a/trunk/dist/game/data/scripts/ai/individual/SinWardens.java b/trunk/dist/game/data/scripts/ai/individual/SinWardens.java index 671e015d14..fee3b6e7ea 100644 --- a/trunk/dist/game/data/scripts/ai/individual/SinWardens.java +++ b/trunk/dist/game/data/scripts/ai/individual/SinWardens.java @@ -18,9 +18,9 @@ */ package ai.individual; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.enums.ChatType; @@ -54,7 +54,7 @@ public final class SinWardens extends AbstractNpcAI 22438 }; - private final Map killedMinionsCount = new FastMap<>(); + private final Map killedMinionsCount = new HashMap<>(); private SinWardens() { diff --git a/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetleSpawn.java b/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetleSpawn.java index c3fb73a822..e2171b56f7 100644 --- a/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetleSpawn.java +++ b/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/TarBeetleSpawn.java @@ -20,10 +20,9 @@ package ai.npc.ForgeOfTheGods; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; -import javolution.util.FastList; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -192,7 +191,7 @@ public class TarBeetleSpawn implements IXmlReader private final class SpawnZone { private final List _zones = new ArrayList<>(); - private final List _spawn = new FastList<>(); + private final List _spawn = new CopyOnWriteArrayList<>(); private final int _maxNpcCount; private final int _index; diff --git a/trunk/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java b/trunk/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java index b244193705..9d17edc204 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java +++ b/trunk/dist/game/data/scripts/ai/npc/Teleports/NewbieTravelToken/NewbieTravelToken.java @@ -18,9 +18,9 @@ */ package ai.npc.Teleports.NewbieTravelToken; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.model.Location; @@ -39,7 +39,7 @@ public final class NewbieTravelToken extends AbstractNpcAI // Item private static final int NEWBIE_TRAVEL_TOKEN = 8542; // NPC Id - Teleport Location - private static final Map DATA = new FastMap<>(); + private static final Map DATA = new HashMap<>(); private NewbieTravelToken() { diff --git a/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java b/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java index dc8c9e6841..8b5c82d699 100644 --- a/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java +++ b/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java @@ -18,9 +18,10 @@ */ package gracia.AI; +import java.util.HashMap; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ThreadPoolManager; @@ -53,8 +54,8 @@ public class EnergySeeds extends AbstractNpcAI private static final int RATE = 1; private static final int RESPAWN = 480000; private static final int RANDOM_RESPAWN_OFFSET = 180000; - private static Map _spawns = new FastMap<>(); - protected static Map _spawnedNpcs = new FastMap().shared(); + private static Map _spawns = new HashMap<>(); + protected static Map _spawnedNpcs = new ConcurrentHashMap<>(); private static final int TEMPORARY_TELEPORTER = 32602; // @formatter:off @@ -711,8 +712,7 @@ public class EnergySeeds extends AbstractNpcAI public void scheduleRespawn(long waitTime) { - ThreadPoolManager.getInstance().scheduleGeneral(() -> - { + ThreadPoolManager.getInstance().scheduleGeneral(() -> { // if the AI is inactive, do not spawn the NPC if (isSeedActive(_seedId)) { diff --git a/trunk/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java b/trunk/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java index 4867a6b38c..193a33b3b7 100644 --- a/trunk/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java +++ b/trunk/dist/game/data/scripts/gracia/AI/SeedOfAnnihilation/SeedOfAnnihilation.java @@ -19,9 +19,9 @@ package gracia.AI.SeedOfAnnihilation; import java.util.Calendar; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.datatables.SkillData; @@ -41,7 +41,7 @@ import com.l2jserver.gameserver.util.Util; */ public class SeedOfAnnihilation extends AbstractNpcAI { - private static final Map _teleportZones = new FastMap<>(); + private static final Map _teleportZones = new HashMap<>(); private static final int ANNIHILATION_FURNACE = 18928; // Strength, Agility, Wisdom diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java index bd5a38ff23..82a98640a9 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java @@ -21,8 +21,6 @@ package handlers.admincommandhandlers; import java.util.StringTokenizer; import java.util.logging.Logger; -import javolution.text.TextBuilder; - import com.l2jserver.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.enums.ChatType; @@ -429,7 +427,7 @@ public class AdminAdmin implements IAdminCommandHandler public void showConfigPage(L2PcInstance activeChar) { final NpcHtmlMessage adminReply = new NpcHtmlMessage(); - TextBuilder replyMSG = new TextBuilder("L2J :: Config"); + StringBuilder replyMSG = new StringBuilder("L2J :: Config"); replyMSG.append("
Config Server Panel

"); replyMSG.append("
"); replyMSG.append(""); diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index 9de13a62f8..786ddc4d1a 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -26,8 +26,6 @@ import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.TimeUnit; -import javolution.text.TextBuilder; - import com.l2jserver.Config; import com.l2jserver.gameserver.GameServer; import com.l2jserver.gameserver.GameTimeController; @@ -103,7 +101,7 @@ public class AdminServerInfo implements IAdminCommandHandler private String buildTheardInfo(String category) { - final TextBuilder tb = new TextBuilder(); + final StringBuilder tb = new StringBuilder(); tb.append("
Drop:
"); for (Entry info : ThreadPoolManager.getInstance().getStats(category).getSet().entrySet()) diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java index b182795ce6..0c9ff06f54 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminShowQuests.java @@ -23,8 +23,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.logging.Logger; -import javolution.text.TextBuilder; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.QuestManager; @@ -158,7 +156,7 @@ public class AdminShowQuests implements IAdminCommandHandler private static void showFirstQuestMenu(L2PcInstance target, L2PcInstance actor) { - TextBuilder replyMSG = new TextBuilder("
Player: " + target.getName() + "
"); + StringBuilder replyMSG = new StringBuilder("
Player: " + target.getName() + "
"); final NpcHtmlMessage adminReply = new NpcHtmlMessage(); int ID = target.getObjectId(); @@ -182,7 +180,7 @@ public class AdminShowQuests implements IAdminCommandHandler PreparedStatement req; int ID = target.getObjectId(); - TextBuilder replyMSG = new TextBuilder(""); + StringBuilder replyMSG = new StringBuilder(""); final NpcHtmlMessage adminReply = new NpcHtmlMessage(); switch (val[0]) diff --git a/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java b/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java index 3dd0a79e21..d5ccb3e086 100644 --- a/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java +++ b/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java @@ -22,19 +22,11 @@ import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; -import java.lang.management.ManagementFactory; -import java.lang.management.ThreadInfo; -import java.lang.management.ThreadMXBean; import java.net.Socket; import java.text.SimpleDateFormat; import java.util.Calendar; -import java.util.Map; -import java.util.Map.Entry; import java.util.StringTokenizer; -import javolution.util.FastComparator; -import javolution.util.FastTable; - import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.LoginServerThread; import com.l2jserver.gameserver.ThreadPoolManager; @@ -202,76 +194,6 @@ public class DebugHandler implements ITelnetHandler sb.append('\n'); } - sb.append('\n'); - sb.append("## Threads Information ##\n"); - Map allThread = Thread.getAllStackTraces(); - - FastTable> entries = new FastTable<>(); - entries.setValueComparator(new FastComparator>() - { - private static final long serialVersionUID = 1L; - - @Override - public boolean areEqual(Entry e1, Entry e2) - { - return e1.getKey().getName().equals(e2.getKey().getName()); - } - - @Override - public int compare(Entry e1, Entry e2) - { - return e1.getKey().getName().compareTo(e2.getKey().getName()); - } - - @Override - public int hashCodeOf(Entry e) - { - return e.hashCode(); - } - - }); - entries.addAll(allThread.entrySet()); - entries.sort(); - for (Entry entry : entries) - { - StackTraceElement[] stes = entry.getValue(); - Thread t = entry.getKey(); - sb.append("--------------\n"); - sb.append(t.toString() + " (" + t.getId() + ")\n"); - sb.append("State: " + t.getState() + '\n'); - sb.append("isAlive: " + t.isAlive() + " | isDaemon: " + t.isDaemon() + " | isInterrupted: " + t.isInterrupted() + '\n'); - sb.append('\n'); - for (StackTraceElement ste : stes) - { - sb.append(ste.toString()); - sb.append('\n'); - } - sb.append('\n'); - } - - sb.append('\n'); - ThreadMXBean mbean = ManagementFactory.getThreadMXBean(); - long[] ids = findDeadlockedThreads(mbean); - if ((ids != null) && (ids.length > 0)) - { - Thread[] threads = new Thread[ids.length]; - for (int i = 0; i < threads.length; i++) - { - threads[i] = findMatchingThread(mbean.getThreadInfo(ids[i])); - } - sb.append("Deadlocked Threads:\n"); - sb.append("-------------------\n"); - for (Thread thread : threads) - { - System.err.println(thread); - for (StackTraceElement ste : thread.getStackTrace()) - { - sb.append("\t" + ste); - sb.append('\n'); - } - } - } - sb.append("\n\n## Thread Pool Manager Statistics ##\n"); for (String line : ThreadPoolManager.getInstance().getStats()) { @@ -330,29 +252,6 @@ public class DebugHandler implements ITelnetHandler return false; } - private long[] findDeadlockedThreads(ThreadMXBean mbean) - { - // JDK 1.5 only supports the findMonitorDeadlockedThreads() - // method, so you need to comment out the following three lines - if (mbean.isSynchronizerUsageSupported()) - { - return mbean.findDeadlockedThreads(); - } - return mbean.findMonitorDeadlockedThreads(); - } - - private Thread findMatchingThread(ThreadInfo inf) - { - for (Thread thread : Thread.getAllStackTraces().keySet()) - { - if (thread.getId() == inf.getThreadId()) - { - return thread; - } - } - throw new IllegalStateException("Deadlocked Thread not found"); - } - public String getServerStatus() { int playerCount = 0, objectCount = 0; diff --git a/trunk/dist/game/data/scripts/hellbound/AI/DemonPrince.java b/trunk/dist/game/data/scripts/hellbound/AI/DemonPrince.java index 949a5d5707..1e9b41c33e 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/DemonPrince.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/DemonPrince.java @@ -18,9 +18,9 @@ */ package hellbound.AI; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -46,7 +46,7 @@ public final class DemonPrince extends AbstractNpcAI new SkillHolder(5376, 6), }; - private static final Map ATTACK_STATE = new FastMap<>(); + private static final Map ATTACK_STATE = new HashMap<>(); public DemonPrince() { diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java b/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java index 1a4fd9bc67..7000188034 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java @@ -19,8 +19,8 @@ package hellbound.AI; import java.util.Set; +import java.util.concurrent.CopyOnWriteArraySet; -import javolution.util.FastSet; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.enums.ChatType; @@ -42,7 +42,7 @@ public final class Ranku extends AbstractNpcAI private static final int MINION = 32305; private static final int MINION_2 = 25543; // Misc - private static final Set MY_TRACKING_SET = new FastSet().shared(); + private static final Set MY_TRACKING_SET = new CopyOnWriteArraySet<>(); public Ranku() { diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java index c2d13e8501..407cee18cb 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java @@ -20,9 +20,9 @@ package hellbound.AI.Zones.AnomicFoundry; import hellbound.HellboundEngine; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; @@ -49,7 +49,7 @@ public final class AnomicFoundry extends AbstractNpcAI private static int LESSER_EVIL = 22398; private static int GREATER_EVIL = 22399; // Misc - private final Map _atkIndex = new FastMap<>(); + private final Map _atkIndex = new HashMap<>(); // npcId, x, y, z, heading, max count //@formatter:off private static int[][] SPAWNS = diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/BaseTower/BaseTower.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/BaseTower/BaseTower.java index 34ffce0ea4..e6ce6b62f8 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/BaseTower/BaseTower.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/BaseTower/BaseTower.java @@ -18,9 +18,9 @@ */ package hellbound.AI.Zones.BaseTower; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.data.xml.impl.DoorData; @@ -42,7 +42,7 @@ public final class BaseTower extends AbstractNpcAI // Skills private static final SkillHolder DEATH_WORD = new SkillHolder(5256, 1); // Misc - private static final Map BODY_DESTROYER_TARGET_LIST = new FastMap<>(); + private static final Map BODY_DESTROYER_TARGET_LIST = new HashMap<>(); public BaseTower() { diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java index af49067233..42d10a58cc 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java @@ -18,14 +18,14 @@ */ package hellbound.AI.Zones.TowerOfNaia; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.concurrent.CopyOnWriteArrayList; -import javolution.util.FastList; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ThreadPoolManager; @@ -157,9 +157,9 @@ public final class TowerOfNaia extends AbstractNpcAI private int _challengeState; private int _winIndex; - private final Map _activeRooms = new FastMap<>(); - private final Map> _spawns = new FastMap<>(); - private final FastList _sporeSpawn = new FastList().shared(); + private final Map _activeRooms = new HashMap<>(); + private final Map> _spawns = new HashMap<>(); + private final CopyOnWriteArrayList _sporeSpawn = new CopyOnWriteArrayList<>(); static { // Format: entrance_door, exit_door @@ -902,7 +902,7 @@ public final class TowerOfNaia extends AbstractNpcAI if (SPAWNS.containsKey(managerId)) { int[][] spawnList = SPAWNS.get(managerId); - List spawned = new FastList<>(); + List spawned = new ArrayList<>(); for (int[] spawn : spawnList) { L2Npc spawnedNpc = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false); diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java index 07e3fcbcd0..c39fa2906f 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java @@ -18,15 +18,15 @@ */ package hellbound.AI.Zones.TullyWorkshop; +import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ScheduledFuture; -import javolution.util.FastList; -import javolution.util.FastMap; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ThreadPoolManager; @@ -111,8 +111,8 @@ public final class TullyWorkshop extends AbstractNpcAI 22383 }; - private static final Map TULLY_DOORLIST = new FastMap<>(); - private static final Map TELE_COORDS = new FastMap<>(); + private static final Map TULLY_DOORLIST = new HashMap<>(); + private static final Map TELE_COORDS = new HashMap<>(); protected int countdownTime; private int nextServantIdx = 0; @@ -125,14 +125,14 @@ public final class TullyWorkshop extends AbstractNpcAI protected ScheduledFuture _countdown = null; // NPC's, spawned after Tully's death are stored here - protected static List postMortemSpawn = new FastList<>(); + protected static List postMortemSpawn = new ArrayList<>(); // TODO: Zoey76: Not thread-safe, probably will lead to problems. protected static Set brokenContraptions = new HashSet<>(); protected static Set rewardedContraptions = new HashSet<>(); protected static Set talkedContraptions = new HashSet<>(); - private final List spawnedFollowers = new FastList<>(); - private final List spawnedFollowerMinions = new FastList<>(); + private final List spawnedFollowers = new ArrayList<>(); + private final List spawnedFollowerMinions = new ArrayList<>(); private L2Npc spawnedAgent = null; private L2Spawn pillarSpawn = null; diff --git a/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java index f4231383d0..b820efb5a0 100644 --- a/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java +++ b/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java @@ -20,12 +20,11 @@ package instances.CrystalCaverns; import instances.AbstractInstance; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; @@ -84,15 +83,15 @@ public final class CrystalCaverns extends AbstractInstance private class CCWorld extends InstanceWorld { - public Map npcList1 = new FastMap<>(); + public Map npcList1 = new HashMap<>(); public L2Npc tears; public boolean isUsedInvulSkill = false; public long dragonScaleStart = 0; public int dragonScaleNeed = 0; public int cleanedRooms = 0; public long endTime = 0; - public List copys = new FastList<>(); - public Map crystalGolems = new FastMap<>(); + public List copys = new ArrayList<>(); + public Map crystalGolems = new HashMap<>(); public int correctGolems = 0; public boolean[] OracleTriggered = { @@ -108,18 +107,18 @@ public final class CrystalCaverns extends AbstractInstance 0, 0 }; // 0: not spawned, 1: spawned, 2: cleared - public Map openedDoors = new FastMap<>(); - public Map> npcList2 = new FastMap<>(); - public Map oracles = new FastMap<>(); - public List keyKeepers = new FastList<>(); - public List guards = new FastList<>(); - public List oracle = new FastList<>(); + public Map openedDoors = new HashMap<>(); + public Map> npcList2 = new HashMap<>(); + public Map oracles = new HashMap<>(); + public List keyKeepers = new ArrayList<>(); + public List guards = new ArrayList<>(); + public List oracle = new ArrayList<>(); // baylor variables - protected final List _raiders = new FastList<>(); + protected final List _raiders = new ArrayList<>(); protected int _raidStatus = 0; protected long _dragonClawStart = 0; protected int _dragonClawNeed = 0; - protected final List _animationMobs = new FastList<>(); + protected final List _animationMobs = new ArrayList<>(); protected L2Npc _camera = null; protected L2Npc _baylor = null; protected L2Npc _alarm = null; @@ -800,7 +799,7 @@ public final class CrystalCaverns extends AbstractInstance { world.setStatus(3); - Map spawnList = new FastMap<>(); + Map spawnList = new HashMap<>(); for (int[] spawn : EMERALD_SPAWNS) { L2Npc mob = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId()); @@ -811,7 +810,7 @@ public final class CrystalCaverns extends AbstractInstance protected void runEmeraldRooms(CCWorld world, int[][] spawnList, int room) { - Map spawned = new FastMap<>(); + Map spawned = new HashMap<>(); for (int[] spawn : spawnList) { L2Npc mob = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId()); @@ -839,7 +838,7 @@ public final class CrystalCaverns extends AbstractInstance { world.setStatus(status); - Map spawned = new FastMap<>(); + Map spawned = new HashMap<>(); for (int[] spawn : spawnList) { L2Npc mob = addSpawn(spawn[0], spawn[1], spawn[2], spawn[3], spawn[4], false, 0, false, world.getInstanceId()); @@ -1380,7 +1379,7 @@ public final class CrystalCaverns extends AbstractInstance return ""; } CrystalGolem cryGolem = world.crystalGolems.get(npc); - List crystals = new FastList<>(); + List crystals = new ArrayList<>(); for (L2Object object : L2World.getInstance().getVisibleObjects(npc, 300)) { if ((object instanceof L2ItemInstance) && (object.getId() == CRYSTALFOOD)) diff --git a/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java b/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java index 16ca182712..c03c8ff7bd 100644 --- a/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java +++ b/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java @@ -19,8 +19,9 @@ package instances.DarkCloudMansion; import instances.AbstractInstance; -import javolution.util.FastList; -import javolution.util.FastMap; + +import java.util.ArrayList; +import java.util.HashMap; import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; @@ -45,7 +46,7 @@ public final class DarkCloudMansion extends AbstractInstance { protected class DMCWorld extends InstanceWorld { - protected FastMap rooms = new FastMap<>(); + protected HashMap rooms = new HashMap<>(); } // NPCs @@ -229,7 +230,7 @@ public final class DarkCloudMansion extends AbstractInstance protected static class DMCRoom { - public FastList npcList = new FastList<>(); + public ArrayList npcList = new ArrayList<>(); public int counter = 0; public int reset = 0; public int founded = 0; diff --git a/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java b/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java index 91f686cd87..fcf3197e1c 100644 --- a/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java +++ b/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java @@ -20,10 +20,10 @@ package instances.DisciplesNecropolisPast; import instances.AbstractInstance; +import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -import javolution.util.FastList; import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor; import com.l2jserver.gameserver.enums.ChatType; @@ -47,8 +47,8 @@ public final class DisciplesNecropolisPast extends AbstractInstance { protected class DNPWorld extends InstanceWorld { - protected final FastList anakimGroup = new FastList<>(); - protected final FastList lilithGroup = new FastList<>(); + protected final ArrayList anakimGroup = new ArrayList<>(); + protected final ArrayList lilithGroup = new ArrayList<>(); protected int countKill = 0; } @@ -180,7 +180,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance teleportPlayer(player, ENTER, world.getInstanceId()); } - private void makeCast(L2Npc npc, FastList targets) + private void makeCast(L2Npc npc, ArrayList targets) { npc.setTarget(targets.get(getRandom(targets.size()))); if (SKILLS.containsKey(npc.getId())) diff --git a/trunk/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java b/trunk/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java index 3500fe923a..2d5ccf571e 100644 --- a/trunk/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java +++ b/trunk/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java @@ -21,9 +21,11 @@ package instances.FinalEmperialTomb; import instances.AbstractInstance; import java.io.File; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -31,9 +33,6 @@ import java.util.logging.Level; import javax.xml.parsers.DocumentBuilderFactory; -import javolution.util.FastList; -import javolution.util.FastMap; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -86,7 +85,7 @@ public final class FinalEmperialTomb extends AbstractInstance private class FETWorld extends InstanceWorld { protected Lock lock = new ReentrantLock(); - protected FastList npcList = new FastList<>(); + protected CopyOnWriteArrayList npcList = new CopyOnWriteArrayList<>(); protected int darkChoirPlayerCount = 0; protected FrintezzaSong OnSong = null; protected ScheduledFuture songTask = null; @@ -99,8 +98,8 @@ public final class FinalEmperialTomb extends AbstractInstance protected L2Npc scarletDummy = null; protected L2GrandBossInstance frintezza = null; protected L2GrandBossInstance activeScarlet = null; - protected List demons = new FastList<>(); - protected Map portraits = new FastMap<>(); + protected List demons = new ArrayList<>(); + protected Map portraits = new HashMap<>(); protected int scarlet_x = 0; protected int scarlet_y = 0; protected int scarlet_z = 0; @@ -109,7 +108,6 @@ public final class FinalEmperialTomb extends AbstractInstance protected FETWorld() { - npcList.shared(); } } @@ -196,7 +194,7 @@ public final class FinalEmperialTomb extends AbstractInstance private static final boolean debug = false; private final Map _spawnZoneList = new HashMap<>(); private final Map> _spawnList = new HashMap<>(); - private final List _mustKillMobsId = new FastList<>(); + private final List _mustKillMobsId = new ArrayList<>(); protected static final int[] FIRST_ROOM_DOORS = { 17130051, @@ -303,7 +301,7 @@ public final class FinalEmperialTomb extends AbstractInstance int flag = Integer.parseInt(attrs.getNamedItem("flag").getNodeValue()); if (!_spawnList.containsKey(flag)) { - _spawnList.put(flag, new FastList()); + _spawnList.put(flag, new ArrayList()); } for (Node cd = d.getFirstChild(); cd != null; cd = cd.getNextSibling()) @@ -850,7 +848,7 @@ public final class FinalEmperialTomb extends AbstractInstance if ((_world.frintezza != null) && !_world.frintezza.isDead() && (_world.activeScarlet != null) && !_world.activeScarlet.isDead()) { - List targetList = new FastList<>(); + List targetList = new ArrayList<>(); if (skill.hasEffectType(L2EffectType.STUN) || skill.isDebuff()) { for (int objId : _world.getAllowed()) @@ -867,8 +865,7 @@ public final class FinalEmperialTomb extends AbstractInstance { targetList.add(pet); } - player.getServitors().values().forEach(s -> - { + player.getServitors().values().forEach(s -> { if (!s.isDead()) { targetList.add(s); diff --git a/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java b/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java index 4780e7bf6d..75317abf53 100644 --- a/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java +++ b/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java @@ -18,10 +18,10 @@ */ package instances.MonasteryOfSilence2; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; -import javolution.util.FastList; -import javolution.util.FastMap; import quests.Q10294_SevenSignsToTheMonasteryOfSilence.Q10294_SevenSignsToTheMonasteryOfSilence; import quests.Q10295_SevenSignsSolinasTomb.Q10295_SevenSignsSolinasTomb; import quests.Q10296_SevenSignsPowerOfTheSeal.Q10296_SevenSignsPowerOfTheSeal; @@ -196,11 +196,11 @@ public class MonasteryOfSilence2 extends AbstractNpcAI 6717 }; - private final FastMap instanceWorlds = new FastMap<>(); + private final HashMap instanceWorlds = new HashMap<>(); public static class InstanceHolder { - List mobs = new FastList<>(); + List mobs = new ArrayList<>(); } private class MoSWorld2 extends InstanceWorld diff --git a/trunk/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java b/trunk/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java index 54beec49f0..c5f5b26af6 100644 --- a/trunk/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java +++ b/trunk/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java @@ -18,13 +18,12 @@ */ package quests.Q00144_PailakaInjuredDragon; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.gameserver.ai.CtrlEvent; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillData; @@ -66,7 +65,7 @@ public class Q00144_PailakaInjuredDragon extends Quest // @formatter:off // NO EXIT ZONES - private static final Map NOEXIT_ZONES = new FastMap<>(); + private static final Map NOEXIT_ZONES = new HashMap<>(); static { NOEXIT_ZONES.put(200001, new int[]{123167, -45743, -3023}); @@ -204,7 +203,7 @@ public class Q00144_PailakaInjuredDragon extends Quest {4347,6} // Blessed Body Lv6 }; - private static final FastList DROPLIST = new FastList<>(); + private static final ArrayList DROPLIST = new ArrayList<>(); static { DROPLIST.add(new PailakaDrop(HEAL_POTION, 80)); @@ -257,10 +256,10 @@ public class Q00144_PailakaInjuredDragon extends Quest @Override public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - final QuestState qs = player.getQuestState(getName()); + final QuestState qs = getQuestState(player, false); if (qs == null) { - return getNoQuestMsg(player); + return null; } final int cond = qs.getCond(); @@ -420,10 +419,11 @@ public class Q00144_PailakaInjuredDragon extends Quest @Override public final String onTalk(L2Npc npc, L2PcInstance player) { - final QuestState qs = player.getQuestState(getName()); + String htmltext = getNoQuestMsg(player); + final QuestState qs = getQuestState(player, true); if (qs == null) { - return getNoQuestMsg(player); + return htmltext; } final int cond = qs.getCond(); diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30623-01.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30623-01.html deleted file mode 100644 index 30ba078f04..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30623-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Duelist Kaien:
-This is the first I've heard of that! I'm so sorry, obviously you've gone to a great deal of trouble for nothing... Wait a moment~
-Could I take a closer look at that? This design is remarkably similar to the one engraved on a scabbard that I received from my father... I am beginning to believe you now.
-I come from a long line of dualists! It has been a tradition in my family for over a thousand years! Charming, no?
-Thank you, I will accept this... I wish I had more to offer you in return! Please accept these worthless trinkets as a token of my appreciation! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30623-02.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30623-02.html deleted file mode 100644 index 7d26a7f34a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30623-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Duelist Kaien:
-Your hilt has been taken to a Dwarven craftsman who will fashion a suitable blade for it... Aren't you excited?! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30704-01.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30704-01.html deleted file mode 100644 index 194ad23f47..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30704-01.html +++ /dev/null @@ -1,5 +0,0 @@ -High Prefect Gavarentz:
-This necklace and statue prove that what you say is true. Last night I dreamed of an Orc. His large body was covered with scars and he was drenched in what must have been his enemy's blood. He gave me this necklace...
-Thank you, young traveler. Now I shall give the necklace to you. Use it carefully. - - diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30704-02.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30704-02.html deleted file mode 100644 index ee7ea79d9f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30704-02.html +++ /dev/null @@ -1,3 +0,0 @@ -High Prefect Gavarentz:
-I have entrusted the amulet necklace to my daughter, who I have sent north to the Orc Fortress. She will wear the necklace in battle. I pray the mighty spirit of her ancestor will watch over her. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-01.htm b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-01.htm deleted file mode 100644 index 5d8350e67a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-I've not left Dragon Valley since I led my men here so many years ago to battle Antharas...
-I have accepted the inevitability of my eternal responsibility to watch over the beast. But my heart goes out to the loyal soldiers who lost their lives due to my stubborn ignorance. I have no other wish than to see their remains returned to their hometowns, but I fear that you are not up to the task...
-(This quest can only be undertaken by a character of level 48 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-02.htm b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-02.htm deleted file mode 100644 index fd3c4f9c1b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-I've not left Dragon Valley since I led my men here so many years ago to battle Antharas...
-I have accepted the inevitability of my eternal responsibility to watch over the beast. But my heart goes out to the loyal soldiers who lost their lives due to my stubborn ignorance. I have no other wish than to see their remains returned to their hometowns so they can rest in peace.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-03.htm b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-03.htm deleted file mode 100644 index 359b7b44ee..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Watcher of Antharas Gilmore:
-I buried my former subordinates in a corner of this Valley in a region called the Watcher's Tomb. However, they strangely came back from the dead after Antharas and Desparion used their magic. My mind is still strong, but they turned into monsters after blood and death... These friends... creatures... are now called... 'Cave Servants'...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-04.htm b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-04.htm deleted file mode 100644 index d8c1aaa263..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Watcher of Antharas Gilmore:
-You probably know as well, but there were many, many people that tried to kill Antharas. None were able, but their death was not the end for all. While some were undoubtedly held by Shilen's grasp, others become Cave Servants. Right now, I don't even know how many Cave Servants exist in the Watcher's Tomb. What I can ask of you is to destroy as many Cave Servants as possible. Cave Servant, Archer, Warrior, Chief... Anything that has Cave in the name. Kill them and collect their relics, then bring them to me. I will reward you appropriately. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-05.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-05.html deleted file mode 100644 index c71f4d8dda..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Antharas Watchman Gilmore:
-Is there something keeping you here? Why aren't you out killing cave servants? Bring me back any relics they leave behind. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-06.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-06.html deleted file mode 100644 index 0f82b981e7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Antharas Watchman Gilmore:
-Believe it or not we gave our lives willingly to save Giran! But we never counted on being here for eternity, let alone looking like this! It's been a thousand years and still I long for my mortal life...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-07.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-07.html deleted file mode 100644 index 0d4dc03c9e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Antharas Watchman Gilmore:
-What's that? Oh, for some reason, I was sure that you had brought back relics. You should be out killing cave servants. You must do whatever you can to release my men from their endless torment. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-08.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-08.html deleted file mode 100644 index 74058fe3f7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-Thank you! Please take this as a token of my appreciation. Thanks to you the noble soldiers can finally rest in peace... I am afraid that there are many more, however, who still wander this valley. Would you be willing to continue doing this for a while?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-09.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-09.html deleted file mode 100644 index 3e1e963792..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Antharas Watchman Gilmore:
-Could it be? If my eyes aren't deceiving me this used to belong to a friend of mine...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-10.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-10.html deleted file mode 100644 index d770e32ce5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-My personal aide wore this key around his neck. He stood by my side during the battle with Antharas 1,000 years ago. He was the first-born son in his family... This key was very important to him.
-I believe one of his descendants is living in the Town of Giran. He has the family name of Rodemai.
-I am bound to this valley so cannot go myself. Would you please take the key to Rodemai in the Town of Giran? I will pay you for your trouble. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-11.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-11.html deleted file mode 100644 index 772823c4c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-11.html +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-This sword belonged to one of my aides who fought alongside me against Antharas 1,000 years ago. In the intervening years the blade must have rusted away and only this hilt is left. He was a swordsman without parallel...
-It is said that one of his descendants is living in the Town of Oren. It is likely that he is following the family tradition of being a Duelist.
-I am unable to leave this valley or I would take this relic to him. Would you please do this for me? I will pay you for your trouble. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-12.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-12.html deleted file mode 100644 index b5e4ecd3b0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-12.html +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-This necklace belonged to a soldier that served under my command in the battle against Antharas. He was the finest Orc I've ever known, a true intellectual. Seriously! I'm fairly certain he was of aristocratic birth.
-Come to think of it, I've seen that necklace elsewhere. It was worn by an Orc who was a High Prefect from Hunters Village.
-I would take the necklace to him if I was able to leave this valley, but alas, I cannot. Would you please take it to him? I will compensate you well for your trouble. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-13.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-13.html deleted file mode 100644 index 1ae245960a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Antharas Watchman Gilmore:
-This crucifix belonged to one of the brave young soldiers who accompanied me here 1,000 years ago to battle the beast Antharas. At that time it shone like the sun. Now it looks so old and weathered...
-He worshipped in a temple that stood where Aden Castle stands now. Please go to the Town of Aden and take this crucifix to the temple of Einhasad. Show it to a High Priest at the temple, he will know what to do with it.
-Even if I could leave the valley to travel there, an undead such as myself could never enter the temple. If you will do this for me I will pay you well. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-14.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-14.html deleted file mode 100644 index 785b0426db..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-14.html +++ /dev/null @@ -1,3 +0,0 @@ -Antharas Watchman Gilmore:
-Please go ahead and deliver the relic I gave you. You can come back and resume dispatching the cave servants afterwards. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-15.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-15.html deleted file mode 100644 index fd8ba57044..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-15.html +++ /dev/null @@ -1,6 +0,0 @@ -Watcher of Antharas Gilmore:
-Oh, you're back? Perhaps I should reward for your good work, hmm?
-Now, while you're here, I'd like to ask you to help with the same task in your future endeavours, as there are other friends of mine who still cannot rest in the watcher's tomb. Would you do this for me again in a while?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-16.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-16.html deleted file mode 100644 index fb33cbc75d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-16.html +++ /dev/null @@ -1,3 +0,0 @@ -Antharas Watchman Gilmore:
-Oh, thank you! I knew I could depend on you. This could go on for a while. There seems to be no end of cave servants in this cursed valley. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-17.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-17.html deleted file mode 100644 index 464b896f45..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30754-17.html +++ /dev/null @@ -1,3 +0,0 @@ -Antharas Watchman Gilmore:
-Oh, well, you have done much good. I knew you wouldn't stay here forever, as I and my soldiers must do. Thank you for helping me and my men. Goodbye... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30756-01.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30756-01.html deleted file mode 100644 index 089d914b7c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30756-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Sir Kristof Rodemai:
-Really! So the ancestors of the Rodemai family participated in the expedition to fight Antharas during the Elmoreden Empire?
-Yes, that does sound familiar. My family has always been a self-sacrificing lot... This key proves it. So, how about that?
-I appreciate your bringing me something so precious! Here, take this as a token of my appreciation for your hard work. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30756-02.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30756-02.html deleted file mode 100644 index 9209516c9e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30756-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Sir Kristof Rodemai:
-The recovery of this key has restored the honor of the Rodemai family. It actually traces our ancestry back to the time of the ancient empire! I hope that you will continue working for us... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30857-01.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30857-01.html deleted file mode 100644 index 7b77324814..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30857-01.html +++ /dev/null @@ -1,5 +0,0 @@ -High Priest Orven:
-This looks like a badge from our temple...? Don't tell me... Could it be a relic from the battle against Antharas 1,000 years ago? How could it be?
-I have always feared that our efforts to slay Antharas have been in vain. This old badge tells me that our responsibilities cannot be avoided, no matter the cost.
-Thank you, young traveler. Please take this small token of appreciation from our temple. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30857-02.html b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30857-02.html deleted file mode 100644 index 179c2b115c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/30857-02.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Orven:
-The badge is safe with other sacred relics deep within the temple. Many fail to grasp the significance of this old piece of metal, but I hear it calling me to my duty... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/Q00344_1000YearsTheEndOfLamentation.java b/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/Q00344_1000YearsTheEndOfLamentation.java deleted file mode 100644 index a39b209ced..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00344_1000YearsTheEndOfLamentation/Q00344_1000YearsTheEndOfLamentation.java +++ /dev/null @@ -1,380 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00344_1000YearsTheEndOfLamentation; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * 1000 years, the End of Lamentation (344) - * @author Pandragon - */ -public final class Q00344_1000YearsTheEndOfLamentation extends Quest -{ - // NPCs - private static final int KAIEN = 30623; - private static final int GARVARENTZ = 30704; - private static final int GILMORE = 30754; - private static final int RODEMAI = 30756; - private static final int ORVEN = 30857; - // Items - private static final int ARTICLES = 4269; - private static final ItemHolder OLD_KEY = new ItemHolder(4270, 1); - private static final ItemHolder OLD_HILT = new ItemHolder(4271, 1); - private static final ItemHolder TOTEM_NECKLACE = new ItemHolder(4272, 1); - private static final ItemHolder CRUCIFIX = new ItemHolder(4273, 1); - // Monsters - private static final Map MONSTER_CHANCES = new HashMap<>(); - { - MONSTER_CHANCES.put(20236, 0.58); // Cave Servant - MONSTER_CHANCES.put(20238, 0.75); // Cave Servant Warrior - MONSTER_CHANCES.put(20237, 0.78); // Cave Servant Archer - MONSTER_CHANCES.put(20239, 0.79); // Cave Servant Captain - MONSTER_CHANCES.put(20240, 0.85); // Royal Cave Servant - MONSTER_CHANCES.put(20272, 0.58); // Cave Servant - MONSTER_CHANCES.put(20273, 0.78); // Cave Servant Archer - MONSTER_CHANCES.put(20274, 0.75); // Cave Servant Warrior - MONSTER_CHANCES.put(20275, 0.79); // Cave Servant Captain - MONSTER_CHANCES.put(20276, 0.85); // Royal Cave Servant - } - // Rewards - private static final ItemHolder ORIHARUKON_ORE = new ItemHolder(1874, 25); - private static final ItemHolder VARNISH_OF_PURITY = new ItemHolder(1887, 10); - private static final ItemHolder SCROLL_EWC = new ItemHolder(951, 1); - private static final ItemHolder RAID_SWORD = new ItemHolder(133, 1); - private static final ItemHolder COKES = new ItemHolder(1879, 55); - private static final ItemHolder RING_OF_AGES = new ItemHolder(885, 1); - private static final ItemHolder LEATHER = new ItemHolder(1882, 70); - private static final ItemHolder COARSE_BONE_POWDER = new ItemHolder(1881, 50); - private static final ItemHolder HEAVY_DOOM_HAMMER = new ItemHolder(191, 1); - private static final ItemHolder STONE_OF_PURITY = new ItemHolder(1875, 19); - private static final ItemHolder SCROLL_EAC = new ItemHolder(952, 5); - private static final ItemHolder DRAKE_LEATHER_BOOTS = new ItemHolder(2437, 1); - // Misc - private static final int MIN_LVL = 48; - - public Q00344_1000YearsTheEndOfLamentation() - { - super(344, Q00344_1000YearsTheEndOfLamentation.class.getSimpleName(), "1000 years, the End of Lamentation"); - addStartNpc(GILMORE); - addTalkId(KAIEN, GARVARENTZ, GILMORE, RODEMAI, ORVEN); - addKillId(MONSTER_CHANCES.keySet()); - registerQuestItems(ARTICLES, OLD_KEY.getId(), OLD_HILT.getId(), TOTEM_NECKLACE.getId(), CRUCIFIX.getId()); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "30754-03.htm": - case "30754-16.html": - { - htmltext = event; - break; - } - case "30754-04.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - } - case "30754-08.html": - { - if (qs.isCond(1)) - { - final long count = getQuestItemsCount(player, ARTICLES); - if (count < 1) - { - htmltext = "30754-07.html"; - } - else - { - takeItems(player, ARTICLES, -1); - if (getRandom(1000) >= count) - { - giveAdena(player, count * 60, true); - htmltext = event; - } - else - { - qs.setCond(2, true); - switch (getRandom(4)) - { - case 0: - { - qs.setMemoState(1); - giveItems(player, OLD_HILT); - break; - } - case 1: - { - qs.setMemoState(2); - giveItems(player, OLD_KEY); - break; - } - case 2: - { - qs.setMemoState(3); - giveItems(player, TOTEM_NECKLACE); - break; - } - case 3: - { - qs.setMemoState(4); - giveItems(player, CRUCIFIX); - break; - } - } - htmltext = "30754-09.html"; - } - } - } - break; - } - case "30754-17.html": - { - if (qs.isCond(1)) - { - htmltext = event; - qs.exitQuest(true, true); - } - break; - } - case "relic_info": - { - switch (qs.getMemoState()) - { - case 1: - { - htmltext = "30754-10.html"; - break; - } - case 2: - { - htmltext = "30754-11.html"; - break; - } - case 3: - { - htmltext = "30754-12.html"; - break; - } - case 4: - { - htmltext = "30754-13.html"; - break; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - final QuestState qs = getQuestState(talker, true); - String htmltext = getNoQuestMsg(talker); - switch (npc.getId()) - { - case GILMORE: - { - if (qs.isCreated()) - { - htmltext = (talker.getLevel() >= MIN_LVL) ? "30754-02.htm" : "30754-01.htm"; - } - else if (qs.isStarted()) - { - if (qs.isCond(1)) - { - htmltext = (hasQuestItems(talker, ARTICLES)) ? "30754-06.html" : "30754-05.html"; - } - else if (hasItem(talker, OLD_KEY) || hasItem(talker, OLD_HILT) || hasItem(talker, TOTEM_NECKLACE) || hasItem(talker, CRUCIFIX)) - { - htmltext = "30754-14.html"; - } - else - { - qs.setCond(1); - htmltext = "30754-15.html"; - } - } - else - { - htmltext = getAlreadyCompletedMsg(talker); - } - break; - } - case KAIEN: - { - if (qs.getMemoState() == 1) - { - if (hasItem(talker, OLD_HILT)) - { - takeItems(talker, OLD_HILT.getId(), -1); - final int rand = getRandom(100); - if (rand <= 52) - { - rewardItems(talker, ORIHARUKON_ORE); - } - else if (rand <= 76) - { - rewardItems(talker, VARNISH_OF_PURITY); - } - else if (rand <= 98) - { - rewardItems(talker, SCROLL_EWC); - } - else - { - rewardItems(talker, RAID_SWORD); - } - qs.setCond(1); - htmltext = "30623-01.html"; - } - else - { - htmltext = "30623-02.html"; - } - } - break; - } - case RODEMAI: - { - if (qs.getMemoState() == 2) - { - if (hasItem(talker, OLD_KEY)) - { - takeItems(talker, OLD_KEY.getId(), -1); - final int rand = getRandom(100); - if (rand <= 39) - { - rewardItems(talker, COKES); - } - else if (rand <= 89) - { - rewardItems(talker, SCROLL_EWC); - } - else - { - rewardItems(talker, RING_OF_AGES); - } - qs.setCond(1); - htmltext = "30756-01.html"; - } - else - { - htmltext = "30756-02.html"; - } - } - break; - } - case GARVARENTZ: - { - if (qs.getMemoState() == 3) - { - if (hasItem(talker, TOTEM_NECKLACE)) - { - takeItems(talker, TOTEM_NECKLACE.getId(), -1); - final int rand = getRandom(100); - if (rand <= 47) - { - rewardItems(talker, LEATHER); - } - else if (rand <= 97) - { - rewardItems(talker, COARSE_BONE_POWDER); - } - else - { - rewardItems(talker, HEAVY_DOOM_HAMMER); - } - qs.setCond(1); - htmltext = "30704-01.html"; - } - else - { - htmltext = "30704-02.html"; - } - } - break; - } - case ORVEN: - { - if (qs.getMemoState() == 4) - { - if (hasItem(talker, CRUCIFIX)) - { - takeItems(talker, CRUCIFIX.getId(), -1); - final int rand = getRandom(100); - if (rand <= 49) - { - rewardItems(talker, STONE_OF_PURITY); - } - else if (rand <= 69) - { - rewardItems(talker, SCROLL_EAC); - } - else - { - rewardItems(talker, DRAKE_LEATHER_BOOTS); - } - qs.setCond(1); - htmltext = "30857-01.html"; - } - else - { - htmltext = "30857-02.html"; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc); - if (qs != null) - { - giveItemRandomly(qs.getPlayer(), npc, ARTICLES, 1, 0, MONSTER_CHANCES.get(npc.getId()), true); - } - return super.onKill(npc, killer, isSummon); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10294_SevenSignsToTheMonasteryOfSilence/32793-01.html b/trunk/dist/game/data/scripts/quests/Q10294_SevenSignsToTheMonasteryOfSilence/32793-01.html index cab41d4af2..17911bb0ca 100644 --- a/trunk/dist/game/data/scripts/quests/Q10294_SevenSignsToTheMonasteryOfSilence/32793-01.html +++ b/trunk/dist/game/data/scripts/quests/Q10294_SevenSignsToTheMonasteryOfSilence/32793-01.html @@ -1,4 +1,4 @@ Elmore-Aden's Saintess Solina:
-……

+

This phantom looks like Solina, Elmore-Aden's Saintess. The phantom appears to be trying to say something. It looks like she doesn't intend to harm us... \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10295_SevenSignsSolinasTomb/Q10295_SevenSignsSolinasTomb.java b/trunk/dist/game/data/scripts/quests/Q10295_SevenSignsSolinasTomb/Q10295_SevenSignsSolinasTomb.java index e442e1f4c5..be6bc5ac61 100644 --- a/trunk/dist/game/data/scripts/quests/Q10295_SevenSignsSolinasTomb/Q10295_SevenSignsSolinasTomb.java +++ b/trunk/dist/game/data/scripts/quests/Q10295_SevenSignsSolinasTomb/Q10295_SevenSignsSolinasTomb.java @@ -327,7 +327,12 @@ public final class Q10295_SevenSignsSolinasTomb extends Quest public String onTalk(L2Npc npc, L2PcInstance player) { String htmltext = getNoQuestMsg(player); - QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, true); + if (st == null) + { + return htmltext; + } + int cond = st.getInt("cond"); int npcId = npc.getId(); switch (st.getState()) diff --git a/trunk/dist/game/data/scripts/quests/Q10296_SevenSignsPowerOfTheSeal/Q10296_SevenSignsPowerOfTheSeal.java b/trunk/dist/game/data/scripts/quests/Q10296_SevenSignsPowerOfTheSeal/Q10296_SevenSignsPowerOfTheSeal.java index db6a410ee2..347f59e5f9 100644 --- a/trunk/dist/game/data/scripts/quests/Q10296_SevenSignsPowerOfTheSeal/Q10296_SevenSignsPowerOfTheSeal.java +++ b/trunk/dist/game/data/scripts/quests/Q10296_SevenSignsPowerOfTheSeal/Q10296_SevenSignsPowerOfTheSeal.java @@ -51,12 +51,13 @@ public final class Q10296_SevenSignsPowerOfTheSeal extends Quest @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - String htmltext = event; - QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, false); if (st == null) { - return getNoQuestMsg(player); + return null; } + + String htmltext = event; switch (event) { case "32792-04.html": @@ -96,11 +97,12 @@ public final class Q10296_SevenSignsPowerOfTheSeal extends Quest public String onTalk(L2Npc npc, L2PcInstance player) { String htmltext = getNoQuestMsg(player); - QuestState st = player.getQuestState(getName()); + final QuestState st = getQuestState(player, true); if (st == null) { return htmltext; } + switch (npc.getId()) { case ErissEvilThoughts: diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java index a13d95b264..170873cd94 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -99,7 +99,6 @@ import quests.Q00300_HuntingLetoLizardman.Q00300_HuntingLetoLizardman; import quests.Q00307_ControlDeviceOfTheGiants.Q00307_ControlDeviceOfTheGiants; import quests.Q00310_OnlyWhatRemains.Q00310_OnlyWhatRemains; import quests.Q00326_VanquishRemnants.Q00326_VanquishRemnants; -import quests.Q00344_1000YearsTheEndOfLamentation.Q00344_1000YearsTheEndOfLamentation; import quests.Q00350_EnhanceYourWeapon.Q00350_EnhanceYourWeapon; import quests.Q00357_WarehouseKeepersAmbition.Q00357_WarehouseKeepersAmbition; import quests.Q00359_ForASleeplessDeadman.Q00359_ForASleeplessDeadman; @@ -296,7 +295,6 @@ public class QuestMasterHandler Q00307_ControlDeviceOfTheGiants.class, Q00310_OnlyWhatRemains.class, Q00326_VanquishRemnants.class, - Q00344_1000YearsTheEndOfLamentation.class, Q00350_EnhanceYourWeapon.class, Q00357_WarehouseKeepersAmbition.class, Q00359_ForASleeplessDeadman.class, diff --git a/trunk/dist/libs/javolution-5.5.1-src.zip b/trunk/dist/libs/javolution-5.5.1-src.zip deleted file mode 100644 index 8ef1a9f739..0000000000 Binary files a/trunk/dist/libs/javolution-5.5.1-src.zip and /dev/null differ diff --git a/trunk/dist/libs/javolution-5.5.1.jar b/trunk/dist/libs/javolution-5.5.1.jar deleted file mode 100644 index b95b2bb200..0000000000 Binary files a/trunk/dist/libs/javolution-5.5.1.jar and /dev/null differ diff --git a/trunk/dist/tools/sql/game/spawnlist.sql b/trunk/dist/tools/sql/game/spawnlist.sql index 846f48cef5..5b33093dbd 100644 --- a/trunk/dist/tools/sql/game/spawnlist.sql +++ b/trunk/dist/tools/sql/game/spawnlist.sql @@ -42273,6 +42273,30 @@ DELETE FROM `spawnlist` WHERE (npc_templateid='20151' AND locx='-106766' AND loc -- Remove old Altar Npcs DELETE FROM spawnlist WHERE npc_templateid in(4324, 4325, 4327, 4328); +-- Remove Catacomb Ziggurats +DELETE FROM spawnlist WHERE npc_templateid in( +31095, 31096, 31097, 31098, 31099, 31100, 31101, +31102, 31103, 31104, 31105, 31106, 31107, 31108, +31109, 31110, 31114, 31115, 31116, 31117, 31118, +31119, 31120, 31121, 31122, 31123, 31124, 31125); + +-- Remove Catacomb Monsters +DELETE FROM spawnlist WHERE npc_templateid in( +21144, 21156, 21208, 21209, 21210, 21211, 21213, +21214, 21215, 21217, 21218, 21219, 21221, 21222, +21223, 21224, 21225, 21226, 21227, 21228, 21229, +21230, 21231, 21236, 21237, 21238, 21239, 21240, +21241, 21242, 21243, 21244, 21245, 21246, 21247, +21248, 21249, 21250, 21251, 21252, 21253, 21254, +21255, 21161, 21204, 21183, 21162, 21205, 21184, +21181, 21158, 21202, 21200, 21179, 21201, 21180, +21198, 21166, 21154, 21155, 21174, 21195, 21148, +21187, 21188, 21167, 21185, 21206, 21163, 21165, +21207, 21186, 21164, 21157, 21182, 21203, 21159, +21176, 21197, 21177, 21153, 21178, 21199, 21152, +21194, 21173, 21151, 21150, 21169, 21190, 21192, +21143, 21171, 21145, 21172, 21146, 21193, 21170, 21191); + -- TI NPC Walkers INSERT INTO `spawnlist` VALUES ('OldManAndBoy', '1', '33578', '-113894', '257318', '-1131', '0', '0', '58997', '0', '0', '0', '0'); INSERT INTO `spawnlist` VALUES ('Hera', '1', '33208', '-114263', '257326', '-1131', '0', '0', '58070', '0', '0', '0', '0'); diff --git a/trunk/java/com/l2jserver/gameserver/ItemsAutoDestroy.java b/trunk/java/com/l2jserver/gameserver/ItemsAutoDestroy.java index 8e75d7a404..a1956696c3 100644 --- a/trunk/java/com/l2jserver/gameserver/ItemsAutoDestroy.java +++ b/trunk/java/com/l2jserver/gameserver/ItemsAutoDestroy.java @@ -19,8 +19,7 @@ package com.l2jserver.gameserver; import java.util.List; - -import javolution.util.FastList; +import java.util.concurrent.CopyOnWriteArrayList; import com.l2jserver.Config; import com.l2jserver.gameserver.enums.ItemLocation; @@ -30,7 +29,7 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; public final class ItemsAutoDestroy { - private final List _items = new FastList<>(); + private final List _items = new CopyOnWriteArrayList<>(); protected ItemsAutoDestroy() { diff --git a/trunk/java/com/l2jserver/gameserver/LoginServerThread.java b/trunk/java/com/l2jserver/gameserver/LoginServerThread.java index 2a073731e4..5808e11a92 100644 --- a/trunk/java/com/l2jserver/gameserver/LoginServerThread.java +++ b/trunk/java/com/l2jserver/gameserver/LoginServerThread.java @@ -37,13 +37,11 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.model.L2World; @@ -106,7 +104,7 @@ public class LoginServerThread extends Thread private final boolean _reserveHost; private int _maxPlayer; private final List _waitingClients; - private final FastMap _accountsInGameServer = new FastMap<>(); + private final ConcurrentHashMap _accountsInGameServer = new ConcurrentHashMap<>(); private int _status; private String _serverName; private final List _subnets; @@ -135,8 +133,7 @@ public class LoginServerThread extends Thread _reserveHost = Config.RESERVE_HOST_ON_LOGIN; _subnets = Config.GAME_SERVER_SUBNETS; _hosts = Config.GAME_SERVER_HOSTS; - _waitingClients = new FastList<>(); - _accountsInGameServer.shared(); + _waitingClients = new ArrayList<>(); _maxPlayer = Config.MAXIMUM_ONLINE_USERS; } diff --git a/trunk/java/com/l2jserver/gameserver/RecipeController.java b/trunk/java/com/l2jserver/gameserver/RecipeController.java index 3ff72da505..9707f8b69b 100644 --- a/trunk/java/com/l2jserver/gameserver/RecipeController.java +++ b/trunk/java/com/l2jserver/gameserver/RecipeController.java @@ -21,10 +21,9 @@ package com.l2jserver.gameserver; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.data.xml.impl.RecipeData; import com.l2jserver.gameserver.datatables.ItemTable; @@ -57,11 +56,10 @@ import com.l2jserver.util.Rnd; public class RecipeController { - protected static final FastMap _activeMakers = new FastMap<>(); + protected static final ConcurrentHashMap _activeMakers = new ConcurrentHashMap<>(); protected RecipeController() { - _activeMakers.shared(); } public void requestBookOpen(L2PcInstance player, boolean isDwarvenCraft) diff --git a/trunk/java/com/l2jserver/gameserver/ThreadPoolManager.java b/trunk/java/com/l2jserver/gameserver/ThreadPoolManager.java index 6315c58ce0..7549e2c84c 100644 --- a/trunk/java/com/l2jserver/gameserver/ThreadPoolManager.java +++ b/trunk/java/com/l2jserver/gameserver/ThreadPoolManager.java @@ -30,10 +30,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.util.StringUtil; @@ -616,11 +612,6 @@ public class ThreadPoolManager " |- PoolSize: " + _eventThreadPool.getPoolSize(), " |- CompletedTasks: " + _eventThreadPool.getCompletedTaskCount(), " |- QueuedTasks: " + _eventThreadPool.getQueue().size(), - " | -------", - " + Javolution stats:", - " |- FastList: " + FastList.report(), - " |- FastMap: " + FastMap.report(), - " |- FastSet: " + FastSet.report(), " | -------" }; } diff --git a/trunk/java/com/l2jserver/gameserver/ai/L2CharacterAI.java b/trunk/java/com/l2jserver/gameserver/ai/L2CharacterAI.java index 9635f79f93..fd62b91350 100644 --- a/trunk/java/com/l2jserver/gameserver/ai/L2CharacterAI.java +++ b/trunk/java/com/l2jserver/gameserver/ai/L2CharacterAI.java @@ -28,10 +28,9 @@ import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_MOVE_TO; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_PICK_UP; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_REST; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ThreadPoolManager; @@ -1205,19 +1204,19 @@ public class L2CharacterAI extends AbstractAI public boolean isHealer = false; public boolean isFighter = false; public boolean cannotMoveOnLand = false; - public List generalSkills = new FastList<>(); - public List buffSkills = new FastList<>(); + public List generalSkills = new ArrayList<>(); + public List buffSkills = new ArrayList<>(); public int lastBuffTick = 0; - public List debuffSkills = new FastList<>(); + public List debuffSkills = new ArrayList<>(); public int lastDebuffTick = 0; - public List cancelSkills = new FastList<>(); - public List healSkills = new FastList<>(); - // public List trickSkills = new FastList<>(); - public List generalDisablers = new FastList<>(); - public List sleepSkills = new FastList<>(); - public List rootSkills = new FastList<>(); - public List muteSkills = new FastList<>(); - public List resurrectSkills = new FastList<>(); + public List cancelSkills = new ArrayList<>(); + public List healSkills = new ArrayList<>(); + // public List trickSkills = new ArrayList<>(); + public List generalDisablers = new ArrayList<>(); + public List sleepSkills = new ArrayList<>(); + public List rootSkills = new ArrayList<>(); + public List muteSkills = new ArrayList<>(); + public List resurrectSkills = new ArrayList<>(); public boolean hasHealOrResurrect = false; public boolean hasLongRangeSkills = false; public boolean hasLongRangeDamageSkills = false; diff --git a/trunk/java/com/l2jserver/gameserver/ai/L2ControllableMobAI.java b/trunk/java/com/l2jserver/gameserver/ai/L2ControllableMobAI.java index 1bd4c03cc0..aaa94ee42b 100644 --- a/trunk/java/com/l2jserver/gameserver/ai/L2ControllableMobAI.java +++ b/trunk/java/com/l2jserver/gameserver/ai/L2ControllableMobAI.java @@ -21,11 +21,10 @@ package com.l2jserver.gameserver.ai; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_ACTIVE; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_ATTACK; +import java.util.ArrayList; import java.util.Collection; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.MobGroup; import com.l2jserver.gameserver.model.MobGroupTable; @@ -447,7 +446,7 @@ public final class L2ControllableMobAI extends L2AttackableAI double dy, dx; double dblAggroRange = aggroRange * aggroRange; - List potentialTarget = new FastList<>(); + List potentialTarget = new ArrayList<>(); Collection objs = npc.getKnownList().getKnownObjects().values(); for (L2Object obj : objs) diff --git a/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Forum.java b/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Forum.java index 929c4c68ef..081cb20aa5 100644 --- a/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Forum.java +++ b/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Forum.java @@ -21,14 +21,13 @@ package com.l2jserver.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.communitybbs.Manager.ForumsBBSManager; import com.l2jserver.gameserver.communitybbs.Manager.TopicBBSManager; @@ -69,8 +68,8 @@ public class Forum { _forumId = Forumid; _fParent = FParent; - _children = new FastList<>(); - _topic = new FastMap<>(); + _children = new ArrayList<>(); + _topic = new HashMap<>(); } /** @@ -89,8 +88,8 @@ public class Forum _forumPerm = perm; _fParent = parent; _ownerID = OwnerID; - _children = new FastList<>(); - _topic = new FastMap<>(); + _children = new ArrayList<>(); + _topic = new HashMap<>(); parent._children.add(this); ForumsBBSManager.getInstance().addForum(this); _loaded = true; diff --git a/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Post.java b/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Post.java index 6ed5813d22..a7b3ed9646 100644 --- a/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Post.java +++ b/trunk/java/com/l2jserver/gameserver/communitybbs/BB/Post.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.communitybbs.BB; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.communitybbs.Manager.PostBBSManager; @@ -60,7 +59,7 @@ public class Post */ public Post(String _PostOwner, int _PostOwnerID, long date, int tid, int _PostForumID, String txt) { - _post = new FastList<>(); + _post = new ArrayList<>(); CPost cp = new CPost(); cp.postId = 0; cp.postOwner = _PostOwner; @@ -96,7 +95,7 @@ public class Post public Post(Topic t) { - _post = new FastList<>(); + _post = new ArrayList<>(); load(t); } diff --git a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/BaseBBSManager.java b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/BaseBBSManager.java index 97dd5920a4..6ca57f3698 100644 --- a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/BaseBBSManager.java +++ b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/BaseBBSManager.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.communitybbs.Manager; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.ShowBoard; @@ -59,7 +58,7 @@ public abstract class BaseBBSManager */ protected void send1002(L2PcInstance activeChar, String string, String string2, String string3) { - List _arg = new FastList<>(); + List _arg = new ArrayList<>(); _arg.add("0"); _arg.add("0"); _arg.add("0"); diff --git a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java index 055355d376..66969eb97a 100644 --- a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java +++ b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/ForumsBBSManager.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.communitybbs.Manager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.communitybbs.BB.Forum; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -42,7 +41,7 @@ public class ForumsBBSManager extends BaseBBSManager */ protected ForumsBBSManager() { - _table = new FastList<>(); + _table = new ArrayList<>(); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT forum_id FROM forums WHERE forum_type = 0")) diff --git a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java index 0b8ab34cb8..75a8570830 100644 --- a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java +++ b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/PostBBSManager.java @@ -20,12 +20,11 @@ package com.l2jserver.gameserver.communitybbs.Manager; import java.text.DateFormat; import java.util.Date; +import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.StringTokenizer; -import javolution.util.FastMap; - import com.l2jserver.gameserver.communitybbs.BB.Forum; import com.l2jserver.gameserver.communitybbs.BB.Post; import com.l2jserver.gameserver.communitybbs.BB.Post.CPost; @@ -36,7 +35,7 @@ import com.l2jserver.util.StringUtil; public class PostBBSManager extends BaseBBSManager { - private final Map _postByTopic = new FastMap<>(); + private final Map _postByTopic = new HashMap<>(); public Post getGPosttByTopic(Topic t) { diff --git a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java index 660842b66c..21773c0345 100644 --- a/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java +++ b/trunk/java/com/l2jserver/gameserver/communitybbs/Manager/TopicBBSManager.java @@ -19,14 +19,13 @@ package com.l2jserver.gameserver.communitybbs.Manager; import java.text.DateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Map; import java.util.StringTokenizer; - -import javolution.util.FastList; -import javolution.util.FastMap; +import java.util.concurrent.ConcurrentHashMap; import com.l2jserver.gameserver.communitybbs.BB.Forum; import com.l2jserver.gameserver.communitybbs.BB.Post; @@ -43,8 +42,8 @@ public class TopicBBSManager extends BaseBBSManager protected TopicBBSManager() { - _table = new FastList<>(); - _maxId = new FastMap().shared(); + _table = new ArrayList<>(); + _maxId = new ConcurrentHashMap<>(); } public void addTopic(Topic tt) diff --git a/trunk/java/com/l2jserver/gameserver/data/xml/impl/AdminData.java b/trunk/java/com/l2jserver/gameserver/data/xml/impl/AdminData.java index d109b0e77a..e084199c1e 100644 --- a/trunk/java/com/l2jserver/gameserver/data/xml/impl/AdminData.java +++ b/trunk/java/com/l2jserver/gameserver/data/xml/impl/AdminData.java @@ -23,10 +23,9 @@ 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.logging.Level; -import javolution.util.FastMap; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -48,7 +47,7 @@ public final class AdminData implements IXmlReader { private final Map _accessLevels = new HashMap<>(); private final Map _adminCommandAccessRights = new HashMap<>(); - private final Map _gmList = new FastMap().shared(); + private final Map _gmList = new ConcurrentHashMap<>(); private int _highestLevel = 0; protected AdminData() diff --git a/trunk/java/com/l2jserver/gameserver/data/xml/impl/SkillTreesData.java b/trunk/java/com/l2jserver/gameserver/data/xml/impl/SkillTreesData.java index 4beecc7a35..29aa6e9d82 100644 --- a/trunk/java/com/l2jserver/gameserver/data/xml/impl/SkillTreesData.java +++ b/trunk/java/com/l2jserver/gameserver/data/xml/impl/SkillTreesData.java @@ -78,7 +78,7 @@ import com.l2jserver.gameserver.model.skills.Skill; */ public final class SkillTreesData implements IXmlReader { - // ClassId, FastMap of Skill Hash Code, L2SkillLearn + // ClassId, HashMap of Skill Hash Code, L2SkillLearn private static final Map> _classSkillTrees = new HashMap<>(); private static final Map> _transferSkillTrees = new HashMap<>(); private static final Map> _raceSkillTree = new HashMap<>(); diff --git a/trunk/java/com/l2jserver/gameserver/datatables/EventDroplist.java b/trunk/java/com/l2jserver/gameserver/datatables/EventDroplist.java index c1ff93c448..6a55c6dc23 100644 --- a/trunk/java/com/l2jserver/gameserver/datatables/EventDroplist.java +++ b/trunk/java/com/l2jserver/gameserver/datatables/EventDroplist.java @@ -18,11 +18,10 @@ */ package com.l2jserver.gameserver.datatables; +import java.util.ArrayList; import java.util.Date; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.script.DateRange; import com.l2jserver.gameserver.script.EventDrop; @@ -37,7 +36,7 @@ public class EventDroplist /** * The table containing all DataDrop object */ - private static final List _allNpcDateDrops = new FastList<>(); + private static final List _allNpcDateDrops = new ArrayList<>(); public static class DateDrop { @@ -106,7 +105,7 @@ public class EventDroplist */ public List getAllDrops() { - final List list = new FastList<>(); + final List list = new ArrayList<>(); final Date currentDate = new Date(); for (DateDrop drop : _allNpcDateDrops) { diff --git a/trunk/java/com/l2jserver/gameserver/datatables/ItemTable.java b/trunk/java/com/l2jserver/gameserver/datatables/ItemTable.java index 7045560494..92b78459f7 100644 --- a/trunk/java/com/l2jserver/gameserver/datatables/ItemTable.java +++ b/trunk/java/com/l2jserver/gameserver/datatables/ItemTable.java @@ -23,6 +23,7 @@ import static com.l2jserver.gameserver.model.itemcontainer.Inventory.ADENA_ID; import java.sql.Connection; import java.sql.PreparedStatement; import java.util.Collection; +import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.concurrent.ScheduledFuture; @@ -30,8 +31,6 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -61,7 +60,7 @@ public class ItemTable private static Logger LOGGER = Logger.getLogger(ItemTable.class.getName()); private static Logger LOGGER_ITEMS = Logger.getLogger("item"); - public static final Map _slots = new FastMap<>(); + public static final Map _slots = new HashMap<>(); private L2Item[] _allTemplates; private final Map _etcItems; @@ -120,9 +119,9 @@ public class ItemTable protected ItemTable() { - _etcItems = new FastMap<>(); - _armors = new FastMap<>(); - _weapons = new FastMap<>(); + _etcItems = new HashMap<>(); + _armors = new HashMap<>(); + _weapons = new HashMap<>(); load(); } diff --git a/trunk/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java b/trunk/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java index 645366c061..1a0e3ba045 100644 --- a/trunk/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java +++ b/trunk/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java @@ -20,6 +20,7 @@ package com.l2jserver.gameserver.datatables; import java.io.File; import java.io.IOException; +import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; @@ -27,8 +28,6 @@ import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javolution.util.FastMap; - import org.w3c.dom.Document; import org.w3c.dom.Node; import org.xml.sax.SAXException; @@ -54,7 +53,7 @@ public class MerchantPriceConfigTable implements InstanceListManager private static final String MPCS_FILE = "MerchantPriceConfig.xml"; - private final Map _mpcs = new FastMap<>(); + private final Map _mpcs = new HashMap<>(); private MerchantPriceConfig _defaultMpc; public MerchantPriceConfig getMerchantPriceConfig(L2MerchantInstance npc) diff --git a/trunk/java/com/l2jserver/gameserver/datatables/SpawnTable.java b/trunk/java/com/l2jserver/gameserver/datatables/SpawnTable.java index 9a3ba60f18..47efcffb64 100644 --- a/trunk/java/com/l2jserver/gameserver/datatables/SpawnTable.java +++ b/trunk/java/com/l2jserver/gameserver/datatables/SpawnTable.java @@ -26,13 +26,12 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArraySet; import java.util.function.Function; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; -import javolution.util.FastSet; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -58,7 +57,7 @@ public final class SpawnTable implements IXmlReader private static final String SELECT_SPAWNS = "SELECT count, npc_templateid, locx, locy, locz, heading, respawn_delay, respawn_random, loc_id, periodOfDay FROM spawnlist"; private static final String SELECT_CUSTOM_SPAWNS = "SELECT count, npc_templateid, locx, locy, locz, heading, respawn_delay, respawn_random, loc_id, periodOfDay FROM custom_spawnlist"; - private static final Map> _spawnTable = new FastMap>().shared(); + private static final Map> _spawnTable = new ConcurrentHashMap<>(); private int _xmlSpawnCount = 0; @@ -463,7 +462,7 @@ public final class SpawnTable implements IXmlReader { if (!_spawnTable.containsKey(spawn.getId())) { - _spawnTable.put(spawn.getId(), new FastSet().shared()); + _spawnTable.put(spawn.getId(), new CopyOnWriteArraySet()); } _spawnTable.get(spawn.getId()).add(spawn); } diff --git a/trunk/java/com/l2jserver/gameserver/engines/DocumentBase.java b/trunk/java/com/l2jserver/gameserver/engines/DocumentBase.java index 78e9615f74..07bfcdc6f0 100644 --- a/trunk/java/com/l2jserver/gameserver/engines/DocumentBase.java +++ b/trunk/java/com/l2jserver/gameserver/engines/DocumentBase.java @@ -20,6 +20,7 @@ package com.l2jserver.gameserver.engines; import java.io.File; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -30,8 +31,6 @@ import java.util.logging.Logger; import javax.xml.parsers.DocumentBuilderFactory; -import javolution.util.FastMap; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -154,7 +153,7 @@ public abstract class DocumentBase protected DocumentBase(File pFile) { _file = pFile; - _tables = new FastMap<>(); + _tables = new HashMap<>(); } public Document parse() @@ -185,7 +184,7 @@ public abstract class DocumentBase protected void resetTable() { - _tables = new FastMap<>(); + _tables = new HashMap<>(); } protected void setTable(String name, String[] table) diff --git a/trunk/java/com/l2jserver/gameserver/engines/DocumentEngine.java b/trunk/java/com/l2jserver/gameserver/engines/DocumentEngine.java index 02115b75b2..13a51664da 100644 --- a/trunk/java/com/l2jserver/gameserver/engines/DocumentEngine.java +++ b/trunk/java/com/l2jserver/gameserver/engines/DocumentEngine.java @@ -19,12 +19,11 @@ package com.l2jserver.gameserver.engines; import java.io.File; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.engines.items.DocumentItem; @@ -40,8 +39,8 @@ public class DocumentEngine { private static final Logger _log = Logger.getLogger(DocumentEngine.class.getName()); - private final List _itemFiles = new FastList<>(); - private final List _skillFiles = new FastList<>(); + private final List _itemFiles = new ArrayList<>(); + private final List _skillFiles = new ArrayList<>(); public static DocumentEngine getInstance() { @@ -114,7 +113,7 @@ public class DocumentEngine */ public List loadItems() { - List list = new FastList<>(); + List list = new ArrayList<>(); for (File f : _itemFiles) { DocumentItem document = new DocumentItem(f); diff --git a/trunk/java/com/l2jserver/gameserver/engines/items/DocumentItem.java b/trunk/java/com/l2jserver/gameserver/engines/items/DocumentItem.java index 8136ff3cd1..04d2c77f0c 100644 --- a/trunk/java/com/l2jserver/gameserver/engines/items/DocumentItem.java +++ b/trunk/java/com/l2jserver/gameserver/engines/items/DocumentItem.java @@ -21,11 +21,10 @@ package com.l2jserver.gameserver.engines.items; import java.io.File; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; -import javolution.util.FastList; - import org.w3c.dom.Document; import org.w3c.dom.Node; @@ -40,7 +39,7 @@ import com.l2jserver.gameserver.model.items.L2Item; public final class DocumentItem extends DocumentBase { private Item _currentItem = null; - private final List _itemsInFile = new FastList<>(); + private final List _itemsInFile = new ArrayList<>(); /** * @param file diff --git a/trunk/java/com/l2jserver/gameserver/engines/skills/DocumentSkill.java b/trunk/java/com/l2jserver/gameserver/engines/skills/DocumentSkill.java index 14e40e073c..8800fad74e 100644 --- a/trunk/java/com/l2jserver/gameserver/engines/skills/DocumentSkill.java +++ b/trunk/java/com/l2jserver/gameserver/engines/skills/DocumentSkill.java @@ -19,11 +19,10 @@ package com.l2jserver.gameserver.engines.skills; import java.io.File; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; -import javolution.util.FastList; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -54,12 +53,12 @@ public class DocumentSkill extends DocumentBase public StatsSet[] enchsets7; public StatsSet[] enchsets8; public int currentLevel; - public List skills = new FastList<>(); - public List currentSkills = new FastList<>(); + public List skills = new ArrayList<>(); + public List currentSkills = new ArrayList<>(); } private SkillInfo _currentSkill; - private final List _skillsInFile = new FastList<>(); + private final List _skillsInFile = new ArrayList<>(); public DocumentSkill(File file) { @@ -1491,7 +1490,7 @@ public class DocumentSkill extends DocumentBase private void makeSkills() { int count = 0; - _currentSkill.currentSkills = new FastList<>(_currentSkill.sets.length + _currentSkill.enchsets1.length + _currentSkill.enchsets2.length + _currentSkill.enchsets3.length + _currentSkill.enchsets4.length + _currentSkill.enchsets5.length + _currentSkill.enchsets6.length + _currentSkill.enchsets7.length + _currentSkill.enchsets8.length); + _currentSkill.currentSkills = new ArrayList<>(_currentSkill.sets.length + _currentSkill.enchsets1.length + _currentSkill.enchsets2.length + _currentSkill.enchsets3.length + _currentSkill.enchsets4.length + _currentSkill.enchsets5.length + _currentSkill.enchsets6.length + _currentSkill.enchsets7.length + _currentSkill.enchsets8.length); StatsSet set; for (int i = 0; i < _currentSkill.sets.length; i++) { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/BoatManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/BoatManager.java index 03ac5955a6..75e40b655a 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/BoatManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/BoatManager.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.instancemanager; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.idfactory.IdFactory; import com.l2jserver.gameserver.model.L2World; @@ -34,7 +33,7 @@ import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket; public class BoatManager { - private final Map _boats = new FastMap<>(); + private final Map _boats = new HashMap<>(); private final boolean[] _docksBusy = new boolean[3]; public static final int TALKING_ISLAND = 1; diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/CHSiegeManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/CHSiegeManager.java index d0a542324d..d5488e6918 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/CHSiegeManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/CHSiegeManager.java @@ -21,11 +21,10 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; +import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.model.L2Clan; @@ -46,7 +45,7 @@ public final class CHSiegeManager private static final Logger _log = Logger.getLogger(CHSiegeManager.class.getName()); private static final String SQL_LOAD_HALLS = "SELECT * FROM siegable_clanhall"; - private final FastMap _siegableHalls = new FastMap<>(); + private final HashMap _siegableHalls = new HashMap<>(); protected CHSiegeManager() { @@ -87,7 +86,7 @@ public final class CHSiegeManager } } - public FastMap getConquerableHalls() + public HashMap getConquerableHalls() { return _siegableHalls; } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/CastleManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/CastleManager.java index ad7fc3d3dd..483c986ae4 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/CastleManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/CastleManager.java @@ -22,14 +22,13 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.InstanceListManager; import com.l2jserver.gameserver.model.L2Clan; @@ -181,7 +180,7 @@ public final class CastleManager implements InstanceListManager { if (_castles == null) { - _castles = new FastList<>(); + _castles = new ArrayList<>(); } return _castles; } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/ClanHallManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/ClanHallManager.java index 2ec90eae39..5d866779a6 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/ClanHallManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/ClanHallManager.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; +import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.model.L2Clan; @@ -48,7 +47,7 @@ public final class ClanHallManager private final Map _clanHall; private final Map _freeClanHall; private final Map _allAuctionableClanHalls; - private static Map _allClanHalls = new FastMap<>(); + private static Map _allClanHalls = new HashMap<>(); private boolean _loaded = false; public boolean loaded() @@ -58,9 +57,9 @@ public final class ClanHallManager protected ClanHallManager() { - _clanHall = new FastMap<>(); - _freeClanHall = new FastMap<>(); - _allAuctionableClanHalls = new FastMap<>(); + _clanHall = new HashMap<>(); + _freeClanHall = new HashMap<>(); + _allAuctionableClanHalls = new HashMap<>(); load(); } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/CoupleManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/CoupleManager.java index 415259af0e..c8bbf78697 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/CoupleManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/CoupleManager.java @@ -21,11 +21,10 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -38,7 +37,7 @@ public final class CoupleManager { private static final Logger _log = Logger.getLogger(CoupleManager.class.getName()); - private FastList _couples; + private ArrayList _couples; protected CoupleManager() { @@ -139,11 +138,11 @@ public final class CoupleManager return -1; } - public final FastList getCouples() + public final ArrayList getCouples() { if (_couples == null) { - _couples = new FastList<>(); + _couples = new ArrayList<>(); } return _couples; } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/DayNightSpawnManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/DayNightSpawnManager.java index 44cead57d9..0bb844f72e 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/DayNightSpawnManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/DayNightSpawnManager.java @@ -19,13 +19,12 @@ package com.l2jserver.gameserver.instancemanager; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -54,7 +53,7 @@ public final class DayNightSpawnManager { _dayCreatures = new ArrayList<>(); _nightCreatures = new ArrayList<>(); - _bosses = new FastMap<>(); + _bosses = new HashMap<>(); } public void addDayCreature(L2Spawn spawnDat) diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/DuelManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/DuelManager.java index 502a901f82..3d14db931b 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/DuelManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/DuelManager.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.instancemanager; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Duel; import com.l2jserver.gameserver.model.skills.Skill; @@ -34,7 +33,7 @@ public final class DuelManager protected DuelManager() { - _duels = new FastList<>(); + _duels = new ArrayList<>(); } private int getNextDuelId() diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/FortManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/FortManager.java index f7492598c5..ff3cac0dbc 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/FortManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/FortManager.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.InstanceListManager; import com.l2jserver.gameserver.model.L2Clan; @@ -159,7 +158,7 @@ public final class FortManager implements InstanceListManager { if (_forts == null) { - _forts = new FastList<>(); + _forts = new ArrayList<>(); } return _forts; } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeGuardManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeGuardManager.java index 172494f980..f81630adce 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeGuardManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeGuardManager.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.HashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.model.L2Spawn; @@ -38,7 +37,7 @@ public final class FortSiegeGuardManager private static final Logger _log = Logger.getLogger(FortSiegeGuardManager.class.getName()); private final Fort _fort; - private final FastMap> _siegeGuards = new FastMap<>(); + private final HashMap> _siegeGuards = new HashMap<>(); public FortSiegeGuardManager(Fort fort) { @@ -52,7 +51,7 @@ public final class FortSiegeGuardManager { try { - final FastList monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId()); + final ArrayList monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId()); if (monsterList != null) { for (L2Spawn spawnDat : monsterList) @@ -82,7 +81,7 @@ public final class FortSiegeGuardManager { try { - final FastList monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId()); + final ArrayList monsterList = getSiegeGuardSpawn().get(getFort().getResidenceId()); if (monsterList != null) { @@ -115,7 +114,7 @@ public final class FortSiegeGuardManager ps.setInt(1, fortId); try (ResultSet rs = ps.executeQuery()) { - FastList siegeGuardSpawns = new FastList<>(); + ArrayList siegeGuardSpawns = new ArrayList<>(); while (rs.next()) { L2NpcTemplate template = NpcData.getInstance().getTemplate(rs.getInt("npcId")); @@ -151,7 +150,7 @@ public final class FortSiegeGuardManager return _fort; } - public final FastMap> getSiegeGuardSpawn() + public final HashMap> getSiegeGuardSpawn() { return _siegeGuards; } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeManager.java index 35311d3ea3..da3cff866e 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/FortSiegeManager.java @@ -24,15 +24,14 @@ import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Properties; import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.model.CombatFlag; @@ -54,8 +53,8 @@ public final class FortSiegeManager private int _attackerMaxClans = 500; // Max number of clans // Fort Siege settings - private FastMap> _commanderSpawnList; - private FastMap> _flagList; + private HashMap> _commanderSpawnList; + private HashMap> _flagList; private boolean _justToTerritory = true; // Changeable in fortsiege.properties private int _flagMaxCount = 1; // Changeable in fortsiege.properties private int _siegeClanMinLevel = 4; // Changeable in fortsiege.properties @@ -138,13 +137,13 @@ public final class FortSiegeManager _suspiciousMerchantRespawnDelay = Integer.decode(siegeSettings.getProperty("SuspiciousMerchantRespawnDelay", "180")); // Siege spawns settings - _commanderSpawnList = new FastMap<>(); - _flagList = new FastMap<>(); + _commanderSpawnList = new HashMap<>(); + _flagList = new HashMap<>(); for (Fort fort : FortManager.getInstance().getForts()) { - FastList _commanderSpawns = new FastList<>(); - FastList _flagSpawns = new FastList<>(); + ArrayList _commanderSpawns = new ArrayList<>(); + ArrayList _flagSpawns = new ArrayList<>(); for (int i = 1; i < 5; i++) { final String _spawnParams = siegeSettings.getProperty(fort.getName().replace(" ", "") + "Commander" + i, ""); @@ -199,7 +198,7 @@ public final class FortSiegeManager } } - public final FastList getCommanderSpawnList(int _fortId) + public final ArrayList getCommanderSpawnList(int _fortId) { if (_commanderSpawnList.containsKey(_fortId)) { @@ -208,7 +207,7 @@ public final class FortSiegeManager return null; } - public final FastList getFlagList(int _fortId) + public final ArrayList getFlagList(int _fortId) { if (_flagList.containsKey(_fortId)) { @@ -273,7 +272,7 @@ public final class FortSiegeManager { if (_sieges == null) { - _sieges = new FastList<>(); + _sieges = new ArrayList<>(); } return _sieges; } @@ -282,7 +281,7 @@ public final class FortSiegeManager { if (_sieges == null) { - _sieges = new FastList<>(); + _sieges = new ArrayList<>(); } _sieges.add(fortSiege); } @@ -301,7 +300,7 @@ public final class FortSiegeManager final Fort fort = FortManager.getInstance().getFort(player); - final FastList fcf = _flagList.get(fort.getResidenceId()); + final ArrayList fcf = _flagList.get(fort.getResidenceId()); for (CombatFlag cf : fcf) { if (cf.getCombatFlagInstance() == item) @@ -349,7 +348,7 @@ public final class FortSiegeManager { final Fort fort = FortManager.getInstance().getFortById(fortId); - final FastList fcf = _flagList.get(fort.getResidenceId()); + final ArrayList fcf = _flagList.get(fort.getResidenceId()); for (CombatFlag cf : fcf) { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java index 72d6529e63..008328da83 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java @@ -21,6 +21,7 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.Calendar; import java.util.HashMap; import java.util.List; @@ -31,9 +32,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -124,9 +122,9 @@ public final class FourSepulchersManager }; // @formatter:on - protected Map _archonSpawned = new FastMap<>(); - protected Map _hallInUse = new FastMap<>(); - protected Map _challengers = new FastMap<>(); + protected Map _archonSpawned = new HashMap<>(); + protected Map _hallInUse = new HashMap<>(); + protected Map _challengers = new HashMap<>(); protected Map _startHallSpawns = new HashMap<>(); protected Map _hallGateKeepers = new HashMap<>(); protected Map _keyBoxNpc = new HashMap<>(); @@ -147,7 +145,7 @@ public final class FourSepulchersManager protected List _managers; protected List _dukeFinalSpawns; protected List _emperorsGraveSpawns; - protected List _allMobs = new FastList<>(); + protected List _allMobs = new ArrayList<>(); private long _attackTimeEnd = 0; private long _coolDownTimeEnd = 0; @@ -276,7 +274,7 @@ public final class FourSepulchersManager protected void spawnManagers() { - _managers = new FastList<>(); + _managers = new ArrayList<>(); int i = 31921; for (L2Spawn spawnDat; i <= 31924; i++) @@ -518,7 +516,7 @@ public final class FourSepulchersManager ps2.setInt(2, 1); try (ResultSet rs2 = ps2.executeQuery()) { - _physicalSpawns = new FastList<>(); + _physicalSpawns = new ArrayList<>(); while (rs2.next()) { template1 = NpcData.getInstance().getTemplate(rs2.getInt("npc_templateid")); @@ -575,7 +573,7 @@ public final class FourSepulchersManager ps2.setInt(2, 2); try (ResultSet rset2 = ps2.executeQuery()) { - _magicalSpawns = new FastList<>(); + _magicalSpawns = new ArrayList<>(); while (rset2.next()) { @@ -636,7 +634,7 @@ public final class FourSepulchersManager { ps2.clearParameters(); - _dukeFinalSpawns = new FastList<>(); + _dukeFinalSpawns = new ArrayList<>(); while (rset2.next()) { @@ -695,7 +693,7 @@ public final class FourSepulchersManager ps2.setInt(2, 6); try (ResultSet rs2 = ps2.executeQuery()) { - _emperorsGraveSpawns = new FastList<>(); + _emperorsGraveSpawns = new ArrayList<>(); while (rs2.next()) { @@ -1071,7 +1069,7 @@ public final class FourSepulchersManager if (Config.FS_PARTY_MEMBER_COUNT > 1) { - List members = new FastList<>(); + List members = new ArrayList<>(); for (L2PcInstance mem : player.getParty().getMembers()) { if (!mem.isDead() && Util.checkIfInRange(700, player, mem, true)) @@ -1105,7 +1103,7 @@ public final class FourSepulchersManager } if ((Config.FS_PARTY_MEMBER_COUNT <= 1) && player.isInParty()) { - List members = new FastList<>(); + List members = new ArrayList<>(); for (L2PcInstance mem : player.getParty().getMembers()) { if (!mem.isDead() && Util.checkIfInRange(700, player, mem, true)) @@ -1184,7 +1182,7 @@ public final class FourSepulchersManager } List monsterList; - List mobs = new FastList<>(); + List mobs = new ArrayList<>(); L2Spawn keyBoxMobSpawn; if (Rnd.get(2) == 0) diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java index cd8283ef77..c633e8174b 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java @@ -32,9 +32,6 @@ import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -62,13 +59,13 @@ public final class GrandBossManager implements IStorable protected static Logger _log = Logger.getLogger(GrandBossManager.class.getName()); - protected static Map _bosses = new FastMap<>(); + protected static Map _bosses = new HashMap<>(); protected static Map _storedInfo = new HashMap<>(); private final Map _bossStatus = new HashMap<>(); - private final List _zones = new FastList<>(); + private final List _zones = new ArrayList<>(); protected GrandBossManager() { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java index d2b93b3906..4b77cb81b6 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java @@ -25,8 +25,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; -import javolution.util.FastMap; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -42,12 +40,12 @@ import com.l2jserver.gameserver.model.instancezone.InstanceWorld; */ public final class InstanceManager implements IXmlReader { - private static final Map _instanceList = new FastMap<>(); - private final Map _instanceWorlds = new FastMap<>(); + private static final Map _instanceList = new HashMap<>(); + private final Map _instanceWorlds = new HashMap<>(); private int _dynamic = 300000; // InstanceId Names private static final Map _instanceIdNames = new HashMap<>(); - private final Map> _playerInstanceTimes = new FastMap<>(); + private final Map> _playerInstanceTimes = new HashMap<>(); // SQL Queries private static final String ADD_INSTANCE_TIME = "INSERT INTO character_instance_time (charId,instanceId,time) values (?,?,?) ON DUPLICATE KEY UPDATE time=?"; private static final String RESTORE_INSTANCE_TIMES = "SELECT instanceId,time FROM character_instance_time WHERE charId=?"; @@ -168,7 +166,7 @@ public final class InstanceManager implements IXmlReader { return; // already restored } - _playerInstanceTimes.put(playerObjId, new FastMap()); + _playerInstanceTimes.put(playerObjId, new HashMap()); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement ps = con.prepareStatement(RESTORE_INSTANCE_TIMES)) { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/ItemsOnGroundManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/ItemsOnGroundManager.java index 0106ba81e6..bddc0edffd 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/ItemsOnGroundManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/ItemsOnGroundManager.java @@ -24,11 +24,10 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ItemsAutoDestroy; @@ -44,7 +43,7 @@ public final class ItemsOnGroundManager implements Runnable { private static final Logger _log = Logger.getLogger(ItemsOnGroundManager.class.getName()); - private final List _items = new FastList().shared(); + private final List _items = new CopyOnWriteArrayList<>(); protected ItemsOnGroundManager() { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/MailManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/MailManager.java index dfd6c24365..5fc456671f 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/MailManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/MailManager.java @@ -23,6 +23,7 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; @@ -30,8 +31,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.idfactory.IdFactory; @@ -143,7 +142,7 @@ public final class MailManager public final List getInbox(int objectId) { - final List inbox = new FastList<>(); + final List inbox = new ArrayList<>(); for (Message msg : getMessages()) { if ((msg != null) && (msg.getReceiverId() == objectId) && !msg.isDeletedByReceiver()) @@ -161,7 +160,7 @@ public final class MailManager public final List getOutbox(int objectId) { - final List outbox = new FastList<>(); + final List outbox = new ArrayList<>(); for (Message msg : getMessages()) { if ((msg != null) && (msg.getSenderId() == objectId) && !msg.isDeletedBySender()) diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/MentorManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/MentorManager.java index 7c8db496ba..f7949f4cb3 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/MentorManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/MentorManager.java @@ -27,11 +27,10 @@ import java.util.Collections; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.model.L2Mentee; import com.l2jserver.gameserver.model.L2World; @@ -47,8 +46,8 @@ public class MentorManager { private static final Logger _log = Logger.getLogger(MentorManager.class.getName()); - private final Map> _menteeData = new FastMap>().shared(); - private final Map _mentors = new FastMap().shared(); + private final Map> _menteeData = new ConcurrentHashMap<>(); + private final Map _mentors = new ConcurrentHashMap<>(); protected MentorManager() { @@ -166,7 +165,7 @@ public class MentorManager */ public void addMentor(int mentorId, int menteeId) { - _menteeData.computeIfAbsent(mentorId, map -> new FastMap().shared()); + _menteeData.computeIfAbsent(mentorId, map -> new ConcurrentHashMap<>()); if (_menteeData.get(mentorId).containsKey(menteeId)) { _menteeData.get(mentorId).get(menteeId).load(); // Just reloading data if is already there diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/MercTicketManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/MercTicketManager.java index 9f418ff415..94194d7656 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/MercTicketManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/MercTicketManager.java @@ -23,11 +23,10 @@ import java.sql.ResultSet; import java.sql.Statement; import java.util.Iterator; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.enums.ItemLocation; @@ -50,7 +49,7 @@ public final class MercTicketManager { private static final Logger _log = Logger.getLogger(MercTicketManager.class.getName()); - private static final FastList _droppedTickets = new FastList<>(); + private static final CopyOnWriteArrayList _droppedTickets = new CopyOnWriteArrayList<>(); // TODO: move all these values into siege.properties // max tickets per merc type = 10 + (castleid * 2)? @@ -114,7 +113,6 @@ public final class MercTicketManager protected MercTicketManager() { - _droppedTickets.shared(); load(); } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java index 83230fe598..abf90310ea 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java @@ -25,13 +25,12 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.Comparator; +import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -43,7 +42,7 @@ public class RaidBossPointsManager { private static final Logger _log = Logger.getLogger(RaidBossPointsManager.class.getName()); - private FastMap> _list; + private HashMap> _list; public RaidBossPointsManager() { @@ -52,7 +51,7 @@ public class RaidBossPointsManager private final void init() { - _list = new FastMap<>(); + _list = new HashMap<>(); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT `charId`,`boss_id`,`points` FROM `character_raid_points`")) @@ -65,7 +64,7 @@ public class RaidBossPointsManager Map values = _list.get(charId); if (values == null) { - values = new FastMap<>(); + values = new HashMap<>(); } values.put(bossId, points); _list.put(charId, values); @@ -100,7 +99,7 @@ public class RaidBossPointsManager Map tmpPoint = _list.get(ownerId); if (tmpPoint == null) { - tmpPoint = new FastMap<>(); + tmpPoint = new HashMap<>(); tmpPoint.put(bossId, points); updatePointsInDB(player, bossId, points); } @@ -163,8 +162,8 @@ public class RaidBossPointsManager public Map getRankList() { - Map tmpRanking = new FastMap<>(); - Map tmpPoints = new FastMap<>(); + Map tmpRanking = new HashMap<>(); + Map tmpPoints = new HashMap<>(); for (int ownerId : _list.keySet()) { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java index 5de4c4adbe..b1f3f54aed 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java @@ -23,13 +23,12 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Calendar; +import java.util.HashMap; import java.util.Map; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -49,10 +48,10 @@ public class RaidBossSpawnManager { private static final Logger _log = Logger.getLogger(RaidBossSpawnManager.class.getName()); - protected static final Map _bosses = new FastMap<>(); - protected static final Map _spawns = new FastMap<>(); - protected static final Map _storedInfo = new FastMap<>(); - protected static final Map> _schedules = new FastMap<>(); + protected static final Map _bosses = new HashMap<>(); + protected static final Map _spawns = new HashMap<>(); + protected static final Map _storedInfo = new HashMap<>(); + protected static final Map> _schedules = new HashMap<>(); public static enum StatusEnum { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeGuardManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeGuardManager.java index 916ca2b3df..b899145e20 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeGuardManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeGuardManager.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.instancemanager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.model.L2Spawn; @@ -39,7 +38,7 @@ public final class SiegeGuardManager private static Logger _log = Logger.getLogger(SiegeGuardManager.class.getName()); private final Castle _castle; - private final List _siegeGuardSpawn = new FastList<>(); + private final List _siegeGuardSpawn = new ArrayList<>(); public SiegeGuardManager(Castle castle) { diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeManager.java index 98681e9427..bbeb930203 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/SiegeManager.java @@ -29,8 +29,6 @@ import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.datatables.SkillData; @@ -270,7 +268,7 @@ public final class SiegeManager public final List getSieges() { - FastList sieges = new FastList<>(); + ArrayList sieges = new ArrayList<>(); for (Castle castle : CastleManager.getInstance().getCastles()) { sieges.add(castle.getSiege()); diff --git a/trunk/java/com/l2jserver/gameserver/model/AutoSpawnHandler.java b/trunk/java/com/l2jserver/gameserver/model/AutoSpawnHandler.java index 6fabbb4e15..6b439e43a8 100644 --- a/trunk/java/com/l2jserver/gameserver/model/AutoSpawnHandler.java +++ b/trunk/java/com/l2jserver/gameserver/model/AutoSpawnHandler.java @@ -22,6 +22,8 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.ScheduledFuture; @@ -29,9 +31,6 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -75,8 +74,8 @@ public class AutoSpawnHandler protected AutoSpawnHandler() { - _registeredSpawns = new FastMap<>(); - _runningSpawns = new FastMap<>(); + _registeredSpawns = new HashMap<>(); + _runningSpawns = new HashMap<>(); restoreSpawnData(); } @@ -111,8 +110,8 @@ public class AutoSpawnHandler } // create clean list - _registeredSpawns = new FastMap<>(); - _runningSpawns = new FastMap<>(); + _registeredSpawns = new HashMap<>(); + _runningSpawns = new HashMap<>(); // load restoreSpawnData(); @@ -372,7 +371,7 @@ public class AutoSpawnHandler public Map getAutoSpawnInstances(int npcId) { - Map spawnInstList = new FastMap<>(); + Map spawnInstList = new HashMap<>(); for (AutoSpawnInstance spawnInst : _registeredSpawns.values()) { @@ -606,9 +605,9 @@ public class AutoSpawnHandler protected int _lastLocIndex = -1; - private final List _npcList = new FastList<>(); + private final List _npcList = new ArrayList<>(); - private final List _locList = new FastList<>(); + private final List _locList = new ArrayList<>(); private boolean _spawnActive; @@ -693,7 +692,7 @@ public class AutoSpawnHandler public L2Spawn[] getSpawns() { - List npcSpawns = new FastList<>(); + List npcSpawns = new ArrayList<>(); for (L2Npc npcInst : _npcList) { diff --git a/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java b/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java index 8814520887..2678a25db0 100644 --- a/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java +++ b/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java @@ -31,8 +31,6 @@ import java.util.function.Consumer; import java.util.function.Function; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Summon; @@ -65,17 +63,17 @@ public final class CharEffectList { private static final Logger _log = Logger.getLogger(CharEffectList.class.getName()); /** Map containing all effects from buffs for this effect list. */ - private volatile FastMap _buffs; + private volatile ConcurrentHashMap _buffs; /** Map containing all triggered skills for this effect list. */ - private volatile FastMap _triggered; + private volatile ConcurrentHashMap _triggered; /** Map containing all dances/songs for this effect list. */ - private volatile FastMap _dances; + private volatile ConcurrentHashMap _dances; /** Map containing all toggle for this effect list. */ - private volatile FastMap _toggles; + private volatile ConcurrentHashMap _toggles; /** Map containing all debuffs for this effect list. */ - private volatile FastMap _debuffs; + private volatile ConcurrentHashMap _debuffs; /** They bypass most of the actions, they are not included in most operations. */ - private volatile FastMap _passives; + private volatile ConcurrentHashMap _passives; /** Map containing the all stacked effect in progress for each abnormal type. */ private volatile Map _stackedEffects; /** Set containing all abnormal types that shouldn't be added to this creature effect list. */ @@ -118,8 +116,7 @@ public final class CharEffectList { if (_buffs == null) { - _buffs = new FastMap<>(); - _buffs.shared(); + _buffs = new ConcurrentHashMap<>(); } } } @@ -138,8 +135,7 @@ public final class CharEffectList { if (_triggered == null) { - _triggered = new FastMap<>(); - _triggered.shared(); + _triggered = new ConcurrentHashMap<>(); } } } @@ -158,8 +154,7 @@ public final class CharEffectList { if (_dances == null) { - _dances = new FastMap<>(); - _dances.shared(); + _dances = new ConcurrentHashMap<>(); } } } @@ -178,8 +173,7 @@ public final class CharEffectList { if (_toggles == null) { - _toggles = new FastMap<>(); - _toggles.shared(); + _toggles = new ConcurrentHashMap<>(); } } } @@ -198,8 +192,7 @@ public final class CharEffectList { if (_debuffs == null) { - _debuffs = new FastMap<>(); - _debuffs.shared(); + _debuffs = new ConcurrentHashMap<>(); } } } @@ -218,8 +211,7 @@ public final class CharEffectList { if (_passives == null) { - _passives = new FastMap<>(); - _passives.shared(); + _passives = new ConcurrentHashMap<>(); } } } diff --git a/trunk/java/com/l2jserver/gameserver/model/L2Clan.java b/trunk/java/com/l2jserver/gameserver/model/L2Clan.java index b70dd85463..baca9c164a 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2Clan.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2Clan.java @@ -22,16 +22,15 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.communitybbs.BB.Forum; @@ -110,7 +109,7 @@ public class L2Clan implements IIdentifiable, INamable private String _name; private int _clanId; private L2ClanMember _leader; - private final Map _members = new FastMap<>(); + private final Map _members = new HashMap<>(); private String _allyName; private int _allyId; @@ -131,16 +130,16 @@ public class L2Clan implements IIdentifiable, INamable private int _bloodOathCount; private final ItemContainer _warehouse = new ClanWarehouse(this); - private final List _atWarWith = new FastList<>(); - private final List _atWarAttackers = new FastList<>(); + private final List _atWarWith = new ArrayList<>(); + private final List _atWarAttackers = new ArrayList<>(); private Forum _forum; - /** FastMap(Integer, L2Skill) containing all skills of the L2Clan */ - private final Map _skills = new FastMap<>(); - private final Map _privs = new FastMap<>(); - private final Map _subPledges = new FastMap<>(); - private final Map _subPledgeSkills = new FastMap<>(); + /** HashMap(Integer, L2Skill) containing all skills of the L2Clan */ + private final Map _skills = new HashMap<>(); + private final Map _privs = new HashMap<>(); + private final Map _subPledges = new HashMap<>(); + private final Map _subPledgeSkills = new HashMap<>(); private int _reputationScore = 0; private int _rank = 0; @@ -610,9 +609,9 @@ public class L2Clan implements IIdentifiable, INamable * @param exclude the object Id to exclude from list. * @return all online members excluding the one with object id {code exclude}. */ - public FastList getOnlineMembers(int exclude) + public ArrayList getOnlineMembers(int exclude) { - final FastList onlineMembers = new FastList<>(); + final ArrayList onlineMembers = new ArrayList<>(); for (L2ClanMember temp : _members.values()) { if ((temp != null) && temp.isOnline() && (temp.getObjectId() != exclude)) @@ -1712,7 +1711,7 @@ public class L2Clan implements IIdentifiable, INamable private final int _id; private String _subPledgeName; private int _leaderId; - private final Map _subPledgeSkills = new FastMap<>(); + private final Map _subPledgeSkills = new HashMap<>(); public SubPledge(int id, String name, int leaderId) { @@ -2991,7 +2990,7 @@ public class L2Clan implements IIdentifiable, INamable public SubPledgeSkill[] getAllSubSkills() { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (Skill skill : _subPledgeSkills.values()) { list.add(new SubPledgeSkill(0, skill.getId(), skill.getLevel())); @@ -3004,7 +3003,6 @@ public class L2Clan implements IIdentifiable, INamable } } SubPledgeSkill[] result = list.toArray(new SubPledgeSkill[list.size()]); - FastList.recycle(list); return result; } diff --git a/trunk/java/com/l2jserver/gameserver/model/L2CommandChannel.java b/trunk/java/com/l2jserver/gameserver/model/L2CommandChannel.java index b49c6d6990..63aad7996b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2CommandChannel.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2CommandChannel.java @@ -19,10 +19,9 @@ package com.l2jserver.gameserver.model; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.function.Function; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -50,7 +49,7 @@ public class L2CommandChannel extends AbstractPlayerGroup { _commandLeader = leader; L2Party party = leader.getParty(); - _parties = new FastList().shared(); + _parties = new CopyOnWriteArrayList<>(); _parties.add(party); _channelLvl = party.getLevel(); party.setCommandChannel(this); @@ -164,7 +163,7 @@ public class L2CommandChannel extends AbstractPlayerGroup @Override public List getMembers() { - List members = new FastList().shared(); + List members = new CopyOnWriteArrayList<>(); for (L2Party party : getPartys()) { members.addAll(party.getMembers()); diff --git a/trunk/java/com/l2jserver/gameserver/model/L2ContactList.java b/trunk/java/com/l2jserver/gameserver/model/L2ContactList.java index 15bfc3ecb8..6d7429bcd2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2ContactList.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2ContactList.java @@ -22,11 +22,10 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.sql.impl.CharNameTable; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -53,7 +52,7 @@ public class L2ContactList public L2ContactList(L2PcInstance player) { activeChar = player; - _contacts = new FastList().shared(); + _contacts = new CopyOnWriteArrayList<>(); restore(); } diff --git a/trunk/java/com/l2jserver/gameserver/model/L2Object.java b/trunk/java/com/l2jserver/gameserver/model/L2Object.java index 3dfe896a46..d97a9082f9 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2Object.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2Object.java @@ -19,10 +19,9 @@ package com.l2jserver.gameserver.model; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; -import javolution.util.FastMap; - import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.enums.ShotType; import com.l2jserver.gameserver.handler.ActionHandler; @@ -531,7 +530,7 @@ public abstract class L2Object extends ListenersContainer implements IIdentifiab { if (_scripts == null) { - _scripts = new FastMap().shared(); + _scripts = new ConcurrentHashMap<>(); } } } diff --git a/trunk/java/com/l2jserver/gameserver/model/L2Party.java b/trunk/java/com/l2jserver/gameserver/model/L2Party.java index ee1886c6be..e388aeafcc 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2Party.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2Party.java @@ -26,12 +26,11 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; @@ -84,7 +83,7 @@ public class L2Party extends AbstractPlayerGroup private static final Duration PARTY_POSITION_BROADCAST_INTERVAL = Duration.ofSeconds(12); private static final Duration PARTY_DISTRIBUTION_TYPE_REQUEST_TIMEOUT = Duration.ofSeconds(15); - private final FastList _members; + private final CopyOnWriteArrayList _members; private boolean _pendingInvitation = false; private long _pendingInviteTimeout; private int _partyLvl = 0; @@ -117,7 +116,7 @@ public class L2Party extends AbstractPlayerGroup */ public L2Party(L2PcInstance leader, PartyDistributionType partyDistributionType) { - _members = new FastList().shared(); + _members = new CopyOnWriteArrayList<>(); _members.add(leader); _partyLvl = leader.getLevel(); _distributionType = partyDistributionType; @@ -161,7 +160,7 @@ public class L2Party extends AbstractPlayerGroup */ private L2PcInstance getCheckedRandomMember(int itemId, L2Character target) { - List availableMembers = new FastList<>(); + List availableMembers = new ArrayList<>(); for (L2PcInstance member : getMembers()) { if (member.getInventory().validateCapacityByItemId(itemId) && Util.checkIfInRange(Config.ALT_PARTY_RANGE2, target, member, true)) @@ -365,8 +364,7 @@ public class L2Party extends AbstractPlayerGroup if (_positionBroadcastTask == null) { - _positionBroadcastTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> - { + _positionBroadcastTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(() -> { if (_positionPacket == null) { _positionPacket = new PartyMemberPosition(this); @@ -432,8 +430,7 @@ public class L2Party extends AbstractPlayerGroup { // Otherwise, delete the old sign, and apply it to the new target _tacticalSigns.replace(tacticalSignId, target); - getMembers().forEach(m -> - { + getMembers().forEach(m -> { m.sendPacket(new ExTacticalSign(tacticalTarget, 0)); m.sendPacket(new ExTacticalSign(target, tacticalSignId)); }); @@ -774,7 +771,7 @@ public class L2Party extends AbstractPlayerGroup // Check the number of party members that must be rewarded // (The party member must be in range to receive its reward) - List ToReward = FastList.newInstance(); + List ToReward = new ArrayList<>(); for (L2PcInstance member : membersList) { if (!Util.checkIfInRange(Config.ALT_PARTY_RANGE2, target, member, true)) @@ -797,8 +794,6 @@ public class L2Party extends AbstractPlayerGroup { member.addAdena("Party", count, player, true); } - - FastList.recycle((FastList) ToReward); } /** @@ -1049,7 +1044,7 @@ public class L2Party extends AbstractPlayerGroup { try { - return _members.getFirst(); + return _members.get(0); } catch (NoSuchElementException e) { diff --git a/trunk/java/com/l2jserver/gameserver/model/L2Radar.java b/trunk/java/com/l2jserver/gameserver/model/L2Radar.java index ad5db70f82..0f6a7d2060 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2Radar.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2Radar.java @@ -18,7 +18,7 @@ */ package com.l2jserver.gameserver.model; -import javolution.util.FastList; +import java.util.ArrayList; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.RadarControl; @@ -29,12 +29,12 @@ import com.l2jserver.gameserver.network.serverpackets.RadarControl; public final class L2Radar { private final L2PcInstance _player; - private final FastList _markers; + private final ArrayList _markers; public L2Radar(L2PcInstance player) { _player = player; - _markers = new FastList<>(); + _markers = new ArrayList<>(); } // Add a marker to player's radar diff --git a/trunk/java/com/l2jserver/gameserver/model/L2SiegeClan.java b/trunk/java/com/l2jserver/gameserver/model/L2SiegeClan.java index a92be609fb..53ad3c957a 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2SiegeClan.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2SiegeClan.java @@ -18,17 +18,16 @@ */ package com.l2jserver.gameserver.model; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.enums.SiegeClanType; import com.l2jserver.gameserver.model.actor.L2Npc; public class L2SiegeClan { private int _clanId = 0; - private List _flag = new FastList<>(); + private List _flag = new ArrayList<>(); private int _numFlagsAdded = 0; private SiegeClanType _type; @@ -88,7 +87,7 @@ public class L2SiegeClan { if (_flag == null) { - _flag = new FastList<>(); + _flag = new ArrayList<>(); } return _flag; } diff --git a/trunk/java/com/l2jserver/gameserver/model/L2Spawn.java b/trunk/java/com/l2jserver/gameserver/model/L2Spawn.java index a0c155357c..b061481596 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2Spawn.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2Spawn.java @@ -19,14 +19,13 @@ package com.l2jserver.gameserver.model; import java.lang.reflect.Constructor; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ThreadPoolManager; @@ -80,8 +79,9 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable private boolean _doRespawn; /** If true then spawn is custom */ private boolean _customSpawn; - private static List _spawnListeners = new FastList<>(); - private final FastList _spawnedNpcs = new FastList<>(); + private static List _spawnListeners = new ArrayList<>(); + private final ArrayList _spawnedNpcs = new ArrayList<>(); + private L2Npc _lastSpawn; private Map _lastSpawnPoints; private boolean _isNoRndWalk = false; // Is no random walk @@ -675,6 +675,7 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable notifyNpcSpawned(mob); _spawnedNpcs.add(mob); + _lastSpawn = mob; if (_lastSpawnPoints != null) { _lastSpawnPoints.put(mob.getObjectId(), new Location(newlocx, newlocy, newlocz)); @@ -777,15 +778,10 @@ public class L2Spawn implements IPositionable, IIdentifiable, INamable public L2Npc getLastSpawn() { - if (!_spawnedNpcs.isEmpty()) - { - return _spawnedNpcs.getLast(); - } - - return null; + return _lastSpawn; } - public final FastList getSpawnedNpcs() + public final ArrayList getSpawnedNpcs() { return _spawnedNpcs; } diff --git a/trunk/java/com/l2jserver/gameserver/model/L2Territory.java b/trunk/java/com/l2jserver/gameserver/model/L2Territory.java index a96ab6fbcb..f1522488d2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2Territory.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2Territory.java @@ -18,11 +18,10 @@ */ package com.l2jserver.gameserver.model; +import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.util.Rnd; /** @@ -59,7 +58,7 @@ public class L2Territory public L2Territory(int terr) { - _points = new FastList<>(); + _points = new ArrayList<>(); _terr = terr; _xMin = 999999; _xMax = -999999; diff --git a/trunk/java/com/l2jserver/gameserver/model/L2World.java b/trunk/java/com/l2jserver/gameserver/model/L2World.java index 5c1e77e91f..3116e94959 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2World.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2World.java @@ -446,10 +446,10 @@ public final class L2World return null; } - // Create an FastList in order to contain all visible L2Object + // Create an ArrayList in order to contain all visible L2Object List result = new ArrayList<>(); - // Go through the FastList of region + // Go through the ArrayList of region for (L2WorldRegion regi : reg.getSurroundingRegions()) { // Go through visible objects of the selected region @@ -488,10 +488,10 @@ public final class L2World final int sqRadius = radius * radius; - // Create an FastList in order to contain all visible L2Object + // Create an ArrayList in order to contain all visible L2Object List result = new ArrayList<>(); - // Go through the FastList of region + // Go through the ArrayList of region for (L2WorldRegion regi : object.getWorldRegion().getSurroundingRegions()) { // Go through visible objects of the selected region @@ -529,7 +529,7 @@ public final class L2World final int sqRadius = radius * radius; - // Create an FastList in order to contain all visible L2Object + // Create an ArrayList in order to contain all visible L2Object List result = new ArrayList<>(); // Go through visible object of the selected region @@ -567,10 +567,10 @@ public final class L2World return null; } - // Create an FastList in order to contain all visible L2Object + // Create an ArrayList in order to contain all visible L2Object List result = new ArrayList<>(); - // Go through the FastList of region + // Go through the ArrayList of region for (L2WorldRegion regi : reg.getSurroundingRegions()) { // Create an Iterator to go through the visible L2Object of the L2WorldRegion diff --git a/trunk/java/com/l2jserver/gameserver/model/L2WorldRegion.java b/trunk/java/com/l2jserver/gameserver/model/L2WorldRegion.java index a08715d25a..27743bd6fa 100644 --- a/trunk/java/com/l2jserver/gameserver/model/L2WorldRegion.java +++ b/trunk/java/com/l2jserver/gameserver/model/L2WorldRegion.java @@ -22,12 +22,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.datatables.SpawnTable; @@ -58,8 +56,8 @@ public final class L2WorldRegion public L2WorldRegion(int pTileX, int pTileY) { - _allPlayable = new FastMap().shared(); - _visibleObjects = new FastMap().shared(); + _allPlayable = new ConcurrentHashMap<>(); + _visibleObjects = new ConcurrentHashMap<>(); _surroundingRegions = new ArrayList<>(); _tileX = pTileX; @@ -67,7 +65,7 @@ public final class L2WorldRegion // default a newly initialized region to inactive, unless always on is specified _active = Config.GRIDS_ALWAYS_ON; - _zones = new FastList<>(); + _zones = new ArrayList<>(); } public List getZones() @@ -456,7 +454,7 @@ public final class L2WorldRegion } /** - * @return the FastList _surroundingRegions containing all L2WorldRegion around the current L2WorldRegion + * @return the ArrayList _surroundingRegions containing all L2WorldRegion around the current L2WorldRegion */ public List getSurroundingRegions() { diff --git a/trunk/java/com/l2jserver/gameserver/model/MobGroup.java b/trunk/java/com/l2jserver/gameserver/model/MobGroup.java index cd3a40464d..99688271ce 100644 --- a/trunk/java/com/l2jserver/gameserver/model/MobGroup.java +++ b/trunk/java/com/l2jserver/gameserver/model/MobGroup.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.ai.L2ControllableMobAI; import com.l2jserver.gameserver.datatables.SpawnTable; @@ -68,7 +67,7 @@ public final class MobGroup { if (_mobs == null) { - _mobs = new FastList<>(); + _mobs = new ArrayList<>(); } return _mobs; @@ -370,7 +369,7 @@ public final class MobGroup protected void removeDead() { - List deadMobs = new FastList<>(); + List deadMobs = new ArrayList<>(); for (L2ControllableMobInstance mobInst : getMobs()) { diff --git a/trunk/java/com/l2jserver/gameserver/model/MobGroupTable.java b/trunk/java/com/l2jserver/gameserver/model/MobGroupTable.java index 2b8304f8de..ad4675bd48 100644 --- a/trunk/java/com/l2jserver/gameserver/model/MobGroupTable.java +++ b/trunk/java/com/l2jserver/gameserver/model/MobGroupTable.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; - import com.l2jserver.gameserver.model.actor.instance.L2ControllableMobInstance; /** @@ -36,7 +35,7 @@ public class MobGroupTable protected MobGroupTable() { - _groupMap = new FastMap<>(); + _groupMap = new HashMap<>(); } public static MobGroupTable getInstance() diff --git a/trunk/java/com/l2jserver/gameserver/model/PartyMatchRoomList.java b/trunk/java/com/l2jserver/gameserver/model/PartyMatchRoomList.java index 880f9b867d..284ff492a3 100644 --- a/trunk/java/com/l2jserver/gameserver/model/PartyMatchRoomList.java +++ b/trunk/java/com/l2jserver/gameserver/model/PartyMatchRoomList.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; - import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ExClosePartyRoom; @@ -36,7 +35,7 @@ public class PartyMatchRoomList protected PartyMatchRoomList() { - _rooms = new FastMap<>(); + _rooms = new HashMap<>(); } public synchronized void addPartyMatchRoom(int id, PartyMatchRoom room) diff --git a/trunk/java/com/l2jserver/gameserver/model/PartyMatchWaitingList.java b/trunk/java/com/l2jserver/gameserver/model/PartyMatchWaitingList.java index fa82ed3c0c..507e5138e6 100644 --- a/trunk/java/com/l2jserver/gameserver/model/PartyMatchWaitingList.java +++ b/trunk/java/com/l2jserver/gameserver/model/PartyMatchWaitingList.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** @@ -33,7 +32,7 @@ public class PartyMatchWaitingList protected PartyMatchWaitingList() { - _members = new FastList<>(); + _members = new ArrayList<>(); } public void addPlayer(L2PcInstance player) diff --git a/trunk/java/com/l2jserver/gameserver/model/Petition.java b/trunk/java/com/l2jserver/gameserver/model/Petition.java index 968a285759..3d8cc1a33b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/Petition.java +++ b/trunk/java/com/l2jserver/gameserver/model/Petition.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.enums.PetitionState; import com.l2jserver.gameserver.enums.PetitionType; import com.l2jserver.gameserver.idfactory.IdFactory; @@ -44,7 +43,7 @@ public final class Petition private final PetitionType _type; private PetitionState _state = PetitionState.PENDING; private final String _content; - private final List _messageLog = new FastList<>(); + private final List _messageLog = new ArrayList<>(); private final L2PcInstance _petitioner; private L2PcInstance _responder; diff --git a/trunk/java/com/l2jserver/gameserver/model/StatsSet.java b/trunk/java/com/l2jserver/gameserver/model/StatsSet.java index cbd2865d6c..ae66c45291 100644 --- a/trunk/java/com/l2jserver/gameserver/model/StatsSet.java +++ b/trunk/java/com/l2jserver/gameserver/model/StatsSet.java @@ -21,13 +21,12 @@ package com.l2jserver.gameserver.model; import java.time.Duration; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.gameserver.model.holders.MinionHolder; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.interfaces.IParserAdvUtils; @@ -48,7 +47,7 @@ public class StatsSet implements IParserAdvUtils public StatsSet() { - this(new FastMap()); + this(new HashMap()); } public StatsSet(Map map) diff --git a/trunk/java/com/l2jserver/gameserver/model/TradeList.java b/trunk/java/com/l2jserver/gameserver/model/TradeList.java index fee46c7c37..516c1feaf2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/TradeList.java +++ b/trunk/java/com/l2jserver/gameserver/model/TradeList.java @@ -20,12 +20,11 @@ package com.l2jserver.gameserver.model; import static com.l2jserver.gameserver.model.itemcontainer.Inventory.MAX_ADENA; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -59,7 +58,7 @@ public class TradeList public TradeList(L2PcInstance owner) { - _items = new FastList<>(); + _items = new ArrayList<>(); _owner = owner; } @@ -123,7 +122,7 @@ public class TradeList */ public TradeItem[] getAvailableItems(PcInventory inventory) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (TradeItem item : _items) { int el[] = new int[6]; @@ -135,8 +134,7 @@ public class TradeList inventory.adjustAvailableItem(item); list.add(item); } - TradeItem[] result = list.toArray(new TradeItem[list.size()]); - FastList.recycle(list); + final TradeItem[] result = list.toArray(new TradeItem[list.size()]); return result; } @@ -685,7 +683,7 @@ public class TradeList * @param items * @return int: result of trading. 0 - ok, 1 - canceled (no adena), 2 - failed (item error) */ - public synchronized int privateStoreBuy(L2PcInstance player, FastSet items) + public synchronized int privateStoreBuy(L2PcInstance player, HashSet items) { if (_locked) { diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java b/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java index cf23c61d8b..3c5fa271be 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/L2Character.java @@ -40,10 +40,6 @@ import java.util.logging.Logger; import java.util.stream.Collectors; import java.util.stream.Stream; -import javolution.util.FastList; -import javolution.util.FastMap; -import javolution.util.WeakFastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.GeoData; @@ -220,7 +216,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe /** Table of Calculators containing all used calculator */ private Calculator[] _calculators; /** Map containing all skills of this character. */ - private final Map _skills = new FastMap().shared(); + private final Map _skills = new ConcurrentHashMap<>(); /** Map containing the skill reuse time stamps. */ private volatile Map _reuseTimeStampsSkills = null; /** Map containing the item reuse time stamps. */ @@ -2699,7 +2695,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe { if (_attackByList == null) { - _attackByList = new WeakFastSet<>(true); + _attackByList = new HashSet<>(); } } } @@ -4315,8 +4311,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe if (distFraction > 1) { - ThreadPoolManager.getInstance().executeAi(() -> - { + ThreadPoolManager.getInstance().executeAi(() -> { try { if (Config.MOVE_BASED_KNOWNLIST) @@ -5605,7 +5600,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe int _skiprange = 0; int _skipgeo = 0; int _skippeace = 0; - List targetList = new FastList<>(targets.length); + List targetList = new ArrayList<>(targets.length); for (L2Object target : targets) { if (target instanceof L2Character) diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/L2Vehicle.java b/trunk/java/com/l2jserver/gameserver/model/actor/L2Vehicle.java index f729f74f87..84f65c8913 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/L2Vehicle.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/L2Vehicle.java @@ -18,13 +18,12 @@ */ package com.l2jserver.gameserver.model.actor; +import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.logging.Level; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; @@ -54,7 +53,7 @@ import com.l2jserver.gameserver.util.Util; public abstract class L2Vehicle extends L2Character { protected int _dockId = 0; - protected final FastList _passengers = new FastList<>(); + protected final ArrayList _passengers = new ArrayList<>(); protected Location _oustLoc = null; private Runnable _engine = null; diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2AuctioneerInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2AuctioneerInstance.java index 99840738ab..8c98d2f02b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2AuctioneerInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2AuctioneerInstance.java @@ -22,12 +22,11 @@ import static com.l2jserver.gameserver.model.itemcontainer.Inventory.MAX_ADENA; import java.text.SimpleDateFormat; import java.util.Calendar; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.ClanHallAuctionManager; @@ -47,7 +46,7 @@ public final class L2AuctioneerInstance extends L2Npc private static final int COND_BUSY_BECAUSE_OF_SIEGE = 1; private static final int COND_REGULAR = 3; - private final Map _pendingAuctions = new FastMap<>(); + private final Map _pendingAuctions = new HashMap<>(); public L2AuctioneerInstance(int objectId, L2NpcTemplate template) { diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ControlTowerInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ControlTowerInstance.java index bab42f2afe..28972be199 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ControlTowerInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ControlTowerInstance.java @@ -18,11 +18,10 @@ */ package com.l2jserver.gameserver.model.actor.instance; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; -import javolution.util.FastList; - import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.actor.L2Character; @@ -86,7 +85,7 @@ public class L2ControlTowerInstance extends L2Tower { if (_guards == null) { - _guards = new FastList<>(); + _guards = new ArrayList<>(); } } } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2DoorInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2DoorInstance.java index eb39e923c8..a767ee552e 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2DoorInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2DoorInstance.java @@ -18,13 +18,12 @@ */ package com.l2jserver.gameserver.model.actor.instance; +import java.util.ArrayList; import java.util.Collection; import java.util.Set; import java.util.concurrent.Future; import java.util.logging.Level; -import javolution.util.FastList; - import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.L2CharacterAI; import com.l2jserver.gameserver.ai.L2DoorAI; @@ -612,7 +611,7 @@ public class L2DoorInstance extends L2Character public Collection getKnownDefenders() { - FastList result = new FastList<>(); + ArrayList result = new ArrayList<>(); Collection objs = getKnownList().getKnownObjects().values(); for (L2Object obj : objs) diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java index b01221421e..faedc9ea6b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java @@ -18,7 +18,7 @@ */ package com.l2jserver.gameserver.model.actor.instance; -import javolution.util.FastList; +import java.util.ArrayList; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; @@ -124,7 +124,7 @@ public class L2FortCommanderInstance extends L2DefenderInstance L2Spawn spawn = getSpawn(); if ((spawn != null) && canTalk()) { - FastList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(getFort().getResidenceId()); + ArrayList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(getFort().getResidenceId()); for (FortSiegeSpawn spawn2 : commanders) { if (spawn2.getId() == spawn.getId()) diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java index dc7d9fcbd5..9529e5995c 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java @@ -39,6 +39,8 @@ import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentSkipListMap; +import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.Future; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; @@ -46,10 +48,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.ReentrantLock; import java.util.logging.Level; -import javolution.util.FastList; -import javolution.util.FastMap; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.GameTimeController; @@ -410,7 +408,7 @@ public final class L2PcInstance extends L2Playable public static final String WORLD_CHAT_VARIABLE_NAME = "WORLD_CHAT_POINTS"; - private final List _eventListeners = new FastList().shared(); + private final List _eventListeners = new CopyOnWriteArrayList<>(); public class AIAccessor extends L2Character.AIAccessor { @@ -522,7 +520,7 @@ public final class L2PcInstance extends L2Playable private int _bookmarkslot = 0; // The Teleport Bookmark Slot - private final Map _tpbookmarks = new FastMap<>(); + private final Map _tpbookmarks = new HashMap<>(); private boolean _canFeed; private boolean _isInSiege; @@ -563,11 +561,11 @@ public final class L2PcInstance extends L2Playable private Transform _transformation; /** The table containing all L2RecipeList of the L2PcInstance */ - private final Map _dwarvenRecipeBook = new FastMap<>(); - private final Map _commonRecipeBook = new FastMap<>(); + private final Map _dwarvenRecipeBook = new HashMap<>(); + private final Map _commonRecipeBook = new HashMap<>(); /** Premium Items */ - private final Map _premiumItems = new FastMap<>(); + private final Map _premiumItems = new HashMap<>(); /** True if the L2PcInstance is sitting */ private boolean _waitTypeSitting; @@ -625,7 +623,7 @@ public final class L2PcInstance extends L2Playable private int _questNpcObject = 0; /** The table containing all Quests began by the L2PcInstance */ - private final Map _quests = new FastMap<>(); + private final Map _quests = new HashMap<>(); /** The list containing all shortCuts of this player. */ private final ShortCuts _shortCuts = new ShortCuts(this); @@ -633,8 +631,8 @@ public final class L2PcInstance extends L2Playable /** The list containing all macros of this player. */ private final MacroList _macros = new MacroList(this); - private final List _snoopListener = new FastList<>(); - private final List _snoopedPlayer = new FastList<>(); + private final List _snoopListener = new ArrayList<>(); + private final List _snoopedPlayer = new ArrayList<>(); // hennas private final L2Henna[] _henna = new L2Henna[3]; @@ -753,7 +751,7 @@ public final class L2PcInstance extends L2Playable /** The fists L2Weapon of the L2PcInstance (used when no weapon is equipped) */ private L2Weapon _fistsWeaponItem; - private final Map _chars = new FastMap<>(); + private final Map _chars = new HashMap<>(); // private byte _updateKnownCounter = 0; @@ -779,7 +777,7 @@ public final class L2PcInstance extends L2Playable /** Player's cubics. */ private final Map _cubics = new ConcurrentSkipListMap<>(); /** Active shots. */ - protected FastSet _activeSoulShots = new FastSet().shared(); + protected CopyOnWriteArraySet _activeSoulShots = new CopyOnWriteArraySet<>(); public final ReentrantLock soulShotLock = new ReentrantLock(); @@ -1574,7 +1572,7 @@ public final class L2PcInstance extends L2Playable { if (_notifyQuestOfDeathList == null) { - _notifyQuestOfDeathList = new FastList<>(); + _notifyQuestOfDeathList = new ArrayList<>(); } } } @@ -5958,7 +5956,7 @@ public final class L2PcInstance extends L2Playable { if (_tamedBeast == null) { - _tamedBeast = new FastList<>(); + _tamedBeast = new ArrayList<>(); } _tamedBeast.add(tamedBeast); } @@ -10539,7 +10537,7 @@ public final class L2PcInstance extends L2Playable { if (_subClasses == null) { - _subClasses = new FastMap<>(); + _subClasses = new HashMap<>(); } return _subClasses; @@ -14601,7 +14599,7 @@ public final class L2PcInstance extends L2Playable { if (_customSkills == null) { - _customSkills = new FastMap().shared(); + _customSkills = new ConcurrentHashMap<>(); } _customSkills.put(skill.getDisplayId(), skill); } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java index 66d8cd495c..7e9586a9b4 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PetInstance.java @@ -21,13 +21,12 @@ package com.l2jserver.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -1031,7 +1030,7 @@ public class L2PetInstance extends L2Summon int buff_index = 0; - final List storedSkills = new FastList<>(); + final List storedSkills = new ArrayList<>(); // Store all effect data along with calculated remaining if (storeEffects) @@ -1077,7 +1076,7 @@ public class L2PetInstance extends L2Summon if (!SummonEffectsTable.getInstance().getPetEffects().containsKey(getControlObjectId())) { - SummonEffectsTable.getInstance().getPetEffects().put(getControlObjectId(), new FastList()); + SummonEffectsTable.getInstance().getPetEffects().put(getControlObjectId(), new ArrayList()); } SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()).add(SummonEffectsTable.getInstance().new SummonEffect(skill, info.getTime())); @@ -1116,7 +1115,7 @@ public class L2PetInstance extends L2Summon { if (!SummonEffectsTable.getInstance().getPetEffects().containsKey(getControlObjectId())) { - SummonEffectsTable.getInstance().getPetEffects().put(getControlObjectId(), new FastList()); + SummonEffectsTable.getInstance().getPetEffects().put(getControlObjectId(), new ArrayList()); } SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()).add(SummonEffectsTable.getInstance().new SummonEffect(skill, effectCurTime)); diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2RaceManagerInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2RaceManagerInstance.java index ff79ef979d..07e8d9ef71 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2RaceManagerInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2RaceManagerInstance.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model.actor.instance; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.MonsterRace; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.enums.InstanceType; @@ -101,8 +100,8 @@ public class L2RaceManagerInstance extends L2Npc { _notInitialized = false; - // _history = new FastList<>(); - _managers = new FastList<>(); + // _history = new ArrayList<>(); + _managers = new ArrayList<>(); ThreadPoolManager s = ThreadPoolManager.getInstance(); s.scheduleGeneralAtFixedRate(new Announcement(SystemMessageId.TICKETS_ARE_NOW_AVAILABLE_FOR_MONSTER_RACE_S1), 0, 10 * MINUTE); diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ServitorInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ServitorInstance.java index 60ec48545a..a15491f11e 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ServitorInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2ServitorInstance.java @@ -21,6 +21,7 @@ package com.l2jserver.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -28,8 +29,6 @@ import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -299,7 +298,7 @@ public class L2ServitorInstance extends L2Summon implements Runnable int buff_index = 0; - final List storedSkills = new FastList<>(); + final List storedSkills = new ArrayList<>(); // Store all effect data along with calculated remaining if (storeEffects) @@ -358,7 +357,7 @@ public class L2ServitorInstance extends L2Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new FastList()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new ArrayList()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(SummonEffectsTable.getInstance().new SummonEffect(skill, info.getTime())); @@ -414,7 +413,7 @@ public class L2ServitorInstance extends L2Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new FastList()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new ArrayList()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(SummonEffectsTable.getInstance().new SummonEffect(skill, effectCurTime)); diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2TamedBeastInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2TamedBeastInstance.java index f812529836..495ed42f70 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2TamedBeastInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2TamedBeastInstance.java @@ -20,11 +20,10 @@ package com.l2jserver.gameserver.model.actor.instance; import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.Future; -import javolution.util.FastList; - import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -206,7 +205,7 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance { if (_beastSkills == null) { - _beastSkills = new FastList<>(); + _beastSkills = new ArrayList<>(); } _beastSkills.add(skill); } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/knownlist/CharKnownList.java b/trunk/java/com/l2jserver/gameserver/model/actor/knownlist/CharKnownList.java index e5239bf026..3368dfac37 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/knownlist/CharKnownList.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/knownlist/CharKnownList.java @@ -25,8 +25,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Summon; @@ -208,7 +206,7 @@ public class CharKnownList extends ObjectKnownList public Collection getKnownCharacters() { - FastList result = new FastList<>(); + ArrayList result = new ArrayList<>(); final Collection objs = getKnownObjects().values(); for (L2Object obj : objs) diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/status/CharStatus.java b/trunk/java/com/l2jserver/gameserver/model/actor/status/CharStatus.java index ba7836cb4d..2849bb95cd 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/status/CharStatus.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/status/CharStatus.java @@ -19,12 +19,11 @@ package com.l2jserver.gameserver.model.actor.status; import java.util.Set; +import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.actor.L2Character; @@ -109,7 +108,7 @@ public class CharStatus { if (_StatusListener == null) { - _StatusListener = new FastSet().shared(); + _StatusListener = new CopyOnWriteArraySet<>(); } return _StatusListener; } diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Auction.java b/trunk/java/com/l2jserver/gameserver/model/entity/Auction.java index d5accfaca7..21e227e710 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Auction.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Auction.java @@ -25,12 +25,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Calendar; +import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.sql.impl.ClanTable; @@ -62,7 +61,7 @@ public class Auction private long _currentBid = 0; private long _startingBid = 0; - private final Map _bidders = new FastMap<>(); + private final Map _bidders = new HashMap<>(); private static final String[] ItemTypeName = { diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/BlockCheckerEngine.java b/trunk/java/com/l2jserver/gameserver/model/entity/BlockCheckerEngine.java index 90118fef25..bdcb05f8f9 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/BlockCheckerEngine.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/BlockCheckerEngine.java @@ -18,14 +18,13 @@ */ package com.l2jserver.gameserver.model.entity; +import java.util.ArrayList; +import java.util.HashMap; import java.util.Map.Entry; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -64,15 +63,15 @@ public final class BlockCheckerEngine // The object which holds all basic members info protected ArenaParticipantsHolder _holder; // Maps to hold player of each team and his points - protected FastMap _redTeamPoints = new FastMap<>(); - protected FastMap _blueTeamPoints = new FastMap<>(); + protected HashMap _redTeamPoints = new HashMap<>(); + protected HashMap _blueTeamPoints = new HashMap<>(); // The initial points of the event protected int _redPoints = 15; protected int _bluePoints = 15; // Current used arena protected int _arena = -1; // All blocks - protected FastList _spawns = new FastList<>(); + protected ArrayList _spawns = new ArrayList<>(); // 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 @@ -121,7 +120,7 @@ public final class BlockCheckerEngine // Common z coordinate private static final int _zCoord = -2405; // List of dropped items in event (for later deletion) - protected FastList _drops = new FastList<>(); + protected ArrayList _drops = new ArrayList<>(); // Default arena private static final byte DEFAULT_ARENA = -1; // Event is started @@ -662,7 +661,7 @@ public final class BlockCheckerEngine */ private void rewardAsWinner(boolean isRed) { - FastMap tempPoints = isRed ? _redTeamPoints : _blueTeamPoints; + HashMap tempPoints = isRed ? _redTeamPoints : _blueTeamPoints; // Main give for (Entry points : tempPoints.entrySet()) @@ -719,7 +718,7 @@ public final class BlockCheckerEngine */ private void rewardAsLooser(boolean isRed) { - FastMap tempPoints = isRed ? _redTeamPoints : _blueTeamPoints; + HashMap tempPoints = isRed ? _redTeamPoints : _blueTeamPoints; for (Entry entry : tempPoints.entrySet()) { diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Castle.java b/trunk/java/com/l2jserver/gameserver/model/entity/Castle.java index 964b49e002..ba6640e173 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Castle.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Castle.java @@ -23,14 +23,13 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.Calendar; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -244,7 +243,7 @@ public final class Castle extends AbstractResidence { super(castleId); load(); - _function = new FastMap<>(); + _function = new HashMap<>(); initResidenceZone(); spawnSideNpcs(); if (getOwnerId() != 0) diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/ClanHall.java b/trunk/java/com/l2jserver/gameserver/model/entity/ClanHall.java index fc82bffddb..1fcf683bb0 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/ClanHall.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/ClanHall.java @@ -22,12 +22,11 @@ import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; +import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.sql.impl.ClanTable; @@ -213,7 +212,7 @@ public abstract class ClanHall _ownerId = set.getInt("ownerId"); _desc = set.getString("desc"); _location = set.getString("location"); - _functions = new FastMap<>(); + _functions = new HashMap<>(); if (_ownerId > 0) { diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Duel.java b/trunk/java/com/l2jserver/gameserver/model/entity/Duel.java index 3380e0f313..7309ff507b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Duel.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Duel.java @@ -18,13 +18,12 @@ */ package com.l2jserver.gameserver.model.entity; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.DuelResult; @@ -83,7 +82,7 @@ public class Duel _duelEndTime.add(Calendar.SECOND, 120); } - _playerConditions = new FastList<>(); + _playerConditions = new ArrayList<>(); setFinished(false); @@ -108,7 +107,7 @@ public class Duel private double _cp; private boolean _paDuel; private int _x, _y, _z; - private FastList _debuffs; + private ArrayList _debuffs; public PlayerCondition(L2PcInstance player, boolean partyDuel) { @@ -160,7 +159,7 @@ public class Duel { if (_debuffs == null) { - _debuffs = new FastList<>(); + _debuffs = new ArrayList<>(); } _debuffs.add(debuff); diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Fort.java b/trunk/java/com/l2jserver/gameserver/model/entity/Fort.java index 3271c99bd5..18bd8efc28 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Fort.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Fort.java @@ -33,9 +33,6 @@ import java.util.concurrent.TimeUnit; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.FortUpdater; @@ -81,14 +78,14 @@ public final class Fort extends AbstractResidence private int _state = 0; private int _castleId = 0; private int _supplyLvL = 0; - private final FastMap _function; + private final HashMap _function; private final ScheduledFuture[] _FortUpdater = new ScheduledFuture[2]; // Spawn Data private boolean _isSuspiciousMerchantSpawned = false; - private final FastList _siegeNpcs = new FastList<>(); - private final FastList _npcCommanders = new FastList<>(); - private final FastList _specialEnvoys = new FastList<>(); + private final ArrayList _siegeNpcs = new ArrayList<>(); + private final ArrayList _npcCommanders = new ArrayList<>(); + private final ArrayList _specialEnvoys = new ArrayList<>(); private final Map _envoyCastles = new HashMap<>(2); private final Set _availableCastles = new HashSet<>(1); @@ -247,7 +244,7 @@ public final class Fort extends AbstractResidence super(fortId); load(); loadFlagPoles(); - _function = new FastMap<>(); + _function = new HashMap<>(); if (getOwnerClan() != null) { setVisibleFlag(true); diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java b/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java index 57424ad335..94354bd070 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java @@ -21,14 +21,13 @@ package com.l2jserver.gameserver.model.entity; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -227,10 +226,10 @@ public class FortSiege implements Siegable } } - private final List _attackerClans = new FastList<>(); + private final List _attackerClans = new ArrayList<>(); // Fort setting - protected FastList _commanders = new FastList<>(); + protected ArrayList _commanders = new ArrayList<>(); protected final Fort _fort; private boolean _isInProgress = false; private FortSiegeGuardManager _siegeGuardManager; @@ -553,7 +552,7 @@ public class FortSiege implements Siegable @Override public List getAttackersInZone() { - List players = new FastList<>(); + List players = new ArrayList<>(); L2Clan clan; for (L2SiegeClan siegeclan : getAttackerClans()) { @@ -587,7 +586,7 @@ public class FortSiege implements Siegable */ public List getOwnersInZone() { - List players = new FastList<>(); + List players = new ArrayList<>(); L2Clan clan; if (getFort().getOwnerClan() != null) { @@ -625,7 +624,7 @@ public class FortSiege implements Siegable L2Spawn spawn = instance.getSpawn(); if (spawn != null) { - FastList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(getFort().getResidenceId()); + ArrayList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(getFort().getResidenceId()); for (FortSiegeSpawn spawn2 : commanders) { if (spawn2.getId() == spawn.getId()) diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Hero.java b/trunk/java/com/l2jserver/gameserver/model/entity/Hero.java index 87cf58c29b..673f1752d2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Hero.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Hero.java @@ -24,18 +24,17 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.cache.HtmCache; @@ -77,14 +76,14 @@ public class Hero // delete hero items private static final String DELETE_ITEMS = "DELETE FROM items WHERE item_id IN (6842, 6611, 6612, 6613, 6614, 6615, 6616, 6617, 6618, 6619, 6620, 6621, 9388, 9389, 9390) AND owner_id NOT IN (SELECT charId FROM characters WHERE accesslevel > 0)"; - private static final Map _heroes = new FastMap<>(); - private static final Map _completeHeroes = new FastMap<>(); + private static final Map _heroes = new HashMap<>(); + private static final Map _completeHeroes = new HashMap<>(); - private static final Map _herocounts = new FastMap<>(); - private static final Map> _herofights = new FastMap<>(); + private static final Map _herocounts = new HashMap<>(); + private static final Map> _herofights = new HashMap<>(); - private static final Map> _herodiary = new FastMap<>(); - private static final Map _heroMessage = new FastMap<>(); + private static final Map> _herodiary = new HashMap<>(); + private static final Map _heroMessage = new HashMap<>(); public static final String COUNT = "count"; public static final String PLAYED = "played"; @@ -235,7 +234,7 @@ public class Hero public void loadDiary(int charId) { - final List _diary = new FastList<>(); + final List _diary = new ArrayList<>(); int diaryentries = 0; try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM heroes_diary WHERE charId=? ORDER BY time ASC")) @@ -290,7 +289,7 @@ public class Hero public void loadFights(int charId) { - final List _fights = new FastList<>(); + final List _fights = new ArrayList<>(); StatsSet _herocountdata = new StatsSet(); Calendar _data = Calendar.getInstance(); _data.set(Calendar.DAY_OF_MONTH, 1); @@ -464,7 +463,7 @@ public class Hero if (!_mainlist.isEmpty()) { - FastList _list = FastList.newInstance(); + final ArrayList _list = new ArrayList<>(); _list.addAll(_mainlist); Collections.reverse(_list); @@ -516,8 +515,6 @@ public class Hero } DiaryReply.replace("%list%", fList.toString()); - - FastList.recycle(_list); } else { @@ -671,7 +668,7 @@ public class Hero return; } - Map heroes = new FastMap<>(); + Map heroes = new HashMap<>(); for (StatsSet hero : newHeroes) { diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java b/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java index 54dceaf242..1084ed9374 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java @@ -28,15 +28,13 @@ import java.util.List; import java.util.Map; import java.util.Objects; 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; import javax.xml.parsers.DocumentBuilderFactory; -import javolution.util.FastList; -import javolution.util.FastMap; - import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; @@ -82,8 +80,8 @@ public final 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 FastList().shared(); - private final List _npcs = new FastList().shared(); + private final List _players = new CopyOnWriteArrayList<>(); + private final List _npcs = new CopyOnWriteArrayList<>(); private final Map _doors = new ConcurrentHashMap<>(); private final Map> _manualSpawn = new HashMap<>(); private Location _spawnLoc = null; @@ -104,7 +102,7 @@ public final class Instance private final List _exceptionList = new ArrayList<>(); protected ScheduledFuture _checkTimeUpTask = null; - protected final Map> _ejectDeadTasks = new FastMap<>(); + protected final Map> _ejectDeadTasks = new HashMap<>(); public Instance(int id) { diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/L2Event.java b/trunk/java/com/l2jserver/gameserver/model/entity/L2Event.java index e1af46cde1..6e4d4f09b6 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/L2Event.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/L2Event.java @@ -31,9 +31,6 @@ import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -61,12 +58,12 @@ public class L2Event public static String _eventCreator = ""; public static String _eventInfo = ""; public static int _teamsNumber = 0; - public static final Map _teamNames = new FastMap<>(); - public static final List _registeredPlayers = new FastList<>(); - public static final Map> _teams = new FastMap<>(); + public static final Map _teamNames = new HashMap<>(); + public static final List _registeredPlayers = new ArrayList<>(); + public static final Map> _teams = new HashMap<>(); public static int _npcId = 0; - // public static final List _npcs = new FastList(); - private static final Map _connectionLossData = new FastMap<>(); + // public static final List _npcs = new ArrayList(); + private static final Map _connectionLossData = new HashMap<>(); public enum EventState { @@ -385,7 +382,7 @@ public class L2Event _eventInfo = br.readLine(); } - List temp = new FastList<>(); + List temp = new ArrayList<>(); for (L2PcInstance player : L2World.getInstance().getPlayers()) { if (!player.isOnline()) @@ -443,7 +440,7 @@ public class L2Event // Insert empty lists at _teams. for (int i = 0; i < _teamsNumber; i++) { - _teams.put(i + 1, new FastList()); + _teams.put(i + 1, new ArrayList()); } int i = 0; diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Siege.java b/trunk/java/com/l2jserver/gameserver/model/entity/Siege.java index cabf15c62b..b39a69390a 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Siege.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Siege.java @@ -31,8 +31,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -223,9 +221,9 @@ public class Siege implements Siegable } // must support Concurrent Modifications - private final List _attackerClans = new FastList<>(); - private final List _defenderClans = new FastList<>(); - private final List _defenderWaitingClans = new FastList<>(); + private final List _attackerClans = new ArrayList<>(); + private final List _defenderClans = new ArrayList<>(); + private final List _defenderWaitingClans = new ArrayList<>(); // Castle setting private final List _controlTowers = new ArrayList<>(); diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java b/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java index e6df880349..2186df1a1b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java @@ -18,6 +18,7 @@ */ package com.l2jserver.gameserver.model.entity; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -25,8 +26,6 @@ import java.util.Map.Entry; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.xml.impl.DoorData; @@ -188,7 +187,7 @@ public class TvTEvent setState(EventState.STARTING); // Randomize and balance team distribution - Map allParticipants = new FastMap<>(); + Map allParticipants = new HashMap<>(); allParticipants.putAll(_teams[0].getParticipatedPlayers()); allParticipants.putAll(_teams[1].getParticipatedPlayers()); _teams[0].cleanMe(); diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/TvTEventTeam.java b/trunk/java/com/l2jserver/gameserver/model/entity/TvTEventTeam.java index 37d9f5c7f8..359f8acc1e 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/TvTEventTeam.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/TvTEventTeam.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model.entity; +import java.util.HashMap; import java.util.Map; -import javolution.util.FastMap; - import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** @@ -35,8 +34,8 @@ public class TvTEventTeam private int[] _coordinates = new int[3]; /** The points of the team
*/ private short _points; - /** Name and instance of all participated players in FastMap
*/ - private Map _participatedPlayers = new FastMap<>(); + /** Name and instance of all participated players in HashMap
*/ + private Map _participatedPlayers = new HashMap<>(); /** * C'tor initialize the team
@@ -98,7 +97,7 @@ public class TvTEventTeam public void cleanMe() { _participatedPlayers.clear(); - _participatedPlayers = new FastMap<>(); + _participatedPlayers = new HashMap<>(); _points = 0; } @@ -150,7 +149,7 @@ public class TvTEventTeam } /** - * Returns name and instance of all participated players in FastMap
+ * Returns name and instance of all participated players in HashMap
*
* @return Map: map of players in this team
*/ diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java b/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java index bd040aba82..be6d2332ee 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java @@ -21,15 +21,14 @@ package com.l2jserver.gameserver.model.entity.clanhall; import java.sql.Connection; 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.List; import java.util.concurrent.ScheduledFuture; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -74,8 +73,8 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable protected final Logger _log; - private final FastMap _attackers = new FastMap<>(); - private FastList _guards; + private final HashMap _attackers = new HashMap<>(); + private ArrayList _guards; public SiegableHall _hall; public ScheduledFuture _siegeTask; @@ -151,7 +150,7 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable { if (_guards == null) { - _guards = new FastList<>(); + _guards = new ArrayList<>(); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement(SQL_LOAD_GUARDS)) { @@ -225,7 +224,7 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable // XXX Attacker clans management ----------------------------- - public final FastMap getAttackers() + public final HashMap getAttackers() { return _attackers; } @@ -262,7 +261,7 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable @Override public List getAttackerClans() { - FastList result = new FastList<>(); + ArrayList result = new ArrayList<>(); result.addAll(_attackers.values()); return result; } @@ -271,7 +270,7 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable public List getAttackersInZone() { final Collection list = _hall.getSiegeZone().getPlayersInside(); - List attackers = new FastList<>(); + List attackers = new ArrayList<>(); for (L2PcInstance pc : list) { diff --git a/trunk/java/com/l2jserver/gameserver/model/events/AbstractScript.java b/trunk/java/com/l2jserver/gameserver/model/events/AbstractScript.java index 6cdb2ec8d4..b586bd5d51 100644 --- a/trunk/java/com/l2jserver/gameserver/model/events/AbstractScript.java +++ b/trunk/java/com/l2jserver/gameserver/model/events/AbstractScript.java @@ -24,18 +24,18 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +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.CopyOnWriteArraySet; import java.util.function.Consumer; import java.util.function.Function; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ai.CtrlIntention; @@ -143,7 +143,7 @@ public abstract class AbstractScript extends ManagedScript { protected static final Logger _log = Logger.getLogger(AbstractScript.class.getName()); private final Map> _registeredIds = new ConcurrentHashMap<>(); - private final List _listeners = new FastList().shared(); + private final List _listeners = new CopyOnWriteArrayList<>(); public AbstractScript() { @@ -291,7 +291,7 @@ public abstract class AbstractScript extends ManagedScript { if (!_registeredIds.containsKey(type)) { - _registeredIds.put(type, new FastSet().shared()); + _registeredIds.put(type, new CopyOnWriteArraySet()); } _registeredIds.get(type).addAll(ids); } @@ -1338,7 +1338,7 @@ public abstract class AbstractScript extends ManagedScript if (!_registeredIds.containsKey(registerType)) { - _registeredIds.put(registerType, new FastSet().shared()); + _registeredIds.put(registerType, new HashSet()); } _registeredIds.get(registerType).add(id); } @@ -1453,7 +1453,7 @@ public abstract class AbstractScript extends ManagedScript } if (!_registeredIds.containsKey(registerType)) { - _registeredIds.put(registerType, new FastSet().shared()); + _registeredIds.put(registerType, new HashSet()); } _registeredIds.get(registerType).addAll(ids); } @@ -2508,16 +2508,14 @@ public abstract class AbstractScript extends ManagedScript { if (includeCommandChannel && player.getParty().isInCommandChannel()) { - player.getParty().getCommandChannel().forEachMember(member -> - { + player.getParty().getCommandChannel().forEachMember(member -> { actionForEachPlayer(member, npc, isSummon); return true; }); } else if (includeParty) { - player.getParty().forEachMember(member -> - { + player.getParty().forEachMember(member -> { actionForEachPlayer(member, npc, isSummon); return true; }); diff --git a/trunk/java/com/l2jserver/gameserver/model/holders/PlayerEventHolder.java b/trunk/java/com/l2jserver/gameserver/model/holders/PlayerEventHolder.java index 2659cba07f..9dadf17dd2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/holders/PlayerEventHolder.java +++ b/trunk/java/com/l2jserver/gameserver/model/holders/PlayerEventHolder.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model.holders; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -69,7 +68,7 @@ public final class PlayerEventHolder _pvpKills = player.getPvpKills(); _pkKills = player.getPkKills(); _karma = player.getKarma(); - _kills = new FastList<>(); + _kills = new ArrayList<>(); _sitForced = sitForced; } diff --git a/trunk/java/com/l2jserver/gameserver/model/instancezone/InstanceWorld.java b/trunk/java/com/l2jserver/gameserver/model/instancezone/InstanceWorld.java index f04150d4e6..9e5db103d5 100644 --- a/trunk/java/com/l2jserver/gameserver/model/instancezone/InstanceWorld.java +++ b/trunk/java/com/l2jserver/gameserver/model/instancezone/InstanceWorld.java @@ -18,11 +18,10 @@ */ package com.l2jserver.gameserver.model.instancezone; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import javolution.util.FastList; - import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.entity.Instance; @@ -37,7 +36,7 @@ public class InstanceWorld { private int _instanceId; private int _templateId = -1; - private final List _allowed = new FastList<>(); + private final List _allowed = new ArrayList<>(); private final AtomicInteger _status = new AtomicInteger(); public List getAllowed() diff --git a/trunk/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java b/trunk/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java index f72a2696d9..19257896e2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java +++ b/trunk/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java @@ -26,8 +26,6 @@ import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.xml.impl.ArmorSetsData; @@ -130,7 +128,7 @@ public abstract class Inventory extends ItemContainer ChangeRecorder(Inventory inventory) { _inventory = inventory; - _changed = new FastList<>(); + _changed = new ArrayList<>(); _inventory.addPaperdollListener(this); } diff --git a/trunk/java/com/l2jserver/gameserver/model/itemcontainer/ItemContainer.java b/trunk/java/com/l2jserver/gameserver/model/itemcontainer/ItemContainer.java index d53801f154..a9ed673a23 100644 --- a/trunk/java/com/l2jserver/gameserver/model/itemcontainer/ItemContainer.java +++ b/trunk/java/com/l2jserver/gameserver/model/itemcontainer/ItemContainer.java @@ -23,11 +23,10 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.GameTimeController; @@ -46,7 +45,7 @@ public abstract class ItemContainer { protected static final Logger _log = Logger.getLogger(ItemContainer.class.getName()); - protected final List _items = new FastList().shared(); + protected final List _items = new CopyOnWriteArrayList<>(); protected ItemContainer() { diff --git a/trunk/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java b/trunk/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java index 770ec4c1c2..4219a957a0 100644 --- a/trunk/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java +++ b/trunk/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.model.itemcontainer; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.datatables.ItemTable; @@ -141,7 +140,7 @@ public class PcInventory extends Inventory public L2ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item == null) @@ -172,7 +171,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -190,7 +188,7 @@ public class PcInventory extends Inventory public L2ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item == null) @@ -223,7 +221,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -245,7 +242,7 @@ public class PcInventory extends Inventory */ public L2ItemInstance[] getAllItemsByItemId(int itemId, boolean includeEquipped) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item == null) @@ -260,7 +257,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -284,7 +280,7 @@ public class PcInventory extends Inventory */ public L2ItemInstance[] getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item == null) @@ -299,7 +295,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -312,7 +307,7 @@ public class PcInventory extends Inventory */ public L2ItemInstance[] getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item == null) || !item.isAvailable(getOwner(), allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId())) @@ -333,7 +328,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -344,7 +338,7 @@ public class PcInventory extends Inventory */ public L2ItemInstance[] getAugmentedItems() { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item != null) && item.isAugmented()) @@ -354,7 +348,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -365,7 +358,7 @@ public class PcInventory extends Inventory */ public L2ItemInstance[] getElementItems() { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item != null) && (item.getElementals() != null)) @@ -375,7 +368,6 @@ public class PcInventory extends Inventory } L2ItemInstance[] result = list.toArray(new L2ItemInstance[list.size()]); - FastList.recycle(list); return result; } @@ -387,7 +379,7 @@ public class PcInventory extends Inventory */ public TradeItem[] getAvailableItems(TradeList tradeList) { - FastList list = FastList.newInstance(); + final ArrayList list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item != null) && item.isAvailable(getOwner(), false, false)) @@ -401,7 +393,6 @@ public class PcInventory extends Inventory } TradeItem[] result = list.toArray(new TradeItem[list.size()]); - FastList.recycle(list); return result; } diff --git a/trunk/java/com/l2jserver/gameserver/model/multisell/PreparedListContainer.java b/trunk/java/com/l2jserver/gameserver/model/multisell/PreparedListContainer.java index c6d90b7a63..fd6a127604 100644 --- a/trunk/java/com/l2jserver/gameserver/model/multisell/PreparedListContainer.java +++ b/trunk/java/com/l2jserver/gameserver/model/multisell/PreparedListContainer.java @@ -20,8 +20,6 @@ package com.l2jserver.gameserver.model.multisell; import java.util.ArrayList; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.items.L2Armor; @@ -66,8 +64,8 @@ public class PreparedListContainer extends ListContainer items = player.getInventory().getUniqueItems(false, false, false); } - // size is not known - using FastList - _entries = new FastList<>(); + // size is not known - using ArrayList + _entries = new ArrayList<>(); for (L2ItemInstance item : items) { // only do the match up on equippable items that are not currently equipped diff --git a/trunk/java/com/l2jserver/gameserver/model/olympiad/Olympiad.java b/trunk/java/com/l2jserver/gameserver/model/olympiad/Olympiad.java index cff12a44cd..e2f5ef6c3c 100644 --- a/trunk/java/com/l2jserver/gameserver/model/olympiad/Olympiad.java +++ b/trunk/java/com/l2jserver/gameserver/model/olympiad/Olympiad.java @@ -36,9 +36,6 @@ import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; @@ -60,7 +57,7 @@ public class Olympiad extends ListenersContainer protected static final Logger _log = Logger.getLogger(Olympiad.class.getName()); protected static final Logger _logResults = Logger.getLogger("olympiad"); - private static final Map _nobles = new FastMap<>(); + private static final Map _nobles = new HashMap<>(); protected static List _heroesToBe; private static final Map _noblesRank = new HashMap<>(); @@ -877,7 +874,7 @@ public class Olympiad extends ListenersContainer } } - _heroesToBe = new FastList<>(); + _heroesToBe = new ArrayList<>(); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement(OLYMPIAD_GET_HEROS)) diff --git a/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadManager.java b/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadManager.java index 5289dc47c6..8597eafc24 100644 --- a/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadManager.java +++ b/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadManager.java @@ -21,9 +21,8 @@ package com.l2jserver.gameserver.model.olympiad; import java.util.ArrayList; import java.util.List; import java.util.Map; - -import javolution.util.FastList; -import javolution.util.FastMap; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; @@ -47,9 +46,9 @@ public class OlympiadManager protected OlympiadManager() { - _nonClassBasedRegisters = new FastList().shared(); - _classBasedRegisters = new FastMap>().shared(); - _teamsBasedRegisters = new FastList>().shared(); + _nonClassBasedRegisters = new CopyOnWriteArrayList<>(); + _classBasedRegisters = new ConcurrentHashMap<>(); + _teamsBasedRegisters = new CopyOnWriteArrayList<>(); } public static final OlympiadManager getInstance() @@ -81,7 +80,7 @@ public class OlympiadManager { if (result == null) { - result = new FastList<>(); + result = new ArrayList<>(); } result.add(classList.getValue()); @@ -258,7 +257,7 @@ public class OlympiadManager } else { - classed = new FastList().shared(); + classed = new CopyOnWriteArrayList<>(); classed.add(charId); _classBasedRegisters.put(player.getBaseClass(), classed); } diff --git a/trunk/java/com/l2jserver/gameserver/model/quest/QuestState.java b/trunk/java/com/l2jserver/gameserver/model/quest/QuestState.java index 597a49feb7..12b0155ea2 100644 --- a/trunk/java/com/l2jserver/gameserver/model/quest/QuestState.java +++ b/trunk/java/com/l2jserver/gameserver/model/quest/QuestState.java @@ -221,8 +221,8 @@ public final class QuestState *
    *
  • Initialize class variable "vars" if is null.
  • *
  • Initialize parameter "val" if is null
  • - *
  • Add/Update couple (var,val) in class variable FastMap "vars"
  • - *
  • If the key represented by "var" exists in FastMap "vars", the couple (var,val) is updated in the database.
    + *
  • Add/Update couple (var,val) in class variable HashMap "vars"
  • + *
  • If the key represented by "var" exists in HashMap "vars", the couple (var,val) is updated in the database.
    * The key is known as existing if the preceding value of the key (given as result of function put()) is not null.
    * If the key doesn't exist, the couple is added/created in the database
  • *
      diff --git a/trunk/java/com/l2jserver/gameserver/model/variables/AbstractVariables.java b/trunk/java/com/l2jserver/gameserver/model/variables/AbstractVariables.java index 6d1e96804e..b3d539d40e 100644 --- a/trunk/java/com/l2jserver/gameserver/model/variables/AbstractVariables.java +++ b/trunk/java/com/l2jserver/gameserver/model/variables/AbstractVariables.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.model.variables; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; -import javolution.util.FastMap; - import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.interfaces.IDeletable; import com.l2jserver.gameserver.model.interfaces.IRestorable; @@ -36,7 +35,7 @@ public abstract class AbstractVariables extends StatsSet implements IRestorable, public AbstractVariables() { - super(new FastMap().shared()); + super(new ConcurrentHashMap()); } /** diff --git a/trunk/java/com/l2jserver/gameserver/model/zone/L2ZoneType.java b/trunk/java/com/l2jserver/gameserver/model/zone/L2ZoneType.java index 1520fed6a6..87e5c26bd7 100644 --- a/trunk/java/com/l2jserver/gameserver/model/zone/L2ZoneType.java +++ b/trunk/java/com/l2jserver/gameserver/model/zone/L2ZoneType.java @@ -22,10 +22,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Object; @@ -48,7 +47,7 @@ public abstract class L2ZoneType extends ListenersContainer private final int _id; protected L2ZoneForm _zone; - protected FastMap _characterList; + protected ConcurrentHashMap _characterList; /** Parameters to affect specific characters */ private boolean _checkAffected = false; @@ -68,8 +67,7 @@ public abstract class L2ZoneType extends ListenersContainer protected L2ZoneType(int id) { _id = id; - _characterList = new FastMap<>(); - _characterList.shared(); + _characterList = new ConcurrentHashMap<>(); _minLvl = 0; _maxLvl = 0xFF; diff --git a/trunk/java/com/l2jserver/gameserver/model/zone/type/L2BossZone.java b/trunk/java/com/l2jserver/gameserver/model/zone/type/L2BossZone.java index 170198a4c4..e368527403 100644 --- a/trunk/java/com/l2jserver/gameserver/model/zone/type/L2BossZone.java +++ b/trunk/java/com/l2jserver/gameserver/model/zone/type/L2BossZone.java @@ -18,12 +18,11 @@ */ package com.l2jserver.gameserver.model.zone.type; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.gameserver.GameServer; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; @@ -57,13 +56,13 @@ public class L2BossZone extends L2ZoneType // track the times that players got disconnected. Players are allowed // to log back into the zone as long as their log-out was within _timeInvade time... // - private final Map _playerAllowedReEntryTimes = new FastMap<>(); + private final Map _playerAllowedReEntryTimes = new HashMap<>(); // track the players admitted to the zone who should be allowed back in // after reboot/server downtime (outside of their control), within 30 of server restart - private final List _playersAllowed = new FastList<>(); + private final List _playersAllowed = new ArrayList<>(); - private final List _raidList = new FastList<>(); + private final List _raidList = new ArrayList<>(); protected Settings() { diff --git a/trunk/java/com/l2jserver/gameserver/model/zone/type/L2EffectZone.java b/trunk/java/com/l2jserver/gameserver/model/zone/type/L2EffectZone.java index d71058d3b4..ffe9d6bba6 100644 --- a/trunk/java/com/l2jserver/gameserver/model/zone/type/L2EffectZone.java +++ b/trunk/java/com/l2jserver/gameserver/model/zone/type/L2EffectZone.java @@ -19,8 +19,7 @@ package com.l2jserver.gameserver.model.zone.type; import java.util.Map.Entry; - -import javolution.util.FastMap; +import java.util.concurrent.ConcurrentHashMap; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.datatables.SkillData; @@ -47,7 +46,7 @@ public class L2EffectZone extends L2ZoneType private int _reuse; protected boolean _bypassConditions; private boolean _isShowDangerIcon; - protected volatile FastMap _skills; + protected volatile ConcurrentHashMap _skills; public L2EffectZone(int id) { @@ -93,12 +92,12 @@ public class L2EffectZone extends L2ZoneType } else if (name.equals("maxDynamicSkillCount")) { - _skills = new FastMap(Integer.parseInt(value)).shared(); + _skills = new ConcurrentHashMap<>(Integer.parseInt(value)); } else if (name.equals("skillIdLvl")) { String[] propertySplit = value.split(";"); - _skills = new FastMap<>(propertySplit.length); + _skills = new ConcurrentHashMap<>(propertySplit.length); for (String skill : propertySplit) { String[] skillSplit = skill.split("-"); @@ -204,7 +203,7 @@ public class L2EffectZone extends L2ZoneType { if (_skills == null) { - _skills = new FastMap(3).shared(); + _skills = new ConcurrentHashMap<>(3); } } } diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/MultiSellChoose.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/MultiSellChoose.java index c52b95b303..030fa50dcd 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/MultiSellChoose.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/MultiSellChoose.java @@ -20,8 +20,6 @@ package com.l2jserver.gameserver.network.clientpackets; import java.util.ArrayList; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.data.xml.impl.MultisellData; import com.l2jserver.gameserver.model.Elementals; @@ -216,7 +214,7 @@ public class MultiSellChoose extends L2GameClientPacket } } - FastList augmentation = FastList.newInstance(); + ArrayList augmentation = new ArrayList<>(); Elementals[] elemental = null; /** All ok, remove items and add final product */ @@ -455,7 +453,7 @@ public class MultiSellChoose extends L2GameClientPacket } finally { - FastList.recycle(augmentation); + augmentation.clear(); // ? } // finally, give the tax to the castle... diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponList.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponList.java index 5d93d765ec..847f4e51f1 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponList.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponList.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.network.clientpackets; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.network.serverpackets.ExCursedWeaponList; @@ -50,7 +49,7 @@ public class RequestCursedWeaponList extends L2GameClientPacket } // send a ExCursedWeaponList :p - List list = new FastList<>(); + List list = new ArrayList<>(); for (int id : CursedWeaponsManager.getInstance().getCursedWeaponsIds()) { list.add(id); diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponLocation.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponLocation.java index d6160d5151..7396295c8a 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponLocation.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestCursedWeaponLocation.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.network.clientpackets; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager; import com.l2jserver.gameserver.model.CursedWeapon; import com.l2jserver.gameserver.model.Location; @@ -52,7 +51,7 @@ public final class RequestCursedWeaponLocation extends L2GameClientPacket return; } - List list = new FastList<>(); + List list = new ArrayList<>(); for (CursedWeapon cw : CursedWeaponsManager.getInstance().getCursedWeapons()) { if (!cw.isActive()) diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPreviewItem.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPreviewItem.java index 30c7307d99..4c1f835957 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPreviewItem.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPreviewItem.java @@ -18,11 +18,10 @@ */ package com.l2jserver.gameserver.network.clientpackets; +import java.util.HashMap; import java.util.Map; import java.util.logging.Level; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.xml.impl.BuyListData; @@ -166,7 +165,7 @@ public final class RequestPreviewItem extends L2GameClientPacket } long totalPrice = 0; - Map itemList = new FastMap<>(); + Map itemList = new HashMap<>(); for (int i = 0; i < _count; i++) { diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPrivateStoreBuy.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPrivateStoreBuy.java index e29ffc9a50..2ae003435e 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPrivateStoreBuy.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPrivateStoreBuy.java @@ -19,7 +19,8 @@ package com.l2jserver.gameserver.network.clientpackets; import static com.l2jserver.gameserver.model.actor.L2Npc.INTERACTION_DISTANCE; -import javolution.util.FastSet; + +import java.util.HashSet; import com.l2jserver.Config; import com.l2jserver.gameserver.data.sql.impl.OfflineTradersTable; @@ -43,7 +44,7 @@ public final class RequestPrivateStoreBuy extends L2GameClientPacket private static final int BATCH_LENGTH = 20; // length of the one item private int _storePlayerId; - private FastSet _items = null; + private HashSet _items = null; @Override protected void readImpl() @@ -54,7 +55,7 @@ public final class RequestPrivateStoreBuy extends L2GameClientPacket { return; } - _items = new FastSet<>(); + _items = new HashSet<>(); for (int i = 0; i < count; i++) { diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/CharSelectionInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/CharSelectionInfo.java index 7da829f6b8..de76c6f786 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/CharSelectionInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/CharSelectionInfo.java @@ -21,12 +21,11 @@ package com.l2jserver.gameserver.network.serverpackets; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.data.sql.impl.ClanTable; @@ -201,7 +200,7 @@ public class CharSelectionInfo extends L2GameServerPacket private static CharSelectInfoPackage[] loadCharacterSelectInfo(String loginName) { CharSelectInfoPackage charInfopackage; - List characterList = new FastList<>(); + List characterList = new ArrayList<>(); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM characters WHERE account_name=? ORDER BY createDate")) diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillInfo.java index 6f45272c70..96fbd2ff99 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillInfo.java @@ -18,7 +18,7 @@ */ package com.l2jserver.gameserver.network.serverpackets; -import javolution.util.FastList; +import java.util.ArrayList; import com.l2jserver.gameserver.data.xml.impl.EnchantSkillGroupsData; import com.l2jserver.gameserver.model.L2EnchantSkillGroup.EnchantSkillHolder; @@ -26,7 +26,7 @@ import com.l2jserver.gameserver.model.L2EnchantSkillLearn; public final class ExEnchantSkillInfo extends L2GameServerPacket { - private final FastList _routes; // skill lvls for each route + private final ArrayList _routes; // skill lvls for each route private final int _id; private final int _lvl; @@ -34,7 +34,7 @@ public final class ExEnchantSkillInfo extends L2GameServerPacket public ExEnchantSkillInfo(int id, int lvl) { - _routes = new FastList<>(); + _routes = new ArrayList<>(); _id = id; _lvl = lvl; diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillList.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillList.java index 1c1f29d6c4..bf6c9d3e8e 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillList.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExEnchantSkillList.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.network.serverpackets; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - public class ExEnchantSkillList extends L2GameServerPacket { public enum EnchantSkillType @@ -55,7 +54,7 @@ public class ExEnchantSkillList extends L2GameServerPacket public ExEnchantSkillList(EnchantSkillType type) { _type = type; - _skills = new FastList<>(); + _skills = new ArrayList<>(); } @Override diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressMapInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressMapInfo.java index a68385f6bb..583bfff9ba 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressMapInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressMapInfo.java @@ -18,7 +18,7 @@ */ package com.l2jserver.gameserver.network.serverpackets; -import javolution.util.FastList; +import java.util.ArrayList; import com.l2jserver.gameserver.instancemanager.FortSiegeManager; import com.l2jserver.gameserver.model.FortSiegeSpawn; @@ -47,7 +47,7 @@ public class ExShowFortressMapInfo extends L2GameServerPacket writeD(_fortress.getSiege().isInProgress() ? 1 : 0); // fortress siege status writeD(_fortress.getFortSize()); // barracks count - FastList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(_fortress.getResidenceId()); + ArrayList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(_fortress.getResidenceId()); if ((commanders != null) && (commanders.size() != 0) && _fortress.getSiege().isInProgress()) { switch (commanders.size()) diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressSiegeInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressSiegeInfo.java index f221a40414..8def5a83fa 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressSiegeInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExShowFortressSiegeInfo.java @@ -18,7 +18,7 @@ */ package com.l2jserver.gameserver.network.serverpackets; -import javolution.util.FastList; +import java.util.ArrayList; import com.l2jserver.gameserver.instancemanager.FortSiegeManager; import com.l2jserver.gameserver.model.FortSiegeSpawn; @@ -41,7 +41,7 @@ public class ExShowFortressSiegeInfo extends L2GameServerPacket { _fortId = fort.getResidenceId(); _size = fort.getFortSize(); - FastList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(_fortId); + ArrayList commanders = FortSiegeManager.getInstance().getCommanderSpawnList(_fortId); _csize = ((commanders == null) ? 0 : commanders.size()); _csize2 = fort.getSiege().getCommanders().size(); } diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java index fa2628db93..3457858b42 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.network.serverpackets; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.actor.L2Playable; /** @@ -78,7 +77,7 @@ public final class RelationChanged extends L2GameServerPacket { _mask |= SEND_MULTI; - _multi = FastList.newInstance(); + _multi = new ArrayList<>(); } public void addRelation(L2Playable activeChar, int relation, boolean autoattackable) @@ -113,7 +112,7 @@ public final class RelationChanged extends L2GameServerPacket { writeRelation(r); } - FastList.recycle((FastList) _multi); + // _multi.clear(); } } diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/SellList.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/SellList.java index 481601bd39..ea43b0770e 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/SellList.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/SellList.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.network.serverpackets; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2MerchantInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -36,7 +35,7 @@ public class SellList extends L2GameServerPacket private final L2PcInstance _activeChar; private final L2MerchantInstance _lease; private final long _money; - private final List _selllist = new FastList<>(); + private final List _selllist = new ArrayList<>(); public SellList(L2PcInstance player) { diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/SortedWareHouseWithdrawalList.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/SortedWareHouseWithdrawalList.java index c72156cccc..f49072f798 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/SortedWareHouseWithdrawalList.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/SortedWareHouseWithdrawalList.java @@ -18,12 +18,11 @@ */ package com.l2jserver.gameserver.network.serverpackets; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.gameserver.data.xml.impl.RecipeData; import com.l2jserver.gameserver.model.L2RecipeList; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -42,7 +41,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket public static final int FREIGHT = 4; // not sure private long _playerAdena; - private List _objects = new FastList<>(); + private List _objects = new ArrayList<>(); private int _whType; public static enum WarehouseListType @@ -419,7 +418,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createWeaponList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item.isWeapon() || (item.getItem().getType2() == L2Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -444,7 +443,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createArmorList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item.isArmor() || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -469,7 +468,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createEtcItemList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (item.isEtcItem() || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -494,7 +493,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createMatList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -519,7 +518,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createRecipeList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -544,7 +543,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createAmulettList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -569,7 +568,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createSpellbookList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -594,7 +593,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createConsumableList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -619,7 +618,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createShotList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -644,7 +643,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createScrollList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -669,7 +668,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createSeedList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -694,7 +693,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createOtherList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == L2Item.TYPE2_MONEY)) @@ -719,7 +718,7 @@ public class SortedWareHouseWithdrawalList extends AbstractItemPacket */ private List createAllList(L2ItemInstance[] _items) { - List _list = new FastList<>(); + List _list = new ArrayList<>(); for (L2ItemInstance item : _items) { if (_list.size() < MAX_SORT_LIST_ITEMS) diff --git a/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellNodeBuffer.java b/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellNodeBuffer.java index c18830b9c4..1340a09e0c 100644 --- a/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellNodeBuffer.java +++ b/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellNodeBuffer.java @@ -18,10 +18,9 @@ */ package com.l2jserver.gameserver.pathfinding.cellnodes; +import java.util.ArrayList; import java.util.concurrent.locks.ReentrantLock; -import javolution.util.FastList; - import com.l2jserver.Config; /** @@ -113,9 +112,9 @@ public class CellNodeBuffer return _lastElapsedTime; } - public final FastList debugPath() + public final ArrayList debugPath() { - FastList result = new FastList<>(); + ArrayList result = new ArrayList<>(); for (CellNode n = _current; n.getParent() != null; n = (CellNode) n.getParent()) { diff --git a/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellPathFinding.java b/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellPathFinding.java index c65c9a6ee7..0601e22e4d 100644 --- a/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellPathFinding.java +++ b/trunk/java/com/l2jserver/gameserver/pathfinding/cellnodes/CellPathFinding.java @@ -24,8 +24,6 @@ import java.util.ListIterator; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.idfactory.IdFactory; @@ -50,7 +48,7 @@ public class CellPathFinding extends PathFinding private int _postFilterPasses = 0; private long _postFilterElapsed = 0; - private FastList _debugItems = null; + private ArrayList _debugItems = null; public static CellPathFinding getInstance() { @@ -121,7 +119,7 @@ public class CellPathFinding extends PathFinding { if (_debugItems == null) { - _debugItems = new FastList<>(); + _debugItems = new ArrayList<>(); } else { @@ -138,7 +136,7 @@ public class CellPathFinding extends PathFinding } } - FastList path = null; + ArrayList path = null; try { CellNode result = buffer.findPath(gx, gy, gz, gtx, gty, gtz); @@ -244,9 +242,9 @@ public class CellPathFinding extends PathFinding return path; } - private FastList constructPath(AbstractNode node) + private ArrayList constructPath(AbstractNode node) { - FastList path = new FastList<>(); + ArrayList path = new ArrayList<>(); int previousDirectionX = Integer.MIN_VALUE; int previousDirectionY = Integer.MIN_VALUE; int directionX, directionY; @@ -280,7 +278,7 @@ public class CellPathFinding extends PathFinding previousDirectionX = directionX; previousDirectionY = directionY; - path.addFirst(node.getLoc()); + path.add(node.getLoc()); node.setLoc(null); } diff --git a/trunk/java/com/l2jserver/gameserver/pathfinding/geonodes/GeoPathFinding.java b/trunk/java/com/l2jserver/gameserver/pathfinding/geonodes/GeoPathFinding.java index 7c1e29b142..913d41ef92 100644 --- a/trunk/java/com/l2jserver/gameserver/pathfinding/geonodes/GeoPathFinding.java +++ b/trunk/java/com/l2jserver/gameserver/pathfinding/geonodes/GeoPathFinding.java @@ -28,15 +28,14 @@ import java.nio.channels.FileChannel; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.model.L2World; @@ -53,8 +52,8 @@ import com.l2jserver.gameserver.util.Util; public class GeoPathFinding extends PathFinding { private static Logger _log = Logger.getLogger(GeoPathFinding.class.getName()); - private static Map _pathNodes = new FastMap<>(); - private static Map _pathNodesIndex = new FastMap<>(); + private static Map _pathNodes = new HashMap<>(); + private static Map _pathNodesIndex = new HashMap<>(); public static GeoPathFinding getInstance() { @@ -226,7 +225,7 @@ public class GeoPathFinding extends PathFinding short regoffset = getRegionOffset(getRegionX(node_x), getRegionY(node_y)); ByteBuffer pn = _pathNodes.get(regoffset); - List Neighbors = new FastList<>(8); + List Neighbors = new ArrayList<>(8); GeoNode newNode; short new_node_x, new_node_y; diff --git a/trunk/java/com/l2jserver/gameserver/script/ScriptPackage.java b/trunk/java/com/l2jserver/gameserver/script/ScriptPackage.java index a5d21cbec7..c434650665 100644 --- a/trunk/java/com/l2jserver/gameserver/script/ScriptPackage.java +++ b/trunk/java/com/l2jserver/gameserver/script/ScriptPackage.java @@ -19,14 +19,13 @@ package com.l2jserver.gameserver.script; import java.io.IOException; +import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.logging.Logger; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import javolution.util.FastList; - import com.l2jserver.Config; /** @@ -42,8 +41,8 @@ public class ScriptPackage public ScriptPackage(ZipFile pack) { - _scriptFiles = new FastList<>(); - _otherFiles = new FastList<>(); + _scriptFiles = new ArrayList<>(); + _otherFiles = new ArrayList<>(); _name = pack.getName(); addFiles(pack); } diff --git a/trunk/java/com/l2jserver/gameserver/taskmanager/KnownListUpdateTaskManager.java b/trunk/java/com/l2jserver/gameserver/taskmanager/KnownListUpdateTaskManager.java index 32e1e40cd3..18c59cc559 100644 --- a/trunk/java/com/l2jserver/gameserver/taskmanager/KnownListUpdateTaskManager.java +++ b/trunk/java/com/l2jserver/gameserver/taskmanager/KnownListUpdateTaskManager.java @@ -19,11 +19,10 @@ package com.l2jserver.gameserver.taskmanager; import java.util.Collection; +import java.util.HashSet; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.L2Object; @@ -43,7 +42,7 @@ public class KnownListUpdateTaskManager // Do full update every FULL_UPDATE_TIMER * KNOWNLIST_UPDATE_INTERVAL public static int _fullUpdateTimer = FULL_UPDATE_TIMER; - protected static final FastSet _failedRegions = new FastSet<>(1); + protected static final HashSet _failedRegions = new HashSet<>(1); protected KnownListUpdateTaskManager() { diff --git a/trunk/java/com/l2jserver/gameserver/taskmanager/TaskManager.java b/trunk/java/com/l2jserver/gameserver/taskmanager/TaskManager.java index dbe57c26c8..c9a61b0233 100644 --- a/trunk/java/com/l2jserver/gameserver/taskmanager/TaskManager.java +++ b/trunk/java/com/l2jserver/gameserver/taskmanager/TaskManager.java @@ -32,12 +32,11 @@ 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; -import javolution.util.FastList; - import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.taskmanager.tasks.TaskBirthday; @@ -62,7 +61,7 @@ public final class TaskManager protected static final Logger _log = Logger.getLogger(TaskManager.class.getName()); private final Map _tasks = new ConcurrentHashMap<>(); - protected final List _currentTasks = new FastList().shared(); + protected final List _currentTasks = new CopyOnWriteArrayList<>(); protected static final String[] SQL_STATEMENTS = { @@ -204,8 +203,7 @@ public final class TaskManager public void registerTask(Task task) { int key = task.getName().hashCode(); - _tasks.computeIfAbsent(key, k -> - { + _tasks.computeIfAbsent(key, k -> { task.initializate(); return task; }); diff --git a/trunk/java/com/l2jserver/gameserver/util/MinionList.java b/trunk/java/com/l2jserver/gameserver/util/MinionList.java index 971b18d1e2..b0636f4a25 100644 --- a/trunk/java/com/l2jserver/gameserver/util/MinionList.java +++ b/trunk/java/com/l2jserver/gameserver/util/MinionList.java @@ -18,14 +18,13 @@ */ package com.l2jserver.gameserver.util; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Logger; -import javolution.util.FastList; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.xml.impl.NpcData; @@ -58,7 +57,7 @@ public class MinionList } _master = pMaster; - _minionReferences = new FastList().shared(); + _minionReferences = new CopyOnWriteArrayList<>(); } /** @@ -156,7 +155,7 @@ public class MinionList // if master has spawn and can respawn - try to reuse minions if ((_reusedMinionReferences == null) && (_master.getTemplate().getParameters().getSet().get("SummonPrivateRate") == null) && !_master.getTemplate().getParameters().getMinionList("Privates").isEmpty() && (_master.getSpawn() != null) && _master.getSpawn().isRespawnEnabled()) { - _reusedMinionReferences = new FastList().shared(); + _reusedMinionReferences = new CopyOnWriteArrayList<>(); } } @@ -426,7 +425,7 @@ public class MinionList public final int lazyCountSpawnedMinionsGroups() { - Set seenGroups = new FastSet<>(); + Set seenGroups = new HashSet<>(); for (L2MonsterInstance minion : _minionReferences) { if (minion == null) diff --git a/trunk/java/com/l2jserver/gameserver/util/Util.java b/trunk/java/com/l2jserver/gameserver/util/Util.java index 9c205402a1..b69e59fe16 100644 --- a/trunk/java/com/l2jserver/gameserver/util/Util.java +++ b/trunk/java/com/l2jserver/gameserver/util/Util.java @@ -24,6 +24,7 @@ import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.NumberFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.List; @@ -31,9 +32,6 @@ import java.util.Locale; import java.util.StringTokenizer; import java.util.logging.Logger; -import javolution.text.TextBuilder; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ThreadPoolManager; @@ -309,7 +307,7 @@ public final class Util */ public static String implodeString(Iterable strArray, String strDelim) { - final TextBuilder sbString = TextBuilder.newInstance(); + final StringBuilder sbString = new StringBuilder(); for (String strValue : strArray) { @@ -318,7 +316,6 @@ public final class Util } String result = sbString.toString(); - TextBuilder.recycle(sbString); return result; } @@ -715,7 +712,7 @@ public final class Util public static void fillMultiEditContent(L2PcInstance activeChar, String text) { text = text.replaceAll("
      ", Config.EOL); - List arg = new FastList<>(); + List arg = new ArrayList<>(); arg.add("0"); arg.add("0"); arg.add("0"); diff --git a/trunk/java/com/l2jserver/loginserver/FloodProtectedListener.java b/trunk/java/com/l2jserver/loginserver/FloodProtectedListener.java index d4eca32791..9d699d3dbf 100644 --- a/trunk/java/com/l2jserver/loginserver/FloodProtectedListener.java +++ b/trunk/java/com/l2jserver/loginserver/FloodProtectedListener.java @@ -22,12 +22,11 @@ import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; +import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import javolution.util.FastMap; - import com.l2jserver.Config; /** @@ -36,7 +35,7 @@ import com.l2jserver.Config; public abstract class FloodProtectedListener extends Thread { private final Logger _log = Logger.getLogger(FloodProtectedListener.class.getName()); - private final Map _floodProtection = new FastMap<>(); + private final Map _floodProtection = new HashMap<>(); private ServerSocket _serverSocket; public FloodProtectedListener(String listenIp, int port) throws IOException diff --git a/trunk/java/com/l2jserver/loginserver/GameServerListener.java b/trunk/java/com/l2jserver/loginserver/GameServerListener.java index 9deaa93c55..ad12361014 100644 --- a/trunk/java/com/l2jserver/loginserver/GameServerListener.java +++ b/trunk/java/com/l2jserver/loginserver/GameServerListener.java @@ -20,10 +20,9 @@ package com.l2jserver.loginserver; import java.io.IOException; import java.net.Socket; +import java.util.ArrayList; import java.util.List; -import javolution.util.FastList; - import com.l2jserver.Config; /** @@ -31,7 +30,7 @@ import com.l2jserver.Config; */ public class GameServerListener extends FloodProtectedListener { - private static List _gameServers = new FastList<>(); + private static List _gameServers = new ArrayList<>(); public GameServerListener() throws IOException { diff --git a/trunk/java/com/l2jserver/loginserver/GameServerTable.java b/trunk/java/com/l2jserver/loginserver/GameServerTable.java index 3f0e5aa89c..c3f23792d4 100644 --- a/trunk/java/com/l2jserver/loginserver/GameServerTable.java +++ b/trunk/java/com/l2jserver/loginserver/GameServerTable.java @@ -19,8 +19,6 @@ package com.l2jserver.loginserver; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; import java.math.BigInteger; import java.net.InetAddress; import java.net.UnknownHostException; @@ -36,9 +34,12 @@ import java.util.HashMap; import java.util.Map; import java.util.logging.Logger; -import javolution.io.UTF8StreamReader; -import javolution.xml.stream.XMLStreamConstants; -import javolution.xml.stream.XMLStreamReaderImpl; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; @@ -81,29 +82,29 @@ public final class GameServerTable */ private void loadGameServerNames() { - final File xml = new File(Config.DATAPACK_ROOT, "data/servername.xml"); - try (InputStream in = new FileInputStream(xml); - UTF8StreamReader utf8 = new UTF8StreamReader()) + final File file = new File(Config.DATAPACK_ROOT + "/data/servername.xml"); + final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); + try { - final XMLStreamReaderImpl xpp = new XMLStreamReaderImpl(); - xpp.setInput(utf8.setInput(in)); - for (int e = xpp.getEventType(); e != XMLStreamConstants.END_DOCUMENT; e = xpp.next()) + final DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); + final Document document = documentBuilder.parse(file); + final Node node = document.getFirstChild(); + for (Node n = node.getFirstChild(); n != null; n = n.getNextSibling()) { - if (e == XMLStreamConstants.START_ELEMENT) + if (n.getNodeName().equals("server")) { - if (xpp.getLocalName().toString().equals("server")) - { - Integer id = Integer.valueOf(xpp.getAttributeValue(null, "id").toString()); - String name = xpp.getAttributeValue(null, "name").toString(); - _serverNames.put(id, name); - } + NamedNodeMap attrs = n.getAttributes(); + + int id = Integer.parseInt(attrs.getNamedItem("id").getNodeValue()); + String name = attrs.getNamedItem("name").getNodeValue(); + + _serverNames.put(id, name); } } - xpp.close(); } catch (Exception e) { - _log.info(getClass().getSimpleName() + ": Cannot load " + xml.getAbsolutePath() + "!"); + _log.info(getClass().getSimpleName() + ": Cannot load servername.xml!"); } } @@ -443,13 +444,20 @@ public final class GameServerTable { switch (_status) { - case 0: return "Auto"; - case 1: return "Good"; - case 2: return "Normal"; - case 3: return "Full"; - case 4: return "Down"; - case 5: return "GM Only"; - default: return "Unknown"; + case 0: + return "Auto"; + case 1: + return "Good"; + case 2: + return "Normal"; + case 3: + return "Full"; + case 4: + return "Down"; + case 5: + return "GM Only"; + default: + return "Unknown"; } } diff --git a/trunk/java/com/l2jserver/loginserver/GameServerThread.java b/trunk/java/com/l2jserver/loginserver/GameServerThread.java index e08e1a43f0..230d54f19c 100644 --- a/trunk/java/com/l2jserver/loginserver/GameServerThread.java +++ b/trunk/java/com/l2jserver/loginserver/GameServerThread.java @@ -26,11 +26,10 @@ import java.net.Socket; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; +import java.util.HashSet; import java.util.Set; import java.util.logging.Logger; -import javolution.util.FastSet; - import com.l2jserver.Config; import com.l2jserver.loginserver.GameServerTable.GameServerInfo; import com.l2jserver.loginserver.network.L2JGameServerPacketHandler; @@ -64,7 +63,7 @@ public class GameServerThread extends Thread private GameServerInfo _gsi; /** Authed Clients on a GameServer */ - private final Set _accountsOnGameServer = new FastSet<>(); + private final Set _accountsOnGameServer = new HashSet<>(); private String _connectionIPAddress; diff --git a/trunk/java/com/l2jserver/loginserver/LoginController.java b/trunk/java/com/l2jserver/loginserver/LoginController.java index 3fd1128c9d..22f4ee7bcc 100644 --- a/trunk/java/com/l2jserver/loginserver/LoginController.java +++ b/trunk/java/com/l2jserver/loginserver/LoginController.java @@ -35,13 +35,12 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.crypto.Cipher; -import javolution.util.FastMap; - import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.loginserver.GameServerTable.GameServerInfo; @@ -62,10 +61,10 @@ public class LoginController public static final int LOGIN_TIMEOUT = 60 * 1000; /** Authed Clients on LoginServer */ - protected FastMap _loginServerClients = new FastMap().shared(); + protected ConcurrentHashMap _loginServerClients = new ConcurrentHashMap<>(); private final Map _failedLoginAttemps = new HashMap<>(); - private final Map _bannedIps = new FastMap().shared(); + private final Map _bannedIps = new ConcurrentHashMap<>(); protected ScrambledKeyPair[] _keyPairs; diff --git a/trunk/java/com/l2jserver/status/Status.java b/trunk/java/com/l2jserver/status/Status.java index 27a792841a..a0c2fdbc5e 100644 --- a/trunk/java/com/l2jserver/status/Status.java +++ b/trunk/java/com/l2jserver/status/Status.java @@ -24,12 +24,11 @@ import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; +import java.util.ArrayList; import java.util.List; import java.util.Properties; import java.util.logging.Logger; -import javolution.util.FastList; - import com.l2jserver.Config; import com.l2jserver.Server; import com.l2jserver.util.Rnd; @@ -123,7 +122,7 @@ public class Status extends Thread } statusServerSocket = new ServerSocket(statusPort); _uptime = (int) System.currentTimeMillis(); - _loginStatus = new FastList<>(); + _loginStatus = new ArrayList<>(); } private String rndPW(int length) @@ -154,7 +153,7 @@ public class Status extends Thread public void sendMessageToTelnets(String msg) { - List lsToRemove = new FastList<>(); + List lsToRemove = new ArrayList<>(); for (LoginStatusThread ls : _loginStatus) { if (ls.isInterrupted()) diff --git a/trunk/launcher/Gameserver.launch b/trunk/launcher/Gameserver.launch index 750eac8e0e..17b38f53b5 100644 --- a/trunk/launcher/Gameserver.launch +++ b/trunk/launcher/Gameserver.launch @@ -7,7 +7,7 @@ - + diff --git a/trunk/launcher/Loginserver.launch b/trunk/launcher/Loginserver.launch index 4b980d7887..6c098c828e 100644 --- a/trunk/launcher/Loginserver.launch +++ b/trunk/launcher/Loginserver.launch @@ -7,7 +7,7 @@ - +