| ");
if (command.equals("bbs_default"))
{
- PlayerInstance[] players = World.getInstance().getAllPlayers();
+ Collection players = World.getInstance().getAllPlayers();
htmlCode.append("");
int t = GameTimeController.getInstance().getGameTime();
int h = t / 60;
@@ -67,7 +68,7 @@ public class CommunityBoard
htmlCode.append("Adena Rate: " + Config.RATE_ADENA + " | ");
htmlCode.append("Drop Rate: " + Config.RATE_DROP + " | ");
htmlCode.append("
| ");
- htmlCode.append("" + players.length + " Player(s) Online: | ");
+ htmlCode.append(" " + players.size() + " Player(s) Online: | ");
int n = 1;
for (PlayerInstance player : players)
{
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/GameTimeController.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/GameTimeController.java
index fd30cbbe9c..ac7869596d 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/GameTimeController.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/GameTimeController.java
@@ -77,8 +77,7 @@ public class GameTimeController extends Thread
private void broadcastToPlayers(ServerBasePacket packet)
{
- PlayerInstance[] players = World.getInstance().getAllPlayers();
- for (PlayerInstance player : players)
+ for (PlayerInstance player : World.getInstance().getAllPlayers())
{
player.sendPacket(packet);
}
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/World.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/World.java
index 48683b22c8..89b66e162c 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/World.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/model/World.java
@@ -18,11 +18,11 @@
package org.l2jmobius.gameserver.model;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Logger;
import org.l2jmobius.gameserver.PlayerCountManager;
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
@@ -31,8 +31,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
public class World
{
- private static Logger _log = Logger.getLogger(World.class.getName());
- private final Map _allPlayers = new ConcurrentHashMap<>();
+ private final Map _allPlayers = new ConcurrentHashMap<>();
private final Map _allObjects = new ConcurrentHashMap<>();
private final Map _visibleObjects = new ConcurrentHashMap<>();
private static World _instance;
@@ -69,10 +68,9 @@ public class World
{
if (object instanceof PlayerInstance)
{
- _allPlayers.put(((PlayerInstance) object).getName().toLowerCase(), object);
- WorldObject[] visible = getVisibleObjects(object, 2000);
- _log.finest("Objects in range:" + visible.length);
- for (WorldObject element : visible)
+ final PlayerInstance player = (PlayerInstance) object;
+ _allPlayers.put(player.getName().toLowerCase(), player);
+ for (WorldObject element : getVisibleObjects(object, 2000))
{
object.addKnownObject(element);
if ((object instanceof ItemInstance) && element.getKnownObjects().contains(object))
@@ -88,11 +86,11 @@ public class World
int x = object.getX();
int y = object.getY();
int sqRadius = 4000000;
- Iterator iter = _allPlayers.values().iterator();
+ Iterator iter = _allPlayers.values().iterator();
while (iter.hasNext())
{
long dy;
- PlayerInstance player = (PlayerInstance) iter.next();
+ PlayerInstance player = iter.next();
int x1 = player.getX();
long dx = x1 - x;
long sqDist = (dx * dx) + ((dy = player.getY() - y) * dy);
@@ -110,7 +108,6 @@ public class World
public void removeVisibleObject(WorldObject object)
{
_visibleObjects.remove(object.getObjectId());
- // _log.fine("World has now " + this._visibleObjects.size() + " visible objects");
Object[] temp = object.getKnownObjects().toArray();
for (Object element : temp)
{
@@ -128,40 +125,29 @@ public class World
}
}
- public WorldObject[] getVisibleObjects(WorldObject object, int radius)
+ public Collection getVisibleObjects(WorldObject object, int radius)
{
int x = object.getX();
int y = object.getY();
- int sqRadius = radius * radius;
List result = new ArrayList<>();
- Iterator iter = _visibleObjects.values().iterator();
- while (iter.hasNext())
+ for (WorldObject worldObject : _visibleObjects.values())
{
- @SuppressWarnings("unused")
- 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))
+ if ((worldObject == null) || worldObject.equals(object) || (Math.sqrt(Math.pow(x - worldObject.getX(), 2) + Math.pow(y - worldObject.getY(), 2)) > radius))
{
continue;
}
- result.add(element);
+ result.add(worldObject);
}
- return result.toArray(new WorldObject[result.size()]);
+ return result;
}
- public PlayerInstance[] getAllPlayers()
+ public Collection getAllPlayers()
{
- return _allPlayers.values().toArray(new PlayerInstance[_allPlayers.size()]);
+ return _allPlayers.values();
}
public PlayerInstance getPlayer(String name)
{
- return (PlayerInstance) _allPlayers.get(name.toLowerCase());
+ return _allPlayers.get(name.toLowerCase());
}
}
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Appearing.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Appearing.java
index 9e3fa33f0f..7b289e7abd 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Appearing.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Appearing.java
@@ -45,40 +45,38 @@ public class Appearing extends ClientBasePacket
Connection con = client.getConnection();
UserInfo ui = new UserInfo(activeChar);
con.sendPacket(ui);
- WorldObject[] visible = World.getInstance().getVisibleObjects(activeChar, 2000);
- _log.fine("npc in range:" + visible.length);
- for (int i = 0; i < visible.length; ++i)
+ for (WorldObject worldObject : World.getInstance().getVisibleObjects(activeChar, 2000))
{
NpcInfo ni;
Creature npc;
- activeChar.addKnownObject(visible[i]);
- if (visible[i] instanceof ItemInstance)
+ activeChar.addKnownObject(worldObject);
+ if (worldObject instanceof ItemInstance)
{
- SpawnItem si = new SpawnItem((ItemInstance) visible[i]);
+ SpawnItem si = new SpawnItem((ItemInstance) worldObject);
con.sendPacket(si);
continue;
}
- if (visible[i] instanceof NpcInstance)
+ if (worldObject instanceof NpcInstance)
{
- ni = new NpcInfo((NpcInstance) visible[i]);
+ ni = new NpcInfo((NpcInstance) worldObject);
con.sendPacket(ni);
- npc = (NpcInstance) visible[i];
+ npc = (NpcInstance) worldObject;
npc.addKnownObject(activeChar);
continue;
}
- if (visible[i] instanceof PetInstance)
+ if (worldObject instanceof PetInstance)
{
- ni = new NpcInfo((PetInstance) visible[i]);
+ ni = new NpcInfo((PetInstance) worldObject);
con.sendPacket(ni);
- npc = (PetInstance) visible[i];
+ npc = (PetInstance) worldObject;
npc.addKnownObject(activeChar);
continue;
}
- if (!(visible[i] instanceof PlayerInstance))
+ if (!(worldObject instanceof PlayerInstance))
{
continue;
}
- PlayerInstance player = (PlayerInstance) visible[i];
+ PlayerInstance player = (PlayerInstance) worldObject;
con.sendPacket(new CharInfo(player));
player.addKnownObject(activeChar);
player.getNetConnection().sendPacket(new CharInfo(activeChar));
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestPartyMatchList.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestPartyMatchList.java
index f257f2d28f..fa8a1a0a0a 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestPartyMatchList.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/RequestPartyMatchList.java
@@ -21,7 +21,6 @@ import java.io.IOException;
import org.l2jmobius.gameserver.ClientThread;
import org.l2jmobius.gameserver.model.World;
-import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.serverpackets.PartyMatchList;
public class RequestPartyMatchList extends ClientBasePacket
@@ -34,8 +33,7 @@ public class RequestPartyMatchList extends ClientBasePacket
int status = readD();
if (status == 1)
{
- PlayerInstance[] allPlayers = World.getInstance().getAllPlayers();
- PartyMatchList matchList = new PartyMatchList(allPlayers);
+ PartyMatchList matchList = new PartyMatchList(World.getInstance().getAllPlayers());
client.getConnection().sendPacket(matchList);
}
else if (status == 3)
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Say2.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Say2.java
index 2d9dc45bc5..b3e50383cf 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Say2.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/Say2.java
@@ -72,8 +72,7 @@ public class Say2 extends ClientBasePacket
}
else if ((type == 1) || (type == 8))
{
- PlayerInstance[] players = World.getInstance().getAllPlayers();
- for (PlayerInstance player : players)
+ for (PlayerInstance player : World.getInstance().getAllPlayers())
{
player.sendPacket(cs);
}
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SendBypassBuildCmd.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SendBypassBuildCmd.java
index ac4725c7b3..6dc383f222 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SendBypassBuildCmd.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/SendBypassBuildCmd.java
@@ -48,8 +48,7 @@ public class SendBypassBuildCmd extends ClientBasePacket
{
String text = command.substring(9);
CreatureSay cs = new CreatureSay(0, 10, activeChar.getName(), text);
- PlayerInstance[] players = World.getInstance().getAllPlayers();
- for (PlayerInstance player : players)
+ for (PlayerInstance player : World.getInstance().getAllPlayers())
{
player.sendPacket(cs);
}
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java
index c197606d97..edbd009ebb 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/clientpackets/ValidatePosition.java
@@ -83,15 +83,14 @@ public class ValidatePosition extends ClientBasePacket
_log.fine("deleted " + delete + " objects");
}
int newObjects = 0;
- WorldObject[] visible = World.getInstance().getVisibleObjects(activeChar, 3000);
- for (WorldObject element : visible)
+ for (WorldObject worldObject : World.getInstance().getVisibleObjects(activeChar, 3000))
{
- if (activeChar.knownsObject(element))
+ if (activeChar.knownsObject(worldObject))
{
continue;
}
- activeChar.addKnownObject(element);
- element.addKnownObject(activeChar);
+ activeChar.addKnownObject(worldObject);
+ worldObject.addKnownObject(activeChar);
++newObjects;
}
if (newObjects > 0)
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java
index 114dbd64e4..6a400b5ab8 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java
@@ -17,14 +17,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import java.util.Collection;
+
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
public class PartyMatchList extends ServerBasePacket
{
private static final String _S__AF_PARTYMATCHLIST = "[S] AF PartyMatchList";
- private final PlayerInstance[] _matchingPlayers;
+ private final Collection _matchingPlayers;
- public PartyMatchList(PlayerInstance[] allPlayers)
+ public PartyMatchList(Collection allPlayers)
{
_matchingPlayers = allPlayers;
}
@@ -33,24 +35,24 @@ public class PartyMatchList extends ServerBasePacket
public byte[] getContent()
{
writeC(175);
- int size = _matchingPlayers.length;
+ int size = _matchingPlayers.size();
if (size > 40)
{
size = 40;
}
writeD(size);
- for (int i = 0; i < size; ++i)
+ for (PlayerInstance player : _matchingPlayers)
{
- writeD(_matchingPlayers[i].getObjectId());
- writeS(_matchingPlayers[i].getName());
- writeD(_matchingPlayers[i].getLevel());
- writeD(_matchingPlayers[i].getClassId());
+ writeD(player.getObjectId());
+ writeS(player.getName());
+ writeD(player.getLevel());
+ writeD(player.getClassId());
writeD(0);
- writeD(_matchingPlayers[i].getClanId());
+ writeD(player.getClanId());
writeD(0);
- writeD(_matchingPlayers[i].getX());
- writeD(_matchingPlayers[i].getY());
- writeD(_matchingPlayers[i].getZ());
+ writeD(player.getX());
+ writeD(player.getY());
+ writeD(player.getZ());
}
return getBytes();
}
diff --git a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/ui/SystemPanel.java b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/ui/SystemPanel.java
index ce63aa9cf4..112dd67b04 100644
--- a/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/ui/SystemPanel.java
+++ b/L2J_Mobius_C1_HarbingersOfWar/java/org/l2jmobius/gameserver/ui/SystemPanel.java
@@ -116,7 +116,7 @@ public class SystemPanel extends JPanel
@Override
public void run()
{
- lblConnected.setText("Connected: " + World.getInstance().getAllPlayers().length);
+ lblConnected.setText("Connected: " + World.getInstance().getAllPlayers().size());
lblMaxConnected.setText("Max connected: " + PlayerCountManager.getInstance().getMaxConnectedCount());
lblElapsedTime.setText("Elapsed: " + getDurationBreakdown(System.currentTimeMillis() - startTime));
}
|
| |