diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index fb8f84e920..37dde34841 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 972b838008..eec0bf97bc 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,12 +16,10 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; -import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PetInstance; @@ -39,11 +37,11 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - private Map> getServitorEffects(PlayerInstance owner) + private Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,7 +49,7 @@ public class SummonEffectsTable return servitorMap.get(owner.getClassIndex()); } - private List getServitorEffects(PlayerInstance owner, int referenceSkill) + private Collection getServitorEffects(PlayerInstance owner, int referenceSkill) { return containsOwner(owner) ? getServitorEffects(owner).get(referenceSkill) : null; } @@ -61,7 +59,7 @@ public class SummonEffectsTable return _servitorEffects.getOrDefault(owner.getObjectId(), Collections.emptyMap()).containsKey(owner.getClassIndex()); } - private void removeEffects(List effects, int skillId) + private void removeEffects(Collection effects, int skillId) { if ((effects != null) && !effects.isEmpty()) { @@ -76,7 +74,7 @@ public class SummonEffectsTable } } - private void applyEffects(Summon summon, List summonEffects) + private void applyEffects(Summon summon, Collection summonEffects) { if (summonEffects == null) { @@ -107,9 +105,9 @@ public class SummonEffectsTable public void addServitorEffect(PlayerInstance owner, int referenceSkill, Skill skill, int effectCurTime) { - _servitorEffects.putIfAbsent(owner.getObjectId(), new HashMap<>()); - _servitorEffects.get(owner.getObjectId()).putIfAbsent(owner.getClassIndex(), new HashMap<>()); - getServitorEffects(owner).putIfAbsent(referenceSkill, new CopyOnWriteArrayList<>()); + _servitorEffects.putIfAbsent(owner.getObjectId(), new ConcurrentHashMap<>()); + _servitorEffects.get(owner.getObjectId()).putIfAbsent(owner.getClassIndex(), new ConcurrentHashMap<>()); + getServitorEffects(owner).putIfAbsent(referenceSkill, ConcurrentHashMap.newKeySet()); getServitorEffects(owner).get(referenceSkill).add(new SummonEffect(skill, effectCurTime)); } @@ -124,11 +122,11 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list public void addPetEffect(int controlObjectId, Skill skill, int effectCurTime) { - _petEffects.computeIfAbsent(controlObjectId, k -> new ArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + _petEffects.computeIfAbsent(controlObjectId, k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } public boolean containsPetId(int controlObjectId) diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 972b838008..eec0bf97bc 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,12 +16,10 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; -import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PetInstance; @@ -39,11 +37,11 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - private Map> getServitorEffects(PlayerInstance owner) + private Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,7 +49,7 @@ public class SummonEffectsTable return servitorMap.get(owner.getClassIndex()); } - private List getServitorEffects(PlayerInstance owner, int referenceSkill) + private Collection getServitorEffects(PlayerInstance owner, int referenceSkill) { return containsOwner(owner) ? getServitorEffects(owner).get(referenceSkill) : null; } @@ -61,7 +59,7 @@ public class SummonEffectsTable return _servitorEffects.getOrDefault(owner.getObjectId(), Collections.emptyMap()).containsKey(owner.getClassIndex()); } - private void removeEffects(List effects, int skillId) + private void removeEffects(Collection effects, int skillId) { if ((effects != null) && !effects.isEmpty()) { @@ -76,7 +74,7 @@ public class SummonEffectsTable } } - private void applyEffects(Summon summon, List summonEffects) + private void applyEffects(Summon summon, Collection summonEffects) { if (summonEffects == null) { @@ -107,9 +105,9 @@ public class SummonEffectsTable public void addServitorEffect(PlayerInstance owner, int referenceSkill, Skill skill, int effectCurTime) { - _servitorEffects.putIfAbsent(owner.getObjectId(), new HashMap<>()); - _servitorEffects.get(owner.getObjectId()).putIfAbsent(owner.getClassIndex(), new HashMap<>()); - getServitorEffects(owner).putIfAbsent(referenceSkill, new CopyOnWriteArrayList<>()); + _servitorEffects.putIfAbsent(owner.getObjectId(), new ConcurrentHashMap<>()); + _servitorEffects.get(owner.getObjectId()).putIfAbsent(owner.getClassIndex(), new ConcurrentHashMap<>()); + getServitorEffects(owner).putIfAbsent(referenceSkill, ConcurrentHashMap.newKeySet()); getServitorEffects(owner).get(referenceSkill).add(new SummonEffect(skill, effectCurTime)); } @@ -124,11 +122,11 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list public void addPetEffect(int controlObjectId, Skill skill, int effectCurTime) { - _petEffects.computeIfAbsent(controlObjectId, k -> new ArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + _petEffects.computeIfAbsent(controlObjectId, k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } public boolean containsPetId(int controlObjectId) diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 13cd74ea44..c43b6ddc22 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -901,7 +902,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1049,7 +1050,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1084,7 +1085,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime)); diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java index 0a73d4c894..0b768c15d1 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/sql/impl/SummonEffectsTable.java @@ -16,9 +16,9 @@ */ package org.l2jmobius.gameserver.data.sql.impl; -import java.util.HashMap; -import java.util.List; +import java.util.Collection; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -33,16 +33,16 @@ public class SummonEffectsTable // -> key: charObjectId, value: classIndex Map // --> key: classIndex, value: servitors Map // ---> key: servitorSkillId, value: Effects list - private final Map>>> _servitorEffects = new HashMap<>(); + private final Map>>> _servitorEffects = new ConcurrentHashMap<>(); - public Map>>> getServitorEffectsOwner() + public Map>>> getServitorEffectsOwner() { return _servitorEffects; } - public Map> getServitorEffects(PlayerInstance owner) + public Map> getServitorEffects(PlayerInstance owner) { - final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); + final Map>> servitorMap = _servitorEffects.get(owner.getObjectId()); if (servitorMap == null) { return null; @@ -51,9 +51,9 @@ public class SummonEffectsTable } /** Pets **/ - private final Map> _petEffects = new HashMap<>(); // key: petItemObjectId, value: Effects list + private final Map> _petEffects = new ConcurrentHashMap<>(); // key: petItemObjectId, value: Effects list - public Map> getPetEffects() + public Map> getPetEffects() { return _petEffects; } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java index 05288014f8..f78c2b192e 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PetInstance.java @@ -19,11 +19,12 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -899,7 +900,7 @@ public class PetInstance extends Summon public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final List effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); + final Collection effects = SummonEffectsTable.getInstance().getPetEffects().get(getControlObjectId()); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -1047,7 +1048,7 @@ public class PetInstance extends Summon ps2.setInt(6, ++buff_index); ps2.addBatch(); - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, info.getTime())); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, info.getTime())); } ps2.executeBatch(); } @@ -1082,7 +1083,7 @@ public class PetInstance extends Summon if (skill.hasEffects(EffectScope.GENERAL)) { - SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> new CopyOnWriteArrayList<>()).add(new SummonEffect(skill, effectCurTime)); + SummonEffectsTable.getInstance().getPetEffects().computeIfAbsent(getControlObjectId(), k -> ConcurrentHashMap.newKeySet()).add(new SummonEffect(skill, effectCurTime)); } } } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java index ce20faed81..d658da4645 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/ServitorInstance.java @@ -22,10 +22,8 @@ import java.sql.ResultSet; import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.Future; import java.util.logging.Level; import java.util.logging.Logger; @@ -237,10 +235,10 @@ public class ServitorInstance extends Summon implements Runnable public void stopSkillEffects(boolean removed, int skillId) { super.stopSkillEffects(removed, skillId); - final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); + final Map> servitorEffects = SummonEffectsTable.getInstance().getServitorEffects(getOwner()); if (servitorEffects != null) { - final List effects = servitorEffects.get(_referenceSkill); + final Collection effects = servitorEffects.get(_referenceSkill); if ((effects != null) && !effects.isEmpty()) { for (SummonEffect effect : effects) @@ -373,7 +371,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, info.getTime())); @@ -430,7 +428,7 @@ public class ServitorInstance extends Summon implements Runnable } if (!SummonEffectsTable.getInstance().getServitorEffects(getOwner()).containsKey(getReferenceSkill())) { - SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), new CopyOnWriteArrayList<>()); + SummonEffectsTable.getInstance().getServitorEffects(getOwner()).put(getReferenceSkill(), ConcurrentHashMap.newKeySet()); } SummonEffectsTable.getInstance().getServitorEffects(getOwner()).get(getReferenceSkill()).add(new SummonEffect(skill, effectCurTime));