Removed most unnecessary toArray conversions.

This commit is contained in:
MobiusDevelopment
2019-11-22 12:05:24 +00:00
parent 859a1720ce
commit e58550493c
36 changed files with 197 additions and 231 deletions

View File

@@ -58,7 +58,7 @@ public class AdminCommands extends Thread
private static AdminCommands _instance; private static AdminCommands _instance;
private static ClientThread clientShut; private static ClientThread clientShut;
private static int secondsShut; private static int secondsShut;
private static Skill[] adminSkills; private static Collection<Skill> adminSkills;
private static String _characterToManipulate; private static String _characterToManipulate;
public static AdminCommands getInstance() public static AdminCommands getInstance()
@@ -1173,7 +1173,6 @@ public class AdminCommands extends Thread
{ {
PlayerInstance activeChar = client.getActiveChar(); PlayerInstance activeChar = client.getActiveChar();
PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate); PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate);
Skill[] skills = player.getAllSkills();
NpcHtmlMessage adminReply = new NpcHtmlMessage(5); NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
StringBuffer replyMSG = new StringBuffer("<html><title>Remove skills of " + player.getName() + "</title>"); StringBuffer replyMSG = new StringBuffer("<html><title>Remove skills of " + player.getName() + "</title>");
replyMSG.append("<body>"); replyMSG.append("<body>");
@@ -1184,7 +1183,7 @@ public class AdminCommands extends Thread
replyMSG.append("<center>Click on the skill you wish to remove:</center>"); replyMSG.append("<center>Click on the skill you wish to remove:</center>");
replyMSG.append("<center><table>"); replyMSG.append("<center><table>");
replyMSG.append("<tr><td><center>Name:</center></td><td></td><td>Lvl:</td><td></td><td>Id:</td></tr>"); replyMSG.append("<tr><td><center>Name:</center></td><td></td><td>Lvl:</td><td></td><td>Id:</td></tr>");
for (Skill skill : skills) for (Skill skill : player.getAllSkills())
{ {
replyMSG.append("<tr><td><a action=\"bypass -h admin_remove_skill " + skill.getId() + "\">" + skill.getName() + "</a></td><td></td><td>" + skill.getLevel() + "</td><td></td><td>" + skill.getId() + "</td></tr>"); replyMSG.append("<tr><td><a action=\"bypass -h admin_remove_skill " + skill.getId() + "\">" + skill.getName() + "</a></td><td></td><td>" + skill.getLevel() + "</td><td></td><td>" + skill.getId() + "</td></tr>");
} }
@@ -1236,16 +1235,15 @@ public class AdminCommands extends Thread
} }
else else
{ {
int i; Collection<Skill> skills = player.getAllSkills();
Skill[] skills = player.getAllSkills();
adminSkills = activeChar.getAllSkills(); adminSkills = activeChar.getAllSkills();
for (i = 0; i < adminSkills.length; ++i) for (Skill skill : adminSkills)
{ {
activeChar.removeSkill(adminSkills[i]); activeChar.removeSkill(skill);
} }
for (i = 0; i < skills.length; ++i) for (Skill skill : skills)
{ {
activeChar.addSkill(skills[i]); activeChar.addSkill(skill);
} }
SystemMessage smA = new SystemMessage(614); SystemMessage smA = new SystemMessage(614);
smA.addString("You now have all the skills of " + player.getName() + "."); smA.addString("You now have all the skills of " + player.getName() + ".");
@@ -1266,23 +1264,22 @@ public class AdminCommands extends Thread
} }
else else
{ {
int i; Collection<Skill> skills = player.getAllSkills();
Skill[] skills = player.getAllSkills(); for (Skill skill : skills)
for (i = 0; i < skills.length; ++i)
{ {
player.removeSkill(skills[i]); player.removeSkill(skill);
} }
for (i = 0; i < activeChar.getAllSkills().length; ++i) for (Skill skill : activeChar.getAllSkills())
{ {
player.addSkill(activeChar.getAllSkills()[i]); player.addSkill(skill);
} }
for (i = 0; i < skills.length; ++i) for (Skill skill : skills)
{ {
activeChar.removeSkill(skills[i]); activeChar.removeSkill(skill);
} }
for (i = 0; i < adminSkills.length; ++i) for (Skill skill : adminSkills)
{ {
activeChar.addSkill(adminSkills[i]); activeChar.addSkill(skill);
} }
SystemMessage sm = new SystemMessage(614); SystemMessage sm = new SystemMessage(614);
sm.addString("[GM]" + activeChar.getName() + " has updated your skills."); sm.addString("[GM]" + activeChar.getName() + " has updated your skills.");

View File

@@ -21,6 +21,7 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.LineNumberReader; import java.io.LineNumberReader;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.StringTokenizer; import java.util.StringTokenizer;
@@ -119,8 +120,8 @@ public class CharTemplateTable
return _templates.get(classId); return _templates.get(classId);
} }
public CharTemplate[] getAllTemplates() public Collection<CharTemplate> getAllTemplates()
{ {
return _templates.values().toArray(new CharTemplate[_templates.size()]); return _templates.values();
} }
} }

View File

@@ -23,6 +23,8 @@ import java.io.FileNotFoundException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.LineNumberReader; import java.io.LineNumberReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -215,16 +217,18 @@ public class SkillTreeTable
return skill; return skill;
} }
public SkillLearn[] getAvailableSkills(PlayerInstance cha) public Collection<SkillLearn> getAvailableSkills(PlayerInstance cha)
{ {
List<SkillLearn> result = new ArrayList<>(); List<SkillLearn> result = new ArrayList<>();
List<SkillLearn> skills = _skillTrees.get(cha.getClassId()); List<SkillLearn> skills = _skillTrees.get(cha.getClassId());
if (skills == null) if (skills == null)
{ {
_log.warning("Skilltree for class " + cha.getClassId() + " is not defined !"); _log.warning("Skilltree for class " + cha.getClassId() + " is not defined !");
return new SkillLearn[0]; return Collections.emptyList();
} }
Skill[] oldSkills = cha.getAllSkills();
// TODO: Remove toArray.
Skill[] oldSkills = cha.getAllSkills().toArray(new Skill[cha.getAllSkills().size()]);
for (int i = 0; i < skills.size(); ++i) for (int i = 0; i < skills.size(); ++i)
{ {
SkillLearn temp = skills.get(i); SkillLearn temp = skills.get(i);
@@ -252,6 +256,6 @@ public class SkillTreeTable
} }
result.add(temp); result.add(temp);
} }
return result.toArray(new SkillLearn[result.size()]); return result;
} }
} }

View File

@@ -120,8 +120,7 @@ public class CommunityBoardManager
} }
htmlCode.append("<tr>" + title + "<td>" + name + "</td></tr>"); htmlCode.append("<tr>" + title + "<td>" + name + "</td></tr>");
htmlCode.append("<tr><td><br></td></tr>"); htmlCode.append("<tr><td><br></td></tr>");
ClanMember[] members = clan.getMembers(); for (ClanMember member : clan.getMembers())
for (ClanMember member : members)
{ {
if (member.getName() == clan.getLeaderName()) if (member.getName() == clan.getLeaderName())
{ {

View File

@@ -20,6 +20,7 @@ package org.l2jmobius.gameserver.model;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
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;
@@ -99,25 +100,23 @@ public class Clan
_members.remove(name); _members.remove(name);
} }
public ClanMember[] getMembers() public Collection<ClanMember> getMembers()
{ {
return _members.values().toArray(new ClanMember[_members.size()]); return _members.values();
} }
public PlayerInstance[] getOnlineMembers(String exclude) public Collection<PlayerInstance> getOnlineMembers(String exclude)
{ {
List<PlayerInstance> result = new ArrayList<>(); List<PlayerInstance> result = new ArrayList<>();
Iterator<ClanMember> iter = _members.values().iterator(); for (ClanMember member : _members.values())
while (iter.hasNext())
{ {
ClanMember temp = iter.next(); if (!member.isOnline() || member.getName().equals(exclude))
if (!temp.isOnline() || temp.getName().equals(exclude))
{ {
continue; continue;
} }
result.add(temp.getPlayerInstance()); result.add(member.getPlayerInstance());
} }
return result.toArray(new PlayerInstance[result.size()]); return result;
} }
public int getAllyId() public int getAllyId()
@@ -191,7 +190,6 @@ public class Clan
FileWriter out = null; FileWriter out = null;
try try
{ {
int i;
out = new FileWriter(clanFile); out = new FileWriter(clanFile);
out.write("#clanId;clanName;clanLevel;hasCastle;hasHideout;allianceId;allianceName\r\n"); out.write("#clanId;clanName;clanLevel;hasCastle;hasHideout;allianceId;allianceName\r\n");
out.write(getClanId() + ";"); out.write(getClanId() + ";");
@@ -202,28 +200,27 @@ public class Clan
out.write(getAllyId() + ";"); out.write(getAllyId() + ";");
out.write("none\r\n"); out.write("none\r\n");
out.write("#memberName;memberLevel;classId;objectId\r\n"); out.write("#memberName;memberLevel;classId;objectId\r\n");
ClanMember[] members = getMembers(); for (ClanMember member : getMembers())
for (i = 0; i < members.length; ++i)
{ {
if (members[i].getObjectId() != getLeaderId()) if (member.getObjectId() != getLeaderId())
{ {
continue; continue;
} }
out.write(members[i].getName() + ";"); out.write(member.getName() + ";");
out.write(members[i].getLevel() + ";"); out.write(member.getLevel() + ";");
out.write(members[i].getClassId() + ";"); out.write(member.getClassId() + ";");
out.write(members[i].getObjectId() + "\r\n"); out.write(member.getObjectId() + "\r\n");
} }
for (i = 0; i < members.length; ++i) for (ClanMember member : getMembers())
{ {
if (members[i].getObjectId() == getLeaderId()) if (member.getObjectId() == getLeaderId())
{ {
continue; continue;
} }
out.write(members[i].getName() + ";"); out.write(member.getName() + ";");
out.write(members[i].getLevel() + ";"); out.write(member.getLevel() + ";");
out.write(members[i].getClassId() + ";"); out.write(member.getClassId() + ";");
out.write(members[i].getObjectId() + "\r\n"); out.write(member.getObjectId() + "\r\n");
} }
} }
catch (Exception e) catch (Exception e)

View File

@@ -18,6 +18,7 @@
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.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
@@ -56,9 +57,9 @@ public class Inventory
return _items.size(); return _items.size();
} }
public ItemInstance[] getItems() public Collection<ItemInstance> getItems()
{ {
return _items.toArray(new ItemInstance[_items.size()]); return _items;
} }
public ItemInstance addItem(ItemInstance newItem) public ItemInstance addItem(ItemInstance newItem)
@@ -131,7 +132,7 @@ public class Inventory
refreshWeight(); refreshWeight();
} }
public ItemInstance[] unEquipItemInBodySlot(int slot) public Collection<ItemInstance> unEquipItemInBodySlot(int slot)
{ {
List<ItemInstance> unequipedItems = new ArrayList<>(); List<ItemInstance> unequipedItems = new ArrayList<>();
// _log.fine("--- unequip body slot:" + slot); // _log.fine("--- unequip body slot:" + slot);
@@ -196,8 +197,8 @@ public class Inventory
} }
case 16384: case 16384:
{ {
this.unEquipSlot(unequipedItems, 8); unEquipSlot(unequipedItems, 8);
this.unEquipSlot(7); unEquipSlot(7);
pdollSlot = 14; pdollSlot = 14;
break; break;
} }
@@ -216,21 +217,20 @@ public class Inventory
pdollSlot = 0; pdollSlot = 0;
} }
} }
this.unEquipSlot(unequipedItems, pdollSlot); unEquipSlot(unequipedItems, pdollSlot);
return unequipedItems.toArray(new ItemInstance[unequipedItems.size()]); return unequipedItems;
} }
public ItemInstance[] unEquipItemOnPaperdoll(int pdollSlot) public Collection<ItemInstance> unEquipItemOnPaperdoll(int pdollSlot)
{ {
List<ItemInstance> unequipedItems = new ArrayList<>(); List<ItemInstance> unequipedItems = new ArrayList<>();
// _log.fine("--- unequip body slot:" + pdollSlot);
if (pdollSlot == 14) if (pdollSlot == 14)
{ {
this.unEquipSlot(unequipedItems, 8); unEquipSlot(unequipedItems, 8);
this.unEquipSlot(7); unEquipSlot(7);
} }
this.unEquipSlot(unequipedItems, pdollSlot); unEquipSlot(unequipedItems, pdollSlot);
return unequipedItems.toArray(new ItemInstance[unequipedItems.size()]); return unequipedItems;
} }
public List<ItemInstance> equipItem(ItemInstance item) public List<ItemInstance> equipItem(ItemInstance item)
@@ -242,17 +242,17 @@ public class Inventory
case 16384: case 16384:
{ {
ItemInstance arrow; ItemInstance arrow;
this.unEquipSlot(changedItems, 8); unEquipSlot(changedItems, 8);
ItemInstance old1 = this.unEquipSlot(14); ItemInstance old1 = unEquipSlot(14);
if (old1 != null) if (old1 != null)
{ {
changedItems.add(old1); changedItems.add(old1);
this.unEquipSlot(7); unEquipSlot(7);
this.unEquipSlot(changedItems, 8); unEquipSlot(changedItems, 8);
} }
else else
{ {
this.unEquipSlot(changedItems, 7); unEquipSlot(changedItems, 7);
} }
setPaperdollItem(7, item); setPaperdollItem(7, item);
setPaperdollItem(14, item); setPaperdollItem(14, item);
@@ -267,25 +267,25 @@ public class Inventory
} }
case 256: case 256:
{ {
ItemInstance old1 = this.unEquipSlot(14); ItemInstance old1 = unEquipSlot(14);
if (old1 != null) if (old1 != null)
{ {
this.unEquipSlot(changedItems, 7); unEquipSlot(changedItems, 7);
} }
this.unEquipSlot(changedItems, 8); unEquipSlot(changedItems, 8);
setPaperdollItem(8, item); setPaperdollItem(8, item);
break; break;
} }
case 128: case 128:
{ {
if (this.unEquipSlot(changedItems, 14)) if (unEquipSlot(changedItems, 14))
{ {
this.unEquipSlot(changedItems, 8); unEquipSlot(changedItems, 8);
this.unEquipSlot(7); unEquipSlot(7);
} }
else else
{ {
this.unEquipSlot(changedItems, 7); unEquipSlot(changedItems, 7);
} }
setPaperdollItem(7, item); setPaperdollItem(7, item);
break; break;
@@ -302,7 +302,7 @@ public class Inventory
setPaperdollItem(2, item); setPaperdollItem(2, item);
break; break;
} }
this.unEquipSlot(changedItems, 1); unEquipSlot(changedItems, 1);
setPaperdollItem(1, item); setPaperdollItem(1, item);
break; break;
} }
@@ -318,26 +318,26 @@ public class Inventory
setPaperdollItem(5, item); setPaperdollItem(5, item);
break; break;
} }
this.unEquipSlot(changedItems, 4); unEquipSlot(changedItems, 4);
setPaperdollItem(4, item); setPaperdollItem(4, item);
break; break;
} }
case 8: case 8:
{ {
this.unEquipSlot(changedItems, 3); unEquipSlot(changedItems, 3);
setPaperdollItem(3, item); setPaperdollItem(3, item);
break; break;
} }
case 32768: case 32768:
{ {
this.unEquipSlot(changedItems, 10); unEquipSlot(changedItems, 10);
this.unEquipSlot(changedItems, 11); unEquipSlot(changedItems, 11);
setPaperdollItem(10, item); setPaperdollItem(10, item);
break; break;
} }
case 1024: case 1024:
{ {
this.unEquipSlot(changedItems, 10); unEquipSlot(changedItems, 10);
setPaperdollItem(10, item); setPaperdollItem(10, item);
break; break;
} }
@@ -346,39 +346,39 @@ public class Inventory
ItemInstance chest = getPaperdollItem(10); ItemInstance chest = getPaperdollItem(10);
if ((chest != null) && (chest.getItem().getBodyPart() == 32768)) if ((chest != null) && (chest.getItem().getBodyPart() == 32768))
{ {
this.unEquipSlot(changedItems, 10); unEquipSlot(changedItems, 10);
} }
this.unEquipSlot(changedItems, 11); unEquipSlot(changedItems, 11);
setPaperdollItem(11, item); setPaperdollItem(11, item);
break; break;
} }
case 4096: case 4096:
{ {
this.unEquipSlot(changedItems, 12); unEquipSlot(changedItems, 12);
setPaperdollItem(12, item); setPaperdollItem(12, item);
break; break;
} }
case 512: case 512:
{ {
this.unEquipSlot(changedItems, 9); unEquipSlot(changedItems, 9);
setPaperdollItem(9, item); setPaperdollItem(9, item);
break; break;
} }
case 64: case 64:
{ {
this.unEquipSlot(changedItems, 6); unEquipSlot(changedItems, 6);
setPaperdollItem(6, item); setPaperdollItem(6, item);
break; break;
} }
case 1: case 1:
{ {
this.unEquipSlot(changedItems, 0); unEquipSlot(changedItems, 0);
setPaperdollItem(0, item); setPaperdollItem(0, item);
break; break;
} }
case 8192: case 8192:
{ {
this.unEquipSlot(changedItems, 13); unEquipSlot(changedItems, 13);
setPaperdollItem(13, item); setPaperdollItem(13, item);
break; break;
} }

View File

@@ -57,7 +57,7 @@ public class Party
private PlayerInstance getRandomMember() private PlayerInstance getRandomMember()
{ {
return (PlayerInstance) _members.toArray()[Rnd.get(_members.size())]; return _members.get(Rnd.get(_members.size()));
} }
public boolean isLeader(PlayerInstance player) public boolean isLeader(PlayerInstance player)
@@ -67,18 +67,16 @@ public class Party
public void broadcastToPartyMembers(ServerBasePacket msg) public void broadcastToPartyMembers(ServerBasePacket msg)
{ {
for (int i = 0; i < _members.size(); ++i) for (PlayerInstance member : _members)
{ {
PlayerInstance member = _members.get(i);
member.sendPacket(msg); member.sendPacket(msg);
} }
} }
public void broadcastToPartyMembers(PlayerInstance player, ServerBasePacket msg) public void broadcastToPartyMembers(PlayerInstance player, ServerBasePacket msg)
{ {
for (int i = 0; i < _members.size(); ++i) for (PlayerInstance member : _members)
{ {
PlayerInstance member = _members.get(i);
if (member.equals(player)) if (member.equals(player))
{ {
continue; continue;

View File

@@ -108,8 +108,7 @@ public class World
public void removeVisibleObject(WorldObject object) public void removeVisibleObject(WorldObject object)
{ {
_visibleObjects.remove(object.getObjectId()); _visibleObjects.remove(object.getObjectId());
Object[] temp = object.getKnownObjects().toArray(); for (Object element : object.getKnownObjects())
for (Object element : temp)
{ {
WorldObject temp1 = (WorldObject) element; WorldObject temp1 = (WorldObject) element;
temp1.removeKnownObject(object); temp1.removeKnownObject(object);

View File

@@ -114,11 +114,10 @@ public class WorldObject implements Serializable
public void removeAllKnownObjects() public void removeAllKnownObjects()
{ {
WorldObject[] notifyList = _knownObjects.toArray(new WorldObject[_knownObjects.size()]);
_knownObjects.clear(); _knownObjects.clear();
for (WorldObject element : notifyList) for (WorldObject object : _knownObjects)
{ {
element.removeKnownObject(this); object.removeKnownObject(this);
} }
} }

View File

@@ -321,8 +321,7 @@ public class Attackable extends NpcInstance
dropit.setZ(getZ() + 100); dropit.setZ(getZ() + 100);
dropit.setOnTheGround(true); dropit.setOnTheGround(true);
DropItem dis = new DropItem(dropit, getObjectId()); DropItem dis = new DropItem(dropit, getObjectId());
Creature[] players = broadcastPacket(dis); for (Creature player : broadcastPacket(dis))
for (Creature player : players)
{ {
((PlayerInstance) player).addKnownObjectWithoutCreate(dropit); ((PlayerInstance) player).addKnownObjectWithoutCreate(dropit);
} }

View File

@@ -20,6 +20,7 @@ package org.l2jmobius.gameserver.model.actor;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.Timer; import java.util.Timer;
@@ -1024,16 +1025,14 @@ public abstract class Creature extends WorldObject
return distance; return distance;
} }
public Creature[] broadcastPacket(ServerBasePacket mov) public Collection<PlayerInstance> broadcastPacket(ServerBasePacket mov)
{ {
Set<PlayerInstance> list = getKnownPlayers(); Set<PlayerInstance> nearby = getKnownPlayers();
Creature[] players = list.toArray(new Creature[list.size()]); for (Creature player : nearby)
// _log.fine("players to notify:" + players.length + " packet:" + mov.getType());
for (Creature player : players)
{ {
player.sendPacket(mov); player.sendPacket(mov);
} }
return players; return nearby;
} }
public void sendPacket(ServerBasePacket mov) public void sendPacket(ServerBasePacket mov)

View File

@@ -426,8 +426,7 @@ public class PetInstance extends Creature
try try
{ {
Inventory petInventory = getInventory(); Inventory petInventory = getInventory();
ItemInstance[] items = petInventory.getItems(); for (ItemInstance giveit : petInventory.getItems())
for (ItemInstance giveit : items)
{ {
if (((giveit.getItem().getWeight() * giveit.getCount()) + _owner.getInventory().getTotalWeight()) < _owner.getMaxLoad()) if (((giveit.getItem().getWeight() * giveit.getCount()) + _owner.getInventory().getTotalWeight()) < _owner.getMaxLoad())
{ {
@@ -515,8 +514,7 @@ public class PetInstance extends Creature
{ {
try try
{ {
ItemInstance[] items = getInventory().getItems(); for (ItemInstance item : getInventory().getItems())
for (ItemInstance item : items)
{ {
dropItemHere(item); dropItemHere(item);
} }
@@ -538,8 +536,7 @@ public class PetInstance extends Creature
dropit.setZ(getZ() + 100); dropit.setZ(getZ() + 100);
dropit.setOnTheGround(true); dropit.setOnTheGround(true);
DropItem dis = new DropItem(dropit, getObjectId()); DropItem dis = new DropItem(dropit, getObjectId());
Creature[] players = broadcastPacket(dis); for (Creature player : broadcastPacket(dis))
for (Creature player : players)
{ {
((PlayerInstance) player).addKnownObjectWithoutCreate(dropit); ((PlayerInstance) player).addKnownObjectWithoutCreate(dropit);
} }
@@ -596,21 +593,20 @@ public class PetInstance extends Creature
{ {
if (getKnownObjects().size() != 0) if (getKnownObjects().size() != 0)
{ {
WorldObject[] knownobjects = _knownObjects.toArray(new WorldObject[_knownObjects.size()]); for (WorldObject object : _knownObjects)
for (int x = 0; x < knownobjects.length; ++x)
{ {
if (!(getDistance(knownobjects[x].getX(), knownobjects[x].getY()) > 4000.0)) if (!(getDistance(object.getX(), object.getY()) > 4000.0))
{ {
continue; continue;
} }
if (knownobjects[x] instanceof MonsterInstance) if (object instanceof MonsterInstance)
{ {
removeKnownObject(knownobjects[x]); removeKnownObject(object);
((MonsterInstance) knownobjects[x]).removeKnownObject(this); ((MonsterInstance) object).removeKnownObject(this);
continue; continue;
} }
removeKnownObject(knownobjects[x]); removeKnownObject(object);
knownobjects[x].removeKnownObject(this); object.removeKnownObject(this);
} }
} }
updateKnownCounter = 0; updateKnownCounter = 0;

View File

@@ -17,6 +17,7 @@
*/ */
package org.l2jmobius.gameserver.model.actor.instance; package org.l2jmobius.gameserver.model.actor.instance;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
@@ -142,14 +143,14 @@ public class PlayerInstance extends Creature
return _skills.remove(skill.getId()); return _skills.remove(skill.getId());
} }
public Skill[] getAllSkills() public Collection<Skill> getAllSkills()
{ {
return _skills.values().toArray(new Skill[_skills.values().size()]); return _skills.values();
} }
public ShortCut[] getAllShortCuts() public Collection<ShortCut> getAllShortCuts()
{ {
return _shortCuts.values().toArray(new ShortCut[_shortCuts.values().size()]); return _shortCuts.values();
} }
public ShortCut getShortCut(int slot) public ShortCut getShortCut(int slot)

View File

@@ -51,10 +51,8 @@ public class TrainerInstance extends NpcInstance
public void showSkillList(PlayerInstance player) public void showSkillList(PlayerInstance player)
{ {
_log.fine("SkillList activated on: " + getObjectId());
SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(player);
AquireSkillList asl = new AquireSkillList(); AquireSkillList asl = new AquireSkillList();
for (SkillLearn skill : skills) for (SkillLearn skill : SkillTreeTable.getInstance().getAvailableSkills(player))
{ {
asl.addSkill(skill.getId(), skill.getLevel(), skill.getLevel(), skill.getSpCost(), 0); asl.addSkill(skill.getId(), skill.getLevel(), skill.getLevel(), skill.getSpCost(), 0);
} }

View File

@@ -221,10 +221,9 @@ public class ClientThread extends Thread
OutputStreamWriter out = null; OutputStreamWriter out = null;
try try
{ {
ShortCut[] scs = cha.getAllShortCuts();
out = new FileWriter(saveFile); out = new FileWriter(saveFile);
out.write("slot;type;id;level;unknown\r\n"); out.write("slot;type;id;level;unknown\r\n");
for (ShortCut sc : scs) for (ShortCut sc : cha.getAllShortCuts())
{ {
out.write(sc.getSlot() + ";"); out.write(sc.getSlot() + ";");
out.write(sc.getType() + ";"); out.write(sc.getType() + ";");
@@ -350,10 +349,9 @@ public class ClientThread extends Thread
OutputStreamWriter out = null; OutputStreamWriter out = null;
try try
{ {
ItemInstance[] items = cha.getInventory().getItems();
out = new FileWriter(saveFile); out = new FileWriter(saveFile);
out.write("objectId;itemId;name;count;price;equipSlot;\r\n"); out.write("objectId;itemId;name;count;price;equipSlot;\r\n");
for (ItemInstance item : items) for (ItemInstance item : cha.getInventory().getItems())
{ {
out.write(item.getObjectId() + ";"); out.write(item.getObjectId() + ";");
out.write(item.getItemId() + ";"); out.write(item.getItemId() + ";");
@@ -392,10 +390,9 @@ public class ClientThread extends Thread
OutputStreamWriter out = null; OutputStreamWriter out = null;
try try
{ {
Skill[] skills = cha.getAllSkills();
out = new FileWriter(saveFile); out = new FileWriter(saveFile);
out.write("skillId;skillLevel;skillName\r\n"); out.write("skillId;skillLevel;skillName\r\n");
for (Skill skill : skills) for (Skill skill : cha.getAllSkills())
{ {
out.write(skill.getId() + ";"); out.write(skill.getId() + ";");
out.write(skill.getLevel() + ";"); out.write(skill.getLevel() + ";");

View File

@@ -62,7 +62,7 @@ public class Action extends ClientBasePacket
} }
else else
{ {
_log.warning("object not found, oid " + objectId + " or player is dead"); // _log.warning("object not found, oid " + objectId + " or player is dead");
activeChar.sendPacket(new ActionFailed()); activeChar.sendPacket(new ActionFailed());
} }
} }

View File

@@ -150,16 +150,14 @@ public class CharacterCreate extends ClientBasePacket
newChar.setCollisionHeight(template.getFColH()); newChar.setCollisionHeight(template.getFColH());
} }
ItemTable itemTable = ItemTable.getInstance(); ItemTable itemTable = ItemTable.getInstance();
Integer[] items = template.getItems(); for (Integer item2 : template.getItems())
for (Integer item2 : items)
{ {
ItemInstance item = itemTable.createItem(item2); ItemInstance item = itemTable.createItem(item2);
newChar.getInventory().addItem(item); newChar.getInventory().addItem(item);
} }
newChar.setTitle(""); newChar.setTitle("");
newChar.setClanId(0); newChar.setClanId(0);
SkillLearn[] startSkills = SkillTreeTable.getInstance().getAvailableSkills(newChar); for (SkillLearn startSkill : SkillTreeTable.getInstance().getAvailableSkills(newChar))
for (SkillLearn startSkill : startSkills)
{ {
newChar.addSkill(SkillTable.getInstance().getInfo(startSkill.getId(), startSkill.getLevel())); newChar.addSkill(SkillTable.getInstance().getInfo(startSkill.getId(), startSkill.getLevel()));
_log.fine("adding starter skill:" + startSkill.getId() + " / " + startSkill.getLevel()); _log.fine("adding starter skill:" + startSkill.getId() + " / " + startSkill.getLevel());

View File

@@ -49,29 +49,31 @@ public class EnterWorld extends ClientBasePacket
} }
SystemMessage sm = new SystemMessage(34); SystemMessage sm = new SystemMessage(34);
con.sendPacket(sm); con.sendPacket(sm);
Announcements.getInstance().showAnnouncements(activeChar); Announcements.getInstance().showAnnouncements(activeChar);
ItemList il = new ItemList(activeChar, false); ItemList il = new ItemList(activeChar, false);
activeChar.sendPacket(il); activeChar.sendPacket(il);
ShortCutInit sci = new ShortCutInit(); ShortCutInit sci = new ShortCutInit();
ShortCut[] shortcuts = activeChar.getAllShortCuts(); for (ShortCut shortcut : activeChar.getAllShortCuts())
block5: for (ShortCut shortcut : shortcuts)
{ {
switch (shortcut.getType()) switch (shortcut.getType())
{ {
case 3: case 3:
{ {
sci.addActionShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getUnk()); sci.addActionShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getUnk());
continue block5; continue;
} }
case 2: case 2:
{ {
sci.addSkillShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getLevel(), shortcut.getUnk()); sci.addSkillShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getLevel(), shortcut.getUnk());
continue block5; continue;
} }
case 1: case 1:
{ {
sci.addItemShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getUnk()); sci.addItemShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getUnk());
continue block5; continue;
} }
default: default:
{ {
@@ -80,6 +82,7 @@ public class EnterWorld extends ClientBasePacket
} }
} }
con.sendPacket(sci); con.sendPacket(sci);
UserInfo ui = new UserInfo(activeChar); UserInfo ui = new UserInfo(activeChar);
con.sendPacket(ui); con.sendPacket(ui);
if (activeChar.isDead()) if (activeChar.isDead())
@@ -98,8 +101,7 @@ public class EnterWorld extends ClientBasePacket
clan.getClanMember(activeChar.getName()).setPlayerInstance(activeChar); clan.getClanMember(activeChar.getName()).setPlayerInstance(activeChar);
SystemMessage msg = new SystemMessage(304); SystemMessage msg = new SystemMessage(304);
msg.addString(activeChar.getName()); msg.addString(activeChar.getName());
PlayerInstance[] clanMembers = clan.getOnlineMembers(activeChar.getName()); for (PlayerInstance clanMember : clan.getOnlineMembers(activeChar.getName()))
for (PlayerInstance clanMember : clanMembers)
{ {
clanMember.sendPacket(msg); clanMember.sendPacket(msg);
} }

View File

@@ -18,6 +18,7 @@
package org.l2jmobius.gameserver.network.clientpackets; package org.l2jmobius.gameserver.network.clientpackets;
import java.io.IOException; import java.io.IOException;
import java.util.Collection;
import org.l2jmobius.gameserver.data.SkillTable; import org.l2jmobius.gameserver.data.SkillTable;
import org.l2jmobius.gameserver.data.SkillTreeTable; import org.l2jmobius.gameserver.data.SkillTreeTable;
@@ -39,11 +40,10 @@ public class RequestAquireSkill extends ClientBasePacket
{ {
super(rawPacket); super(rawPacket);
PlayerInstance player = client.getActiveChar(); PlayerInstance player = client.getActiveChar();
// Connection con = client.getConnection();
int id = readD(); int id = readD();
int level = readD(); int level = readD();
Skill skill = SkillTable.getInstance().getInfo(id, level); Skill skill = SkillTable.getInstance().getInfo(id, level);
SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(player); Collection<SkillLearn> skills = SkillTreeTable.getInstance().getAvailableSkills(player);
int _requiredSp = 0; int _requiredSp = 0;
for (SkillLearn skill2 : skills) for (SkillLearn skill2 : skills)
{ {

View File

@@ -40,9 +40,8 @@ public class RequestAquireSkillInfo extends ClientBasePacket
int id = readD(); int id = readD();
int level = readD(); int level = readD();
Skill skill = SkillTable.getInstance().getInfo(id, level); Skill skill = SkillTable.getInstance().getInfo(id, level);
SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(activeChar);
int requiredSp = 0; int requiredSp = 0;
for (SkillLearn skill2 : skills) for (SkillLearn skill2 : SkillTreeTable.getInstance().getAvailableSkills(activeChar))
{ {
if (skill2.getId() != id) if (skill2.getId() != id)
{ {

View File

@@ -48,9 +48,8 @@ public class RequestDestroyItem extends ClientBasePacket
} }
if ((itemToRemove = activeChar.getInventory().getItem(objectId)).isEquipped()) if ((itemToRemove = activeChar.getInventory().getItem(objectId)).isEquipped())
{ {
ItemInstance[] unequiped = activeChar.getInventory().unEquipItemOnPaperdoll(itemToRemove.getEquipSlot());
iu = new InventoryUpdate(); iu = new InventoryUpdate();
for (ItemInstance element : unequiped) for (ItemInstance element : activeChar.getInventory().unEquipItemOnPaperdoll(itemToRemove.getEquipSlot()))
{ {
iu.addModifiedItem(element); iu.addModifiedItem(element);
} }

View File

@@ -92,8 +92,7 @@ public class RequestDropItem extends ClientBasePacket
DropItem di = new DropItem(dropedItem, activeChar.getObjectId()); DropItem di = new DropItem(dropedItem, activeChar.getObjectId());
activeChar.sendPacket(di); activeChar.sendPacket(di);
activeChar.addKnownObjectWithoutCreate(dropedItem); activeChar.addKnownObjectWithoutCreate(dropedItem);
Creature[] players = activeChar.broadcastPacket(di); for (Creature player : activeChar.broadcastPacket(di))
for (Creature player : players)
{ {
((PlayerInstance) player).addKnownObjectWithoutCreate(dropedItem); ((PlayerInstance) player).addKnownObjectWithoutCreate(dropedItem);
} }

View File

@@ -20,7 +20,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
import java.io.IOException; import java.io.IOException;
import org.l2jmobius.gameserver.model.Skill; import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.ClientThread; import org.l2jmobius.gameserver.network.ClientThread;
import org.l2jmobius.gameserver.network.serverpackets.SkillList; import org.l2jmobius.gameserver.network.serverpackets.SkillList;
@@ -32,9 +31,7 @@ public class RequestSkillList extends ClientBasePacket
{ {
super(rawPacket); super(rawPacket);
SkillList response = new SkillList(); SkillList response = new SkillList();
PlayerInstance cha = client.getActiveChar(); for (Skill skill : client.getActiveChar().getAllSkills())
Skill[] skills = cha.getAllSkills();
for (Skill skill : skills)
{ {
response.addSkill(skill.getId(), skill.getLevel(), skill.isPassive()); response.addSkill(skill.getId(), skill.getLevel(), skill.isPassive());
} }

View File

@@ -17,6 +17,8 @@
*/ */
package org.l2jmobius.gameserver.network.clientpackets; package org.l2jmobius.gameserver.network.clientpackets;
import java.util.Collection;
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance; import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.ClientThread; import org.l2jmobius.gameserver.network.ClientThread;
@@ -35,7 +37,7 @@ public class RequestUnEquipItem extends ClientBasePacket
int slot = readD(); int slot = readD();
_log.fine("request unequip slot " + slot); _log.fine("request unequip slot " + slot);
PlayerInstance activeChar = client.getActiveChar(); PlayerInstance activeChar = client.getActiveChar();
ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInBodySlot(slot); Collection<ItemInstance> unequiped = activeChar.getInventory().unEquipItemInBodySlot(slot);
InventoryUpdate iu = new InventoryUpdate(); InventoryUpdate iu = new InventoryUpdate();
for (ItemInstance element : unequiped) for (ItemInstance element : unequiped)
{ {
@@ -51,10 +53,10 @@ public class RequestUnEquipItem extends ClientBasePacket
activeChar.setAttackStatus(false); activeChar.setAttackStatus(false);
CharInfo info = new CharInfo(activeChar); CharInfo info = new CharInfo(activeChar);
activeChar.broadcastPacket(info); activeChar.broadcastPacket(info);
if (unequiped.length > 0) if (unequiped.size() > 0)
{ {
SystemMessage sm = new SystemMessage(417); SystemMessage sm = new SystemMessage(417);
sm.addItemName(unequiped[0].getItemId()); sm.addItemName(unequiped.stream().findFirst().get().getItemId());
activeChar.sendPacket(sm); activeChar.sendPacket(sm);
} }
} }

View File

@@ -17,13 +17,15 @@
*/ */
package org.l2jmobius.gameserver.network.serverpackets; package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Collection;
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance; import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
public class GMViewItemList extends ServerBasePacket public class GMViewItemList extends ServerBasePacket
{ {
private static final String _S__AD_GMVIEWITEMLIST = "[S] AD GMViewItemList"; private static final String _S__AD_GMVIEWITEMLIST = "[S] AD GMViewItemList";
private final ItemInstance[] _items; private final Collection<ItemInstance> _items;
private final String _playerName; private final String _playerName;
public GMViewItemList(PlayerInstance cha) public GMViewItemList(PlayerInstance cha)
@@ -38,18 +40,16 @@ public class GMViewItemList extends ServerBasePacket
writeC(173); writeC(173);
writeS(_playerName); writeS(_playerName);
writeH(1); writeH(1);
int count = _items.length; writeH(_items.size());
writeH(count); for (ItemInstance item : _items)
for (int i = 0; i < count; ++i)
{ {
ItemInstance temp = _items[i]; writeH(item.getItem().getType1());
writeH(temp.getItem().getType1()); writeD(item.getObjectId());
writeD(temp.getObjectId()); writeD(item.getItemId());
writeD(temp.getItemId()); writeD(item.getCount());
writeD(temp.getCount()); writeH(item.getItem().getType2());
writeH(temp.getItem().getType2());
writeH(255); writeH(255);
if (temp.isEquipped()) if (item.isEquipped())
{ {
writeH(1); writeH(1);
} }
@@ -57,8 +57,8 @@ public class GMViewItemList extends ServerBasePacket
{ {
writeH(0); writeH(0);
} }
writeD(temp.getItem().getBodyPart()); writeD(item.getItem().getBodyPart());
writeH(temp.getEnchantLevel()); writeH(item.getEnchantLevel());
writeH(0); writeH(0);
} }
return getBytes(); return getBytes();

View File

@@ -49,9 +49,8 @@ public class GMViewPledgeInfo extends ServerBasePacket
writeD(_activeChar.getLevel()); writeD(_activeChar.getLevel());
writeD(0); writeD(0);
writeD(0); writeD(0);
ClanMember[] members = _clan.getMembers(); writeD(_clan.getMembers().size() - 1);
writeD(members.length - 1); for (ClanMember member : _clan.getMembers())
for (ClanMember member : members)
{ {
if (member.getName().equals(_activeChar.getName())) if (member.getName().equals(_activeChar.getName()))
{ {

View File

@@ -17,13 +17,15 @@
*/ */
package org.l2jmobius.gameserver.network.serverpackets; package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Collection;
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance; import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
public class ItemList extends ServerBasePacket public class ItemList extends ServerBasePacket
{ {
private static final String _S__27_ITEMLIST = "[S] 27 ItemList"; private static final String _S__27_ITEMLIST = "[S] 27 ItemList";
private final ItemInstance[] _items; private final Collection<ItemInstance> _items;
private final boolean _showWindow; private final boolean _showWindow;
public ItemList(PlayerInstance cha, boolean showWindow) public ItemList(PlayerInstance cha, boolean showWindow)
@@ -32,7 +34,7 @@ public class ItemList extends ServerBasePacket
_showWindow = showWindow; _showWindow = showWindow;
} }
public ItemList(ItemInstance[] items, boolean showWindow) public ItemList(Collection<ItemInstance> items, boolean showWindow)
{ {
_items = items; _items = items;
_showWindow = showWindow; _showWindow = showWindow;
@@ -50,19 +52,16 @@ public class ItemList extends ServerBasePacket
{ {
writeH(0); writeH(0);
} }
int count = _items.length; writeH(_items.size());
writeH(count); for (ItemInstance item : _items)
for (int i = 0; i < count; ++i)
{ {
ItemInstance temp = _items[i]; writeH(item.getItem().getType1());
// _log.fine("item:" + temp.getItem().getName() + " type1:" + temp.getItem().getType1() + " type2:" + temp.getItem().getType2()); writeD(item.getObjectId());
writeH(temp.getItem().getType1()); writeD(item.getItemId());
writeD(temp.getObjectId()); writeD(item.getCount());
writeD(temp.getItemId()); writeH(item.getItem().getType2());
writeD(temp.getCount());
writeH(temp.getItem().getType2());
writeH(255); writeH(255);
if (temp.isEquipped()) if (item.isEquipped())
{ {
writeH(1); writeH(1);
} }
@@ -70,8 +69,8 @@ public class ItemList extends ServerBasePacket
{ {
writeH(0); writeH(0);
} }
writeD(temp.getItem().getBodyPart()); writeD(item.getItem().getBodyPart());
writeH(temp.getEnchantLevel()); writeH(item.getEnchantLevel());
writeH(0); writeH(0);
} }
return getBytes(); return getBytes();

View File

@@ -17,37 +17,38 @@
*/ */
package org.l2jmobius.gameserver.network.serverpackets; package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Collection;
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance; import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
import org.l2jmobius.gameserver.model.actor.instance.PetInstance; import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
public class PetItemList extends ServerBasePacket public class PetItemList extends ServerBasePacket
{ {
private static final String _S__cb_PETITEMLIST = "[S] cb PetItemList"; private static final String _S__cb_PETITEMLIST = "[S] cb PetItemList";
private final PetInstance _cha; private final PetInstance _cha;
private final Collection<ItemInstance> _items;
public PetItemList(PetInstance cha) public PetItemList(PetInstance cha)
{ {
_cha = cha; _cha = cha;
_items = _cha.getInventory().getItems();
} }
@Override @Override
public byte[] getContent() public byte[] getContent()
{ {
writeC(203); writeC(203);
ItemInstance[] items = _cha.getInventory().getItems(); writeH(_items.size());
int count = items.length; for (ItemInstance item : _items)
writeH(count);
for (int i = 0; i < count; ++i)
{ {
ItemInstance temp = items[i]; writeH(item.getItem().getType1());
// _log.fine("item:" + temp.getItem().getName() + " type1:" + temp.getItem().getType1() + " type2:" + temp.getItem().getType2()); writeD(item.getObjectId());
writeH(temp.getItem().getType1()); writeD(item.getItemId());
writeD(temp.getObjectId()); writeD(item.getCount());
writeD(temp.getItemId()); writeH(item.getItem().getType2());
writeD(temp.getCount());
writeH(temp.getItem().getType2());
writeH(255); writeH(255);
if (temp.isEquipped()) if (item.isEquipped())
{ {
writeH(1); writeH(1);
} }
@@ -55,8 +56,8 @@ public class PetItemList extends ServerBasePacket
{ {
writeH(0); writeH(0);
} }
writeD(temp.getItem().getBodyPart()); writeD(item.getItem().getBodyPart());
writeH(temp.getEnchantLevel()); writeH(item.getEnchantLevel());
writeH(0); writeH(0);
} }
return getBytes(); return getBytes();

View File

@@ -51,9 +51,8 @@ public class PledgeShowMemberListAll extends ServerBasePacket
writeD(0); writeD(0);
writeS(""); writeS("");
writeD(0); writeD(0);
ClanMember[] members = _clan.getMembers(); writeD(_clan.getMembers().size() - 1);
writeD(members.length - 1); for (ClanMember member : _clan.getMembers())
for (ClanMember member : members)
{ {
if (member.getName().equals(_activeChar.getName())) if (member.getName().equals(_activeChar.getName()))
{ {

View File

@@ -18,6 +18,7 @@
package org.l2jmobius.gameserver.network.serverpackets; package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import org.l2jmobius.gameserver.model.TradeItem; import org.l2jmobius.gameserver.model.TradeItem;
@@ -45,7 +46,7 @@ public class PrivateBuyListBuy extends ServerBasePacket
writeD(_buyer.getObjectId()); writeD(_buyer.getObjectId());
writeD(_seller.getAdena()); writeD(_seller.getAdena());
List<TradeItem> buyerslist = _buyer.getBuyList(); List<TradeItem> buyerslist = _buyer.getBuyList();
ItemInstance[] sellerItems = _seller.getInventory().getItems(); Collection<ItemInstance> sellerItems = _seller.getInventory().getItems();
ArrayList<TradeItem> sellerslist = new ArrayList<>(); ArrayList<TradeItem> sellerslist = new ArrayList<>();
int count = buyerslist.size(); int count = buyerslist.size();
for (int i = 0; i < count; ++i) for (int i = 0; i < count; ++i)

View File

@@ -41,13 +41,11 @@ public class PrivateSellListBuy extends ServerBasePacket
writeC(208); writeC(208);
writeD(_buyer.getObjectId()); writeD(_buyer.getObjectId());
writeD(_buyer.getAdena()); writeD(_buyer.getAdena());
ItemInstance[] inventory = _buyer.getInventory().getItems();
TradeList list = new TradeList(0); TradeList list = new TradeList(0);
List<TradeItem> buyList = _buyer.getBuyList(); List<TradeItem> buyList = _buyer.getBuyList();
int count = _buyer.getInventory().getSize(); int count = _buyer.getInventory().getSize();
for (int i2 = 0; i2 < count; ++i2) for (ItemInstance item : _buyer.getInventory().getItems())
{ {
ItemInstance item = inventory[i2];
if (item.isEquipped() || (item.getItem().getType2() == 3) || ((item.getItem().getType2() == 4) && (item.getItem().getType1() == 4)) || ((item.getItem().getType2() == 1) && (item.getItem().getType1() == 1)) || item.isEquipped()) if (item.isEquipped() || (item.getItem().getType2() == 3) || ((item.getItem().getType2() == 4) && (item.getItem().getType1() == 4)) || ((item.getItem().getType2() == 1) && (item.getItem().getType1() == 1)) || item.isEquipped())
{ {
continue; continue;

View File

@@ -43,13 +43,11 @@ public class PrivateSellListSell extends ServerBasePacket
writeC(179); writeC(179);
writeD(_seller.getObjectId()); writeD(_seller.getObjectId());
writeD(_seller.getAdena()); writeD(_seller.getAdena());
ItemInstance[] inventory = _seller.getInventory().getItems();
TradeList list = new TradeList(0); TradeList list = new TradeList(0);
List<TradeItem> sellList = _seller.getSellList(); List<TradeItem> sellList = _seller.getSellList();
int count = _seller.getInventory().getSize(); int count = _seller.getInventory().getSize();
for (i = 0; i < count; ++i) for (ItemInstance item : _seller.getInventory().getItems())
{ {
ItemInstance item = inventory[i];
if (item.isEquipped() || (item.getItem().getType2() == 3) || ((item.getItem().getType2() == 4) && (item.getItem().getType1() == 4)) || ((item.getItem().getType2() == 1) && (item.getItem().getType1() == 1)) || item.isEquipped()) if (item.isEquipped() || (item.getItem().getType2() == 3) || ((item.getItem().getType2() == 4) && (item.getItem().getType1() == 4)) || ((item.getItem().getType2() == 1) && (item.getItem().getType1() == 1)) || item.isEquipped())
{ {
continue; continue;

View File

@@ -39,28 +39,22 @@ public class SellList extends ServerBasePacket
@Override @Override
public byte[] getContent() public byte[] getContent()
{ {
ItemInstance item;
int i;
writeC(28); writeC(28);
writeD(_money); writeD(_money);
writeD(0); writeD(0);
ItemInstance[] inventory = _char.getInventory().getItems();
int count = _char.getInventory().getSize(); int count = _char.getInventory().getSize();
for (i = 0; i < count; ++i) for (ItemInstance item : _char.getInventory().getItems())
{ {
item = inventory[i];
if (item.isEquipped() || (item.getItemId() == 57) || (item.getItem().getType2() == 3)) if (item.isEquipped() || (item.getItemId() == 57) || (item.getItem().getType2() == 3))
{ {
continue; continue;
} }
_selllist.add(item); _selllist.add(item);
// _log.fine("item added to selllist: " + item.getItem().getName());
} }
count = _selllist.size(); count = _selllist.size();
writeH(count); writeH(count);
for (i = 0; i < count; ++i) for (ItemInstance item : _selllist)
{ {
item = _selllist.get(i);
writeH(item.getItem().getType1()); writeH(item.getItem().getType1());
writeD(item.getObjectId()); writeD(item.getObjectId());
writeD(item.getItemId()); writeD(item.getItemId());

View File

@@ -39,11 +39,9 @@ public class TradeStart extends ServerBasePacket
{ {
writeC(46); writeC(46);
writeD(_me.getTransactionRequester().getObjectId()); writeD(_me.getTransactionRequester().getObjectId());
ItemInstance[] inventory = _me.getInventory().getItems();
int count = _me.getInventory().getSize(); int count = _me.getInventory().getSize();
for (int i = 0; i < count; ++i) for (ItemInstance item : _me.getInventory().getItems())
{ {
ItemInstance item = inventory[i];
if (item.isEquipped() || (item.getItem().getType2() == 3)) if (item.isEquipped() || (item.getItem().getType2() == 3))
{ {
continue; continue;

View File

@@ -44,11 +44,9 @@ public class WareHouseDepositList extends ServerBasePacket
writeC(83); writeC(83);
writeD(_money); writeD(_money);
List<ItemInstance> itemlist = new ArrayList<>(); List<ItemInstance> itemlist = new ArrayList<>();
ItemInstance[] inventory = _cha.getInventory().getItems();
int count = _cha.getInventory().getSize(); int count = _cha.getInventory().getSize();
for (i = 0; i < count; ++i) for (ItemInstance item : _cha.getInventory().getItems())
{ {
ItemInstance item = inventory[i];
if (item.isEquipped() || (item.getItem().getType2() == 3)) if (item.isEquipped() || (item.getItem().getType2() == 3))
{ {
continue; continue;

View File

@@ -18,6 +18,7 @@
package org.l2jmobius.gameserver.templates; package org.l2jmobius.gameserver.templates;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
public class CharTemplate public class CharTemplate
@@ -393,9 +394,9 @@ public class CharTemplate
_items.add(itemId); _items.add(itemId);
} }
public Integer[] getItems() public Collection<Integer> getItems()
{ {
return _items.toArray(new Integer[_items.size()]); return _items;
} }
public void setCanCraft(int b) public void setCanCraft(int b)