AbstractEvent changes for offline members.

This commit is contained in:
MobiusDevelopment 2020-11-17 13:01:02 +00:00
parent ae6d2a5d31
commit 2f578e2db3
51 changed files with 408 additions and 68 deletions

View File

@ -459,7 +459,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -493,7 +493,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -493,7 +493,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -493,7 +493,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -493,7 +493,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -493,7 +493,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -493,7 +493,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -503,7 +503,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -459,7 +459,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {

View File

@ -453,7 +453,7 @@ public class CeremonyOfChaosEvent extends AbstractEvent<CeremonyOfChaosMember>
} }
} }
getMembers().clear(); clearMembers();
_instance.destroy(); _instance.destroy();
} }

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine; package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -35,12 +37,25 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
public Map<Integer, T> getMembers() public Map<Integer, T> getMembers()
{ {
return _members; final Map<Integer, T> members = new HashMap<>();
for (Entry<Integer, T> entry : _members.entrySet())
{
final T member = entry.getValue();
if (member != null)
{
final PlayerInstance player = member.getPlayer();
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
members.putIfAbsent(entry.getKey(), member);
}
}
}
return members;
} }
public T getMember(int objectId) public T getMember(int objectId)
{ {
return _members.get(objectId); return getMembers().get(objectId);
} }
public void addMember(T member) public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member); _members.put(member.getObjectId(), member);
} }
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... packets) public void broadcastPacket(IClientOutgoingPacket... packets)
{ {
_members.values().forEach(member -> member.sendPacket(packets)); _members.values().forEach(member -> member.sendPacket(packets));

View File

@ -51,7 +51,7 @@ public abstract class AbstractEventMember<T extends AbstractEvent<?>>
public void sendPacket(IClientOutgoingPacket... packets) public void sendPacket(IClientOutgoingPacket... packets)
{ {
final PlayerInstance player = getPlayer(); final PlayerInstance player = getPlayer();
if (player != null) if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{ {
for (IClientOutgoingPacket packet : packets) for (IClientOutgoingPacket packet : packets)
{ {