Cleanup for World class.
This commit is contained in:
@@ -20,6 +20,7 @@ package org.l2jmobius.gameserver;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@@ -110,8 +111,7 @@ public class AdminCommands extends Thread
|
|||||||
}
|
}
|
||||||
else if (command.equals("admin_announce_announcements"))
|
else if (command.equals("admin_announce_announcements"))
|
||||||
{
|
{
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
for (PlayerInstance player : players)
|
|
||||||
{
|
{
|
||||||
Announcements.getInstance().showAnnouncements(player);
|
Announcements.getInstance().showAnnouncements(player);
|
||||||
}
|
}
|
||||||
@@ -460,12 +460,11 @@ public class AdminCommands extends Thread
|
|||||||
public void showMainPage(ClientThread client)
|
public void showMainPage(ClientThread client)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Server Status</title>");
|
StringBuffer replyMSG = new StringBuffer("<html><title>Server Status</title>");
|
||||||
replyMSG.append("<body>");
|
replyMSG.append("<body>");
|
||||||
replyMSG.append("<table>");
|
replyMSG.append("<table>");
|
||||||
replyMSG.append("<tr><td>Players Online: " + players.length + "</td></tr>");
|
replyMSG.append("<tr><td>Players Online: " + World.getInstance().getAllPlayers().size() + "</td></tr>");
|
||||||
replyMSG.append("<tr><td>Used Memory: " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
|
replyMSG.append("<tr><td>Used Memory: " + (Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()));
|
||||||
replyMSG.append(" bytes</td></tr>");
|
replyMSG.append(" bytes</td></tr>");
|
||||||
replyMSG.append("</table>");
|
replyMSG.append("</table>");
|
||||||
@@ -532,7 +531,8 @@ public class AdminCommands extends Thread
|
|||||||
private void listCharacters(ClientThread client, int page)
|
private void listCharacters(ClientThread client, int page)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
Collection<PlayerInstance> allWorldPlayers = World.getInstance().getAllPlayers();
|
||||||
|
PlayerInstance[] players = allWorldPlayers.toArray(new PlayerInstance[allWorldPlayers.size()]);
|
||||||
int MaxCharactersPerPage = 20;
|
int MaxCharactersPerPage = 20;
|
||||||
int MaxPages = players.length / MaxCharactersPerPage;
|
int MaxPages = players.length / MaxCharactersPerPage;
|
||||||
int modulus = players.length % MaxCharactersPerPage;
|
int modulus = players.length % MaxCharactersPerPage;
|
||||||
@@ -823,7 +823,6 @@ public class AdminCommands extends Thread
|
|||||||
private void findCharacter(ClientThread client, String CharacterToFind)
|
private void findCharacter(ClientThread client, String CharacterToFind)
|
||||||
{
|
{
|
||||||
PlayerInstance activeChar = client.getActiveChar();
|
PlayerInstance activeChar = client.getActiveChar();
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
|
||||||
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
|
||||||
int CharactersFound = 0;
|
int CharactersFound = 0;
|
||||||
StringBuffer replyMSG = new StringBuffer("<html><title>Character Search</title>");
|
StringBuffer replyMSG = new StringBuffer("<html><title>Character Search</title>");
|
||||||
@@ -831,7 +830,7 @@ public class AdminCommands extends Thread
|
|||||||
replyMSG.append("<br>");
|
replyMSG.append("<br>");
|
||||||
replyMSG.append("<table>");
|
replyMSG.append("<table>");
|
||||||
replyMSG.append("<tr><td>Name</td><td>Class</td><td>Level</td></tr>");
|
replyMSG.append("<tr><td>Name</td><td>Class</td><td>Level</td></tr>");
|
||||||
for (PlayerInstance player : players)
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
{
|
{
|
||||||
if (!player.getName().startsWith(CharacterToFind))
|
if (!player.getName().startsWith(CharacterToFind))
|
||||||
{
|
{
|
||||||
@@ -1002,8 +1001,7 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
private int disconnectAllCharacters()
|
private int disconnectAllCharacters()
|
||||||
{
|
{
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
for (PlayerInstance player : players)
|
|
||||||
{
|
{
|
||||||
LeaveWorld ql = new LeaveWorld();
|
LeaveWorld ql = new LeaveWorld();
|
||||||
player.sendPacket(ql);
|
player.sendPacket(ql);
|
||||||
@@ -1163,9 +1161,8 @@ public class AdminCommands extends Thread
|
|||||||
|
|
||||||
public void broadcastToAll(String message)
|
public void broadcastToAll(String message)
|
||||||
{
|
{
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
|
||||||
CreatureSay cs = new CreatureSay(0, 9, "[Announcement]", message);
|
CreatureSay cs = new CreatureSay(0, 9, "[Announcement]", message);
|
||||||
for (PlayerInstance player : players)
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
{
|
{
|
||||||
player.sendPacket(cs);
|
player.sendPacket(cs);
|
||||||
}
|
}
|
||||||
|
@@ -19,6 +19,7 @@ package org.l2jmobius.gameserver;
|
|||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.StringTokenizer;
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
@@ -52,7 +53,7 @@ public class CommunityBoard
|
|||||||
StringBuffer htmlCode = new StringBuffer("<html imgsrc=\"sek.cbui353\"><body><br><table border=0><tr><td FIXWIDTH=15></td><td align=center>L2J Community Board<img src=\"sek.cbui355\" width=610 height=1></td></tr><tr><td FIXWIDTH=15></td><td>");
|
StringBuffer htmlCode = new StringBuffer("<html imgsrc=\"sek.cbui353\"><body><br><table border=0><tr><td FIXWIDTH=15></td><td align=center>L2J Community Board<img src=\"sek.cbui355\" width=610 height=1></td></tr><tr><td FIXWIDTH=15></td><td>");
|
||||||
if (command.equals("bbs_default"))
|
if (command.equals("bbs_default"))
|
||||||
{
|
{
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
Collection<PlayerInstance> players = World.getInstance().getAllPlayers();
|
||||||
htmlCode.append("<table border=0>");
|
htmlCode.append("<table border=0>");
|
||||||
int t = GameTimeController.getInstance().getGameTime();
|
int t = GameTimeController.getInstance().getGameTime();
|
||||||
int h = t / 60;
|
int h = t / 60;
|
||||||
@@ -67,7 +68,7 @@ public class CommunityBoard
|
|||||||
htmlCode.append("<tr><td>Adena Rate: " + Config.RATE_ADENA + "</td></tr>");
|
htmlCode.append("<tr><td>Adena Rate: " + Config.RATE_ADENA + "</td></tr>");
|
||||||
htmlCode.append("<tr><td>Drop Rate: " + Config.RATE_DROP + "</td></tr>");
|
htmlCode.append("<tr><td>Drop Rate: " + Config.RATE_DROP + "</td></tr>");
|
||||||
htmlCode.append("<tr><td><img src=\"sek.cbui355\" width=610 height=1><br></td></tr>");
|
htmlCode.append("<tr><td><img src=\"sek.cbui355\" width=610 height=1><br></td></tr>");
|
||||||
htmlCode.append("<tr><td>" + players.length + " Player(s) Online:</td></tr><tr><td><table border=0><tr>");
|
htmlCode.append("<tr><td>" + players.size() + " Player(s) Online:</td></tr><tr><td><table border=0><tr>");
|
||||||
int n = 1;
|
int n = 1;
|
||||||
for (PlayerInstance player : players)
|
for (PlayerInstance player : players)
|
||||||
{
|
{
|
||||||
|
@@ -77,8 +77,7 @@ public class GameTimeController extends Thread
|
|||||||
|
|
||||||
private void broadcastToPlayers(ServerBasePacket packet)
|
private void broadcastToPlayers(ServerBasePacket packet)
|
||||||
{
|
{
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
for (PlayerInstance player : players)
|
|
||||||
{
|
{
|
||||||
player.sendPacket(packet);
|
player.sendPacket(packet);
|
||||||
}
|
}
|
||||||
|
@@ -18,11 +18,11 @@
|
|||||||
package org.l2jmobius.gameserver.model;
|
package org.l2jmobius.gameserver.model;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.logging.Logger;
|
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.PlayerCountManager;
|
import org.l2jmobius.gameserver.PlayerCountManager;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||||
@@ -31,8 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|||||||
|
|
||||||
public class World
|
public class World
|
||||||
{
|
{
|
||||||
private static Logger _log = Logger.getLogger(World.class.getName());
|
private final Map<String, PlayerInstance> _allPlayers = new ConcurrentHashMap<>();
|
||||||
private final Map<String, WorldObject> _allPlayers = new ConcurrentHashMap<>();
|
|
||||||
private final Map<Integer, WorldObject> _allObjects = new ConcurrentHashMap<>();
|
private final Map<Integer, WorldObject> _allObjects = new ConcurrentHashMap<>();
|
||||||
private final Map<Integer, WorldObject> _visibleObjects = new ConcurrentHashMap<>();
|
private final Map<Integer, WorldObject> _visibleObjects = new ConcurrentHashMap<>();
|
||||||
private static World _instance;
|
private static World _instance;
|
||||||
@@ -69,10 +68,9 @@ public class World
|
|||||||
{
|
{
|
||||||
if (object instanceof PlayerInstance)
|
if (object instanceof PlayerInstance)
|
||||||
{
|
{
|
||||||
_allPlayers.put(((PlayerInstance) object).getName().toLowerCase(), object);
|
final PlayerInstance player = (PlayerInstance) object;
|
||||||
WorldObject[] visible = getVisibleObjects(object, 2000);
|
_allPlayers.put(player.getName().toLowerCase(), player);
|
||||||
_log.finest("Objects in range:" + visible.length);
|
for (WorldObject element : getVisibleObjects(object, 2000))
|
||||||
for (WorldObject element : visible)
|
|
||||||
{
|
{
|
||||||
object.addKnownObject(element);
|
object.addKnownObject(element);
|
||||||
if ((object instanceof ItemInstance) && element.getKnownObjects().contains(object))
|
if ((object instanceof ItemInstance) && element.getKnownObjects().contains(object))
|
||||||
@@ -88,11 +86,11 @@ public class World
|
|||||||
int x = object.getX();
|
int x = object.getX();
|
||||||
int y = object.getY();
|
int y = object.getY();
|
||||||
int sqRadius = 4000000;
|
int sqRadius = 4000000;
|
||||||
Iterator<WorldObject> iter = _allPlayers.values().iterator();
|
Iterator<PlayerInstance> iter = _allPlayers.values().iterator();
|
||||||
while (iter.hasNext())
|
while (iter.hasNext())
|
||||||
{
|
{
|
||||||
long dy;
|
long dy;
|
||||||
PlayerInstance player = (PlayerInstance) iter.next();
|
PlayerInstance player = iter.next();
|
||||||
int x1 = player.getX();
|
int x1 = player.getX();
|
||||||
long dx = x1 - x;
|
long dx = x1 - x;
|
||||||
long sqDist = (dx * dx) + ((dy = player.getY() - y) * dy);
|
long sqDist = (dx * dx) + ((dy = player.getY() - y) * dy);
|
||||||
@@ -110,7 +108,6 @@ public class World
|
|||||||
public void removeVisibleObject(WorldObject object)
|
public void removeVisibleObject(WorldObject object)
|
||||||
{
|
{
|
||||||
_visibleObjects.remove(object.getObjectId());
|
_visibleObjects.remove(object.getObjectId());
|
||||||
// _log.fine("World has now " + this._visibleObjects.size() + " visible objects");
|
|
||||||
Object[] temp = object.getKnownObjects().toArray();
|
Object[] temp = object.getKnownObjects().toArray();
|
||||||
for (Object element : temp)
|
for (Object element : temp)
|
||||||
{
|
{
|
||||||
@@ -128,40 +125,29 @@ public class World
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public WorldObject[] getVisibleObjects(WorldObject object, int radius)
|
public Collection<WorldObject> getVisibleObjects(WorldObject object, int radius)
|
||||||
{
|
{
|
||||||
int x = object.getX();
|
int x = object.getX();
|
||||||
int y = object.getY();
|
int y = object.getY();
|
||||||
int sqRadius = radius * radius;
|
|
||||||
List<WorldObject> result = new ArrayList<>();
|
List<WorldObject> result = new ArrayList<>();
|
||||||
Iterator<WorldObject> iter = _visibleObjects.values().iterator();
|
for (WorldObject worldObject : _visibleObjects.values())
|
||||||
while (iter.hasNext())
|
|
||||||
{
|
{
|
||||||
@SuppressWarnings("unused")
|
if ((worldObject == null) || worldObject.equals(object) || (Math.sqrt(Math.pow(x - worldObject.getX(), 2) + Math.pow(y - worldObject.getY(), 2)) > radius))
|
||||||
int x1;
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
int y1;
|
|
||||||
long dx;
|
|
||||||
long dy;
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
long sqDist;
|
|
||||||
WorldObject element = iter.next();
|
|
||||||
if (element.equals(object) || ((sqDist = ((dx = (x1 = element.getX()) - x) * dx) + ((dy = (y1 = element.getY()) - y) * dy)) >= sqRadius))
|
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
result.add(element);
|
result.add(worldObject);
|
||||||
}
|
}
|
||||||
return result.toArray(new WorldObject[result.size()]);
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerInstance[] getAllPlayers()
|
public Collection<PlayerInstance> getAllPlayers()
|
||||||
{
|
{
|
||||||
return _allPlayers.values().toArray(new PlayerInstance[_allPlayers.size()]);
|
return _allPlayers.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayerInstance getPlayer(String name)
|
public PlayerInstance getPlayer(String name)
|
||||||
{
|
{
|
||||||
return (PlayerInstance) _allPlayers.get(name.toLowerCase());
|
return _allPlayers.get(name.toLowerCase());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -45,40 +45,38 @@ public class Appearing extends ClientBasePacket
|
|||||||
Connection con = client.getConnection();
|
Connection con = client.getConnection();
|
||||||
UserInfo ui = new UserInfo(activeChar);
|
UserInfo ui = new UserInfo(activeChar);
|
||||||
con.sendPacket(ui);
|
con.sendPacket(ui);
|
||||||
WorldObject[] visible = World.getInstance().getVisibleObjects(activeChar, 2000);
|
for (WorldObject worldObject : World.getInstance().getVisibleObjects(activeChar, 2000))
|
||||||
_log.fine("npc in range:" + visible.length);
|
|
||||||
for (int i = 0; i < visible.length; ++i)
|
|
||||||
{
|
{
|
||||||
NpcInfo ni;
|
NpcInfo ni;
|
||||||
Creature npc;
|
Creature npc;
|
||||||
activeChar.addKnownObject(visible[i]);
|
activeChar.addKnownObject(worldObject);
|
||||||
if (visible[i] instanceof ItemInstance)
|
if (worldObject instanceof ItemInstance)
|
||||||
{
|
{
|
||||||
SpawnItem si = new SpawnItem((ItemInstance) visible[i]);
|
SpawnItem si = new SpawnItem((ItemInstance) worldObject);
|
||||||
con.sendPacket(si);
|
con.sendPacket(si);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (visible[i] instanceof NpcInstance)
|
if (worldObject instanceof NpcInstance)
|
||||||
{
|
{
|
||||||
ni = new NpcInfo((NpcInstance) visible[i]);
|
ni = new NpcInfo((NpcInstance) worldObject);
|
||||||
con.sendPacket(ni);
|
con.sendPacket(ni);
|
||||||
npc = (NpcInstance) visible[i];
|
npc = (NpcInstance) worldObject;
|
||||||
npc.addKnownObject(activeChar);
|
npc.addKnownObject(activeChar);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (visible[i] instanceof PetInstance)
|
if (worldObject instanceof PetInstance)
|
||||||
{
|
{
|
||||||
ni = new NpcInfo((PetInstance) visible[i]);
|
ni = new NpcInfo((PetInstance) worldObject);
|
||||||
con.sendPacket(ni);
|
con.sendPacket(ni);
|
||||||
npc = (PetInstance) visible[i];
|
npc = (PetInstance) worldObject;
|
||||||
npc.addKnownObject(activeChar);
|
npc.addKnownObject(activeChar);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!(visible[i] instanceof PlayerInstance))
|
if (!(worldObject instanceof PlayerInstance))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
PlayerInstance player = (PlayerInstance) visible[i];
|
PlayerInstance player = (PlayerInstance) worldObject;
|
||||||
con.sendPacket(new CharInfo(player));
|
con.sendPacket(new CharInfo(player));
|
||||||
player.addKnownObject(activeChar);
|
player.addKnownObject(activeChar);
|
||||||
player.getNetConnection().sendPacket(new CharInfo(activeChar));
|
player.getNetConnection().sendPacket(new CharInfo(activeChar));
|
||||||
|
@@ -21,7 +21,6 @@ import java.io.IOException;
|
|||||||
|
|
||||||
import org.l2jmobius.gameserver.ClientThread;
|
import org.l2jmobius.gameserver.ClientThread;
|
||||||
import org.l2jmobius.gameserver.model.World;
|
import org.l2jmobius.gameserver.model.World;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
|
||||||
import org.l2jmobius.gameserver.network.serverpackets.PartyMatchList;
|
import org.l2jmobius.gameserver.network.serverpackets.PartyMatchList;
|
||||||
|
|
||||||
public class RequestPartyMatchList extends ClientBasePacket
|
public class RequestPartyMatchList extends ClientBasePacket
|
||||||
@@ -34,8 +33,7 @@ public class RequestPartyMatchList extends ClientBasePacket
|
|||||||
int status = readD();
|
int status = readD();
|
||||||
if (status == 1)
|
if (status == 1)
|
||||||
{
|
{
|
||||||
PlayerInstance[] allPlayers = World.getInstance().getAllPlayers();
|
PartyMatchList matchList = new PartyMatchList(World.getInstance().getAllPlayers());
|
||||||
PartyMatchList matchList = new PartyMatchList(allPlayers);
|
|
||||||
client.getConnection().sendPacket(matchList);
|
client.getConnection().sendPacket(matchList);
|
||||||
}
|
}
|
||||||
else if (status == 3)
|
else if (status == 3)
|
||||||
|
@@ -72,8 +72,7 @@ public class Say2 extends ClientBasePacket
|
|||||||
}
|
}
|
||||||
else if ((type == 1) || (type == 8))
|
else if ((type == 1) || (type == 8))
|
||||||
{
|
{
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
for (PlayerInstance player : players)
|
|
||||||
{
|
{
|
||||||
player.sendPacket(cs);
|
player.sendPacket(cs);
|
||||||
}
|
}
|
||||||
|
@@ -48,8 +48,7 @@ public class SendBypassBuildCmd extends ClientBasePacket
|
|||||||
{
|
{
|
||||||
String text = command.substring(9);
|
String text = command.substring(9);
|
||||||
CreatureSay cs = new CreatureSay(0, 10, activeChar.getName(), text);
|
CreatureSay cs = new CreatureSay(0, 10, activeChar.getName(), text);
|
||||||
PlayerInstance[] players = World.getInstance().getAllPlayers();
|
for (PlayerInstance player : World.getInstance().getAllPlayers())
|
||||||
for (PlayerInstance player : players)
|
|
||||||
{
|
{
|
||||||
player.sendPacket(cs);
|
player.sendPacket(cs);
|
||||||
}
|
}
|
||||||
|
@@ -83,15 +83,14 @@ public class ValidatePosition extends ClientBasePacket
|
|||||||
_log.fine("deleted " + delete + " objects");
|
_log.fine("deleted " + delete + " objects");
|
||||||
}
|
}
|
||||||
int newObjects = 0;
|
int newObjects = 0;
|
||||||
WorldObject[] visible = World.getInstance().getVisibleObjects(activeChar, 3000);
|
for (WorldObject worldObject : World.getInstance().getVisibleObjects(activeChar, 3000))
|
||||||
for (WorldObject element : visible)
|
|
||||||
{
|
{
|
||||||
if (activeChar.knownsObject(element))
|
if (activeChar.knownsObject(worldObject))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
activeChar.addKnownObject(element);
|
activeChar.addKnownObject(worldObject);
|
||||||
element.addKnownObject(activeChar);
|
worldObject.addKnownObject(activeChar);
|
||||||
++newObjects;
|
++newObjects;
|
||||||
}
|
}
|
||||||
if (newObjects > 0)
|
if (newObjects > 0)
|
||||||
|
@@ -17,14 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.l2jmobius.gameserver.network.serverpackets;
|
package org.l2jmobius.gameserver.network.serverpackets;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
|
||||||
public class PartyMatchList extends ServerBasePacket
|
public class PartyMatchList extends ServerBasePacket
|
||||||
{
|
{
|
||||||
private static final String _S__AF_PARTYMATCHLIST = "[S] AF PartyMatchList";
|
private static final String _S__AF_PARTYMATCHLIST = "[S] AF PartyMatchList";
|
||||||
private final PlayerInstance[] _matchingPlayers;
|
private final Collection<PlayerInstance> _matchingPlayers;
|
||||||
|
|
||||||
public PartyMatchList(PlayerInstance[] allPlayers)
|
public PartyMatchList(Collection<PlayerInstance> allPlayers)
|
||||||
{
|
{
|
||||||
_matchingPlayers = allPlayers;
|
_matchingPlayers = allPlayers;
|
||||||
}
|
}
|
||||||
@@ -33,24 +35,24 @@ public class PartyMatchList extends ServerBasePacket
|
|||||||
public byte[] getContent()
|
public byte[] getContent()
|
||||||
{
|
{
|
||||||
writeC(175);
|
writeC(175);
|
||||||
int size = _matchingPlayers.length;
|
int size = _matchingPlayers.size();
|
||||||
if (size > 40)
|
if (size > 40)
|
||||||
{
|
{
|
||||||
size = 40;
|
size = 40;
|
||||||
}
|
}
|
||||||
writeD(size);
|
writeD(size);
|
||||||
for (int i = 0; i < size; ++i)
|
for (PlayerInstance player : _matchingPlayers)
|
||||||
{
|
{
|
||||||
writeD(_matchingPlayers[i].getObjectId());
|
writeD(player.getObjectId());
|
||||||
writeS(_matchingPlayers[i].getName());
|
writeS(player.getName());
|
||||||
writeD(_matchingPlayers[i].getLevel());
|
writeD(player.getLevel());
|
||||||
writeD(_matchingPlayers[i].getClassId());
|
writeD(player.getClassId());
|
||||||
writeD(0);
|
writeD(0);
|
||||||
writeD(_matchingPlayers[i].getClanId());
|
writeD(player.getClanId());
|
||||||
writeD(0);
|
writeD(0);
|
||||||
writeD(_matchingPlayers[i].getX());
|
writeD(player.getX());
|
||||||
writeD(_matchingPlayers[i].getY());
|
writeD(player.getY());
|
||||||
writeD(_matchingPlayers[i].getZ());
|
writeD(player.getZ());
|
||||||
}
|
}
|
||||||
return getBytes();
|
return getBytes();
|
||||||
}
|
}
|
||||||
|
@@ -116,7 +116,7 @@ public class SystemPanel extends JPanel
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
lblConnected.setText("Connected: " + World.getInstance().getAllPlayers().length);
|
lblConnected.setText("Connected: " + World.getInstance().getAllPlayers().size());
|
||||||
lblMaxConnected.setText("Max connected: " + PlayerCountManager.getInstance().getMaxConnectedCount());
|
lblMaxConnected.setText("Max connected: " + PlayerCountManager.getInstance().getMaxConnectedCount());
|
||||||
lblElapsedTime.setText("Elapsed: " + getDurationBreakdown(System.currentTimeMillis() - startTime));
|
lblElapsedTime.setText("Elapsed: " + getDurationBreakdown(System.currentTimeMillis() - startTime));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user