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();
}

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{

View File

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

View File

@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.model.eventengine;
import java.nio.file.Path;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
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()
{
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)
{
return _members.get(objectId);
return getMembers().get(objectId);
}
public void addMember(T member)
@ -48,6 +63,11 @@ public abstract class AbstractEvent<T extends AbstractEventMember<?>>extends Abs
_members.put(member.getObjectId(), member);
}
public void clearMembers()
{
_members.clear();
}
public void broadcastPacket(IClientOutgoingPacket... 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)
{
final PlayerInstance player = getPlayer();
if (player != null)
if ((player != null) && player.isOnline() && !player.isInOfflineMode())
{
for (IClientOutgoingPacket packet : packets)
{