Removed most unnecessary toArray conversions.
This commit is contained in:
		| @@ -58,7 +58,7 @@ public class AdminCommands extends Thread | ||||
| 	private static AdminCommands _instance; | ||||
| 	private static ClientThread clientShut; | ||||
| 	private static int secondsShut; | ||||
| 	private static Skill[] adminSkills; | ||||
| 	private static Collection<Skill> adminSkills; | ||||
| 	private static String _characterToManipulate; | ||||
| 	 | ||||
| 	public static AdminCommands getInstance() | ||||
| @@ -1173,7 +1173,6 @@ public class AdminCommands extends Thread | ||||
| 	{ | ||||
| 		PlayerInstance activeChar = client.getActiveChar(); | ||||
| 		PlayerInstance player = World.getInstance().getPlayer(_characterToManipulate); | ||||
| 		Skill[] skills = player.getAllSkills(); | ||||
| 		NpcHtmlMessage adminReply = new NpcHtmlMessage(5); | ||||
| 		StringBuffer replyMSG = new StringBuffer("<html><title>Remove skills of " + player.getName() + "</title>"); | ||||
| 		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><table>"); | ||||
| 		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>"); | ||||
| 		} | ||||
| @@ -1236,16 +1235,15 @@ public class AdminCommands extends Thread | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			int i; | ||||
| 			Skill[] skills = player.getAllSkills(); | ||||
| 			Collection<Skill> skills = player.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); | ||||
| 			smA.addString("You now have all the skills of  " + player.getName() + "."); | ||||
| @@ -1266,23 +1264,22 @@ public class AdminCommands extends Thread | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			int i; | ||||
| 			Skill[] skills = player.getAllSkills(); | ||||
| 			for (i = 0; i < skills.length; ++i) | ||||
| 			Collection<Skill> skills = player.getAllSkills(); | ||||
| 			for (Skill skill : skills) | ||||
| 			{ | ||||
| 				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); | ||||
| 			sm.addString("[GM]" + activeChar.getName() + " has updated your skills."); | ||||
|   | ||||
| @@ -21,6 +21,7 @@ import java.io.File; | ||||
| import java.io.FileInputStream; | ||||
| import java.io.InputStreamReader; | ||||
| import java.io.LineNumberReader; | ||||
| import java.util.Collection; | ||||
| import java.util.HashMap; | ||||
| import java.util.Map; | ||||
| import java.util.StringTokenizer; | ||||
| @@ -119,8 +120,8 @@ public class CharTemplateTable | ||||
| 		return _templates.get(classId); | ||||
| 	} | ||||
| 	 | ||||
| 	public CharTemplate[] getAllTemplates() | ||||
| 	public Collection<CharTemplate> getAllTemplates() | ||||
| 	{ | ||||
| 		return _templates.values().toArray(new CharTemplate[_templates.size()]); | ||||
| 		return _templates.values(); | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -23,6 +23,8 @@ import java.io.FileNotFoundException; | ||||
| import java.io.InputStreamReader; | ||||
| import java.io.LineNumberReader; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.Collections; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| @@ -215,16 +217,18 @@ public class SkillTreeTable | ||||
| 		return skill; | ||||
| 	} | ||||
| 	 | ||||
| 	public SkillLearn[] getAvailableSkills(PlayerInstance cha) | ||||
| 	public Collection<SkillLearn> getAvailableSkills(PlayerInstance cha) | ||||
| 	{ | ||||
| 		List<SkillLearn> result = new ArrayList<>(); | ||||
| 		List<SkillLearn> skills = _skillTrees.get(cha.getClassId()); | ||||
| 		if (skills == null) | ||||
| 		{ | ||||
| 			_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) | ||||
| 		{ | ||||
| 			SkillLearn temp = skills.get(i); | ||||
| @@ -252,6 +256,6 @@ public class SkillTreeTable | ||||
| 			} | ||||
| 			result.add(temp); | ||||
| 		} | ||||
| 		return result.toArray(new SkillLearn[result.size()]); | ||||
| 		return result; | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -120,8 +120,7 @@ public class CommunityBoardManager | ||||
| 				} | ||||
| 				htmlCode.append("<tr>" + title + "<td>" + name + "</td></tr>"); | ||||
| 				htmlCode.append("<tr><td><br></td></tr>"); | ||||
| 				ClanMember[] members = clan.getMembers(); | ||||
| 				for (ClanMember member : members) | ||||
| 				for (ClanMember member : clan.getMembers()) | ||||
| 				{ | ||||
| 					if (member.getName() == clan.getLeaderName()) | ||||
| 					{ | ||||
|   | ||||
| @@ -20,6 +20,7 @@ package org.l2jmobius.gameserver.model; | ||||
| import java.io.File; | ||||
| import java.io.FileWriter; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| @@ -99,25 +100,23 @@ public class Clan | ||||
| 		_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<>(); | ||||
| 		Iterator<ClanMember> iter = _members.values().iterator(); | ||||
| 		while (iter.hasNext()) | ||||
| 		for (ClanMember member : _members.values()) | ||||
| 		{ | ||||
| 			ClanMember temp = iter.next(); | ||||
| 			if (!temp.isOnline() || temp.getName().equals(exclude)) | ||||
| 			if (!member.isOnline() || member.getName().equals(exclude)) | ||||
| 			{ | ||||
| 				continue; | ||||
| 			} | ||||
| 			result.add(temp.getPlayerInstance()); | ||||
| 			result.add(member.getPlayerInstance()); | ||||
| 		} | ||||
| 		return result.toArray(new PlayerInstance[result.size()]); | ||||
| 		return result; | ||||
| 	} | ||||
| 	 | ||||
| 	public int getAllyId() | ||||
| @@ -191,7 +190,6 @@ public class Clan | ||||
| 		FileWriter out = null; | ||||
| 		try | ||||
| 		{ | ||||
| 			int i; | ||||
| 			out = new FileWriter(clanFile); | ||||
| 			out.write("#clanId;clanName;clanLevel;hasCastle;hasHideout;allianceId;allianceName\r\n"); | ||||
| 			out.write(getClanId() + ";"); | ||||
| @@ -202,28 +200,27 @@ public class Clan | ||||
| 			out.write(getAllyId() + ";"); | ||||
| 			out.write("none\r\n"); | ||||
| 			out.write("#memberName;memberLevel;classId;objectId\r\n"); | ||||
| 			ClanMember[] members = getMembers(); | ||||
| 			for (i = 0; i < members.length; ++i) | ||||
| 			for (ClanMember member : getMembers()) | ||||
| 			{ | ||||
| 				if (members[i].getObjectId() != getLeaderId()) | ||||
| 				if (member.getObjectId() != getLeaderId()) | ||||
| 				{ | ||||
| 					continue; | ||||
| 				} | ||||
| 				out.write(members[i].getName() + ";"); | ||||
| 				out.write(members[i].getLevel() + ";"); | ||||
| 				out.write(members[i].getClassId() + ";"); | ||||
| 				out.write(members[i].getObjectId() + "\r\n"); | ||||
| 				out.write(member.getName() + ";"); | ||||
| 				out.write(member.getLevel() + ";"); | ||||
| 				out.write(member.getClassId() + ";"); | ||||
| 				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; | ||||
| 				} | ||||
| 				out.write(members[i].getName() + ";"); | ||||
| 				out.write(members[i].getLevel() + ";"); | ||||
| 				out.write(members[i].getClassId() + ";"); | ||||
| 				out.write(members[i].getObjectId() + "\r\n"); | ||||
| 				out.write(member.getName() + ";"); | ||||
| 				out.write(member.getLevel() + ";"); | ||||
| 				out.write(member.getClassId() + ";"); | ||||
| 				out.write(member.getObjectId() + "\r\n"); | ||||
| 			} | ||||
| 		} | ||||
| 		catch (Exception e) | ||||
|   | ||||
| @@ -18,6 +18,7 @@ | ||||
| package org.l2jmobius.gameserver.model; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| import java.util.concurrent.CopyOnWriteArrayList; | ||||
| @@ -56,9 +57,9 @@ public class Inventory | ||||
| 		return _items.size(); | ||||
| 	} | ||||
| 	 | ||||
| 	public ItemInstance[] getItems() | ||||
| 	public Collection<ItemInstance> getItems() | ||||
| 	{ | ||||
| 		return _items.toArray(new ItemInstance[_items.size()]); | ||||
| 		return _items; | ||||
| 	} | ||||
| 	 | ||||
| 	public ItemInstance addItem(ItemInstance newItem) | ||||
| @@ -131,7 +132,7 @@ public class Inventory | ||||
| 		refreshWeight(); | ||||
| 	} | ||||
| 	 | ||||
| 	public ItemInstance[] unEquipItemInBodySlot(int slot) | ||||
| 	public Collection<ItemInstance> unEquipItemInBodySlot(int slot) | ||||
| 	{ | ||||
| 		List<ItemInstance> unequipedItems = new ArrayList<>(); | ||||
| 		// _log.fine("--- unequip body slot:" + slot); | ||||
| @@ -196,8 +197,8 @@ public class Inventory | ||||
| 			} | ||||
| 			case 16384: | ||||
| 			{ | ||||
| 				this.unEquipSlot(unequipedItems, 8); | ||||
| 				this.unEquipSlot(7); | ||||
| 				unEquipSlot(unequipedItems, 8); | ||||
| 				unEquipSlot(7); | ||||
| 				pdollSlot = 14; | ||||
| 				break; | ||||
| 			} | ||||
| @@ -216,21 +217,20 @@ public class Inventory | ||||
| 				pdollSlot = 0; | ||||
| 			} | ||||
| 		} | ||||
| 		this.unEquipSlot(unequipedItems, pdollSlot); | ||||
| 		return unequipedItems.toArray(new ItemInstance[unequipedItems.size()]); | ||||
| 		unEquipSlot(unequipedItems, pdollSlot); | ||||
| 		return unequipedItems; | ||||
| 	} | ||||
| 	 | ||||
| 	public ItemInstance[] unEquipItemOnPaperdoll(int pdollSlot) | ||||
| 	public Collection<ItemInstance> unEquipItemOnPaperdoll(int pdollSlot) | ||||
| 	{ | ||||
| 		List<ItemInstance> unequipedItems = new ArrayList<>(); | ||||
| 		// _log.fine("--- unequip body slot:" + pdollSlot); | ||||
| 		if (pdollSlot == 14) | ||||
| 		{ | ||||
| 			this.unEquipSlot(unequipedItems, 8); | ||||
| 			this.unEquipSlot(7); | ||||
| 			unEquipSlot(unequipedItems, 8); | ||||
| 			unEquipSlot(7); | ||||
| 		} | ||||
| 		this.unEquipSlot(unequipedItems, pdollSlot); | ||||
| 		return unequipedItems.toArray(new ItemInstance[unequipedItems.size()]); | ||||
| 		unEquipSlot(unequipedItems, pdollSlot); | ||||
| 		return unequipedItems; | ||||
| 	} | ||||
| 	 | ||||
| 	public List<ItemInstance> equipItem(ItemInstance item) | ||||
| @@ -242,17 +242,17 @@ public class Inventory | ||||
| 			case 16384: | ||||
| 			{ | ||||
| 				ItemInstance arrow; | ||||
| 				this.unEquipSlot(changedItems, 8); | ||||
| 				ItemInstance old1 = this.unEquipSlot(14); | ||||
| 				unEquipSlot(changedItems, 8); | ||||
| 				ItemInstance old1 = unEquipSlot(14); | ||||
| 				if (old1 != null) | ||||
| 				{ | ||||
| 					changedItems.add(old1); | ||||
| 					this.unEquipSlot(7); | ||||
| 					this.unEquipSlot(changedItems, 8); | ||||
| 					unEquipSlot(7); | ||||
| 					unEquipSlot(changedItems, 8); | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					this.unEquipSlot(changedItems, 7); | ||||
| 					unEquipSlot(changedItems, 7); | ||||
| 				} | ||||
| 				setPaperdollItem(7, item); | ||||
| 				setPaperdollItem(14, item); | ||||
| @@ -267,25 +267,25 @@ public class Inventory | ||||
| 			} | ||||
| 			case 256: | ||||
| 			{ | ||||
| 				ItemInstance old1 = this.unEquipSlot(14); | ||||
| 				ItemInstance old1 = unEquipSlot(14); | ||||
| 				if (old1 != null) | ||||
| 				{ | ||||
| 					this.unEquipSlot(changedItems, 7); | ||||
| 					unEquipSlot(changedItems, 7); | ||||
| 				} | ||||
| 				this.unEquipSlot(changedItems, 8); | ||||
| 				unEquipSlot(changedItems, 8); | ||||
| 				setPaperdollItem(8, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 128: | ||||
| 			{ | ||||
| 				if (this.unEquipSlot(changedItems, 14)) | ||||
| 				if (unEquipSlot(changedItems, 14)) | ||||
| 				{ | ||||
| 					this.unEquipSlot(changedItems, 8); | ||||
| 					this.unEquipSlot(7); | ||||
| 					unEquipSlot(changedItems, 8); | ||||
| 					unEquipSlot(7); | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					this.unEquipSlot(changedItems, 7); | ||||
| 					unEquipSlot(changedItems, 7); | ||||
| 				} | ||||
| 				setPaperdollItem(7, item); | ||||
| 				break; | ||||
| @@ -302,7 +302,7 @@ public class Inventory | ||||
| 					setPaperdollItem(2, item); | ||||
| 					break; | ||||
| 				} | ||||
| 				this.unEquipSlot(changedItems, 1); | ||||
| 				unEquipSlot(changedItems, 1); | ||||
| 				setPaperdollItem(1, item); | ||||
| 				break; | ||||
| 			} | ||||
| @@ -318,26 +318,26 @@ public class Inventory | ||||
| 					setPaperdollItem(5, item); | ||||
| 					break; | ||||
| 				} | ||||
| 				this.unEquipSlot(changedItems, 4); | ||||
| 				unEquipSlot(changedItems, 4); | ||||
| 				setPaperdollItem(4, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 8: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 3); | ||||
| 				unEquipSlot(changedItems, 3); | ||||
| 				setPaperdollItem(3, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 32768: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 10); | ||||
| 				this.unEquipSlot(changedItems, 11); | ||||
| 				unEquipSlot(changedItems, 10); | ||||
| 				unEquipSlot(changedItems, 11); | ||||
| 				setPaperdollItem(10, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 1024: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 10); | ||||
| 				unEquipSlot(changedItems, 10); | ||||
| 				setPaperdollItem(10, item); | ||||
| 				break; | ||||
| 			} | ||||
| @@ -346,39 +346,39 @@ public class Inventory | ||||
| 				ItemInstance chest = getPaperdollItem(10); | ||||
| 				if ((chest != null) && (chest.getItem().getBodyPart() == 32768)) | ||||
| 				{ | ||||
| 					this.unEquipSlot(changedItems, 10); | ||||
| 					unEquipSlot(changedItems, 10); | ||||
| 				} | ||||
| 				this.unEquipSlot(changedItems, 11); | ||||
| 				unEquipSlot(changedItems, 11); | ||||
| 				setPaperdollItem(11, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 4096: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 12); | ||||
| 				unEquipSlot(changedItems, 12); | ||||
| 				setPaperdollItem(12, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 512: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 9); | ||||
| 				unEquipSlot(changedItems, 9); | ||||
| 				setPaperdollItem(9, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 64: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 6); | ||||
| 				unEquipSlot(changedItems, 6); | ||||
| 				setPaperdollItem(6, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 1: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 0); | ||||
| 				unEquipSlot(changedItems, 0); | ||||
| 				setPaperdollItem(0, item); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 8192: | ||||
| 			{ | ||||
| 				this.unEquipSlot(changedItems, 13); | ||||
| 				unEquipSlot(changedItems, 13); | ||||
| 				setPaperdollItem(13, item); | ||||
| 				break; | ||||
| 			} | ||||
|   | ||||
| @@ -57,7 +57,7 @@ public class Party | ||||
| 	 | ||||
| 	private PlayerInstance getRandomMember() | ||||
| 	{ | ||||
| 		return (PlayerInstance) _members.toArray()[Rnd.get(_members.size())]; | ||||
| 		return _members.get(Rnd.get(_members.size())); | ||||
| 	} | ||||
| 	 | ||||
| 	public boolean isLeader(PlayerInstance player) | ||||
| @@ -67,18 +67,16 @@ public class Party | ||||
| 	 | ||||
| 	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); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	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)) | ||||
| 			{ | ||||
| 				continue; | ||||
|   | ||||
| @@ -108,8 +108,7 @@ public class World | ||||
| 	public void removeVisibleObject(WorldObject object) | ||||
| 	{ | ||||
| 		_visibleObjects.remove(object.getObjectId()); | ||||
| 		Object[] temp = object.getKnownObjects().toArray(); | ||||
| 		for (Object element : temp) | ||||
| 		for (Object element : object.getKnownObjects()) | ||||
| 		{ | ||||
| 			WorldObject temp1 = (WorldObject) element; | ||||
| 			temp1.removeKnownObject(object); | ||||
|   | ||||
| @@ -114,11 +114,10 @@ public class WorldObject implements Serializable | ||||
| 	 | ||||
| 	public void removeAllKnownObjects() | ||||
| 	{ | ||||
| 		WorldObject[] notifyList = _knownObjects.toArray(new WorldObject[_knownObjects.size()]); | ||||
| 		_knownObjects.clear(); | ||||
| 		for (WorldObject element : notifyList) | ||||
| 		for (WorldObject object : _knownObjects) | ||||
| 		{ | ||||
| 			element.removeKnownObject(this); | ||||
| 			object.removeKnownObject(this); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
|   | ||||
| @@ -321,8 +321,7 @@ public class Attackable extends NpcInstance | ||||
| 				dropit.setZ(getZ() + 100); | ||||
| 				dropit.setOnTheGround(true); | ||||
| 				DropItem dis = new DropItem(dropit, getObjectId()); | ||||
| 				Creature[] players = broadcastPacket(dis); | ||||
| 				for (Creature player : players) | ||||
| 				for (Creature player : broadcastPacket(dis)) | ||||
| 				{ | ||||
| 					((PlayerInstance) player).addKnownObjectWithoutCreate(dropit); | ||||
| 				} | ||||
|   | ||||
| @@ -20,6 +20,7 @@ package org.l2jmobius.gameserver.model.actor; | ||||
| import java.io.PrintWriter; | ||||
| import java.io.StringWriter; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
| import java.util.Set; | ||||
| import java.util.Timer; | ||||
| @@ -1024,16 +1025,14 @@ public abstract class Creature extends WorldObject | ||||
| 		return distance; | ||||
| 	} | ||||
| 	 | ||||
| 	public Creature[] broadcastPacket(ServerBasePacket mov) | ||||
| 	public Collection<PlayerInstance> broadcastPacket(ServerBasePacket mov) | ||||
| 	{ | ||||
| 		Set<PlayerInstance> list = getKnownPlayers(); | ||||
| 		Creature[] players = list.toArray(new Creature[list.size()]); | ||||
| 		// _log.fine("players to notify:" + players.length + " packet:" + mov.getType()); | ||||
| 		for (Creature player : players) | ||||
| 		Set<PlayerInstance> nearby = getKnownPlayers(); | ||||
| 		for (Creature player : nearby) | ||||
| 		{ | ||||
| 			player.sendPacket(mov); | ||||
| 		} | ||||
| 		return players; | ||||
| 		return nearby; | ||||
| 	} | ||||
| 	 | ||||
| 	public void sendPacket(ServerBasePacket mov) | ||||
|   | ||||
| @@ -426,8 +426,7 @@ public class PetInstance extends Creature | ||||
| 		try | ||||
| 		{ | ||||
| 			Inventory petInventory = getInventory(); | ||||
| 			ItemInstance[] items = petInventory.getItems(); | ||||
| 			for (ItemInstance giveit : items) | ||||
| 			for (ItemInstance giveit : petInventory.getItems()) | ||||
| 			{ | ||||
| 				if (((giveit.getItem().getWeight() * giveit.getCount()) + _owner.getInventory().getTotalWeight()) < _owner.getMaxLoad()) | ||||
| 				{ | ||||
| @@ -515,8 +514,7 @@ public class PetInstance extends Creature | ||||
| 	{ | ||||
| 		try | ||||
| 		{ | ||||
| 			ItemInstance[] items = getInventory().getItems(); | ||||
| 			for (ItemInstance item : items) | ||||
| 			for (ItemInstance item : getInventory().getItems()) | ||||
| 			{ | ||||
| 				dropItemHere(item); | ||||
| 			} | ||||
| @@ -538,8 +536,7 @@ public class PetInstance extends Creature | ||||
| 			dropit.setZ(getZ() + 100); | ||||
| 			dropit.setOnTheGround(true); | ||||
| 			DropItem dis = new DropItem(dropit, getObjectId()); | ||||
| 			Creature[] players = broadcastPacket(dis); | ||||
| 			for (Creature player : players) | ||||
| 			for (Creature player : broadcastPacket(dis)) | ||||
| 			{ | ||||
| 				((PlayerInstance) player).addKnownObjectWithoutCreate(dropit); | ||||
| 			} | ||||
| @@ -596,21 +593,20 @@ public class PetInstance extends Creature | ||||
| 		{ | ||||
| 			if (getKnownObjects().size() != 0) | ||||
| 			{ | ||||
| 				WorldObject[] knownobjects = _knownObjects.toArray(new WorldObject[_knownObjects.size()]); | ||||
| 				for (int x = 0; x < knownobjects.length; ++x) | ||||
| 				for (WorldObject object : _knownObjects) | ||||
| 				{ | ||||
| 					if (!(getDistance(knownobjects[x].getX(), knownobjects[x].getY()) > 4000.0)) | ||||
| 					if (!(getDistance(object.getX(), object.getY()) > 4000.0)) | ||||
| 					{ | ||||
| 						continue; | ||||
| 					} | ||||
| 					if (knownobjects[x] instanceof MonsterInstance) | ||||
| 					if (object instanceof MonsterInstance) | ||||
| 					{ | ||||
| 						removeKnownObject(knownobjects[x]); | ||||
| 						((MonsterInstance) knownobjects[x]).removeKnownObject(this); | ||||
| 						removeKnownObject(object); | ||||
| 						((MonsterInstance) object).removeKnownObject(this); | ||||
| 						continue; | ||||
| 					} | ||||
| 					removeKnownObject(knownobjects[x]); | ||||
| 					knownobjects[x].removeKnownObject(this); | ||||
| 					removeKnownObject(object); | ||||
| 					object.removeKnownObject(this); | ||||
| 				} | ||||
| 			} | ||||
| 			updateKnownCounter = 0; | ||||
|   | ||||
| @@ -17,6 +17,7 @@ | ||||
|  */ | ||||
| package org.l2jmobius.gameserver.model.actor.instance; | ||||
|  | ||||
| import java.util.Collection; | ||||
| import java.util.HashMap; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| @@ -142,14 +143,14 @@ public class PlayerInstance extends Creature | ||||
| 		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) | ||||
|   | ||||
| @@ -51,10 +51,8 @@ public class TrainerInstance extends NpcInstance | ||||
| 	 | ||||
| 	public void showSkillList(PlayerInstance player) | ||||
| 	{ | ||||
| 		_log.fine("SkillList activated on: " + getObjectId()); | ||||
| 		SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(player); | ||||
| 		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); | ||||
| 		} | ||||
|   | ||||
| @@ -221,10 +221,9 @@ public class ClientThread extends Thread | ||||
| 		OutputStreamWriter out = null; | ||||
| 		try | ||||
| 		{ | ||||
| 			ShortCut[] scs = cha.getAllShortCuts(); | ||||
| 			out = new FileWriter(saveFile); | ||||
| 			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.getType() + ";"); | ||||
| @@ -350,10 +349,9 @@ public class ClientThread extends Thread | ||||
| 		OutputStreamWriter out = null; | ||||
| 		try | ||||
| 		{ | ||||
| 			ItemInstance[] items = cha.getInventory().getItems(); | ||||
| 			out = new FileWriter(saveFile); | ||||
| 			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.getItemId() + ";"); | ||||
| @@ -392,10 +390,9 @@ public class ClientThread extends Thread | ||||
| 		OutputStreamWriter out = null; | ||||
| 		try | ||||
| 		{ | ||||
| 			Skill[] skills = cha.getAllSkills(); | ||||
| 			out = new FileWriter(saveFile); | ||||
| 			out.write("skillId;skillLevel;skillName\r\n"); | ||||
| 			for (Skill skill : skills) | ||||
| 			for (Skill skill : cha.getAllSkills()) | ||||
| 			{ | ||||
| 				out.write(skill.getId() + ";"); | ||||
| 				out.write(skill.getLevel() + ";"); | ||||
|   | ||||
| @@ -62,7 +62,7 @@ public class Action extends ClientBasePacket | ||||
| 		} | ||||
| 		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()); | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
| @@ -150,16 +150,14 @@ public class CharacterCreate extends ClientBasePacket | ||||
| 			newChar.setCollisionHeight(template.getFColH()); | ||||
| 		} | ||||
| 		ItemTable itemTable = ItemTable.getInstance(); | ||||
| 		Integer[] items = template.getItems(); | ||||
| 		for (Integer item2 : items) | ||||
| 		for (Integer item2 : template.getItems()) | ||||
| 		{ | ||||
| 			ItemInstance item = itemTable.createItem(item2); | ||||
| 			newChar.getInventory().addItem(item); | ||||
| 		} | ||||
| 		newChar.setTitle(""); | ||||
| 		newChar.setClanId(0); | ||||
| 		SkillLearn[] startSkills = SkillTreeTable.getInstance().getAvailableSkills(newChar); | ||||
| 		for (SkillLearn startSkill : startSkills) | ||||
| 		for (SkillLearn startSkill : SkillTreeTable.getInstance().getAvailableSkills(newChar)) | ||||
| 		{ | ||||
| 			newChar.addSkill(SkillTable.getInstance().getInfo(startSkill.getId(), startSkill.getLevel())); | ||||
| 			_log.fine("adding starter skill:" + startSkill.getId() + " / " + startSkill.getLevel()); | ||||
|   | ||||
| @@ -49,29 +49,31 @@ public class EnterWorld extends ClientBasePacket | ||||
| 		} | ||||
| 		SystemMessage sm = new SystemMessage(34); | ||||
| 		con.sendPacket(sm); | ||||
| 		 | ||||
| 		Announcements.getInstance().showAnnouncements(activeChar); | ||||
| 		 | ||||
| 		ItemList il = new ItemList(activeChar, false); | ||||
| 		activeChar.sendPacket(il); | ||||
| 		 | ||||
| 		ShortCutInit sci = new ShortCutInit(); | ||||
| 		ShortCut[] shortcuts = activeChar.getAllShortCuts(); | ||||
| 		block5: for (ShortCut shortcut : shortcuts) | ||||
| 		for (ShortCut shortcut : activeChar.getAllShortCuts()) | ||||
| 		{ | ||||
| 			switch (shortcut.getType()) | ||||
| 			{ | ||||
| 				case 3: | ||||
| 				{ | ||||
| 					sci.addActionShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getUnk()); | ||||
| 					continue block5; | ||||
| 					continue; | ||||
| 				} | ||||
| 				case 2: | ||||
| 				{ | ||||
| 					sci.addSkillShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getLevel(), shortcut.getUnk()); | ||||
| 					continue block5; | ||||
| 					continue; | ||||
| 				} | ||||
| 				case 1: | ||||
| 				{ | ||||
| 					sci.addItemShotCut(shortcut.getSlot(), shortcut.getId(), shortcut.getUnk()); | ||||
| 					continue block5; | ||||
| 					continue; | ||||
| 				} | ||||
| 				default: | ||||
| 				{ | ||||
| @@ -80,6 +82,7 @@ public class EnterWorld extends ClientBasePacket | ||||
| 			} | ||||
| 		} | ||||
| 		con.sendPacket(sci); | ||||
| 		 | ||||
| 		UserInfo ui = new UserInfo(activeChar); | ||||
| 		con.sendPacket(ui); | ||||
| 		if (activeChar.isDead()) | ||||
| @@ -98,8 +101,7 @@ public class EnterWorld extends ClientBasePacket | ||||
| 			clan.getClanMember(activeChar.getName()).setPlayerInstance(activeChar); | ||||
| 			SystemMessage msg = new SystemMessage(304); | ||||
| 			msg.addString(activeChar.getName()); | ||||
| 			PlayerInstance[] clanMembers = clan.getOnlineMembers(activeChar.getName()); | ||||
| 			for (PlayerInstance clanMember : clanMembers) | ||||
| 			for (PlayerInstance clanMember : clan.getOnlineMembers(activeChar.getName())) | ||||
| 			{ | ||||
| 				clanMember.sendPacket(msg); | ||||
| 			} | ||||
|   | ||||
| @@ -18,6 +18,7 @@ | ||||
| package org.l2jmobius.gameserver.network.clientpackets; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.Collection; | ||||
|  | ||||
| import org.l2jmobius.gameserver.data.SkillTable; | ||||
| import org.l2jmobius.gameserver.data.SkillTreeTable; | ||||
| @@ -39,11 +40,10 @@ public class RequestAquireSkill extends ClientBasePacket | ||||
| 	{ | ||||
| 		super(rawPacket); | ||||
| 		PlayerInstance player = client.getActiveChar(); | ||||
| 		// Connection con = client.getConnection(); | ||||
| 		int id = readD(); | ||||
| 		int level = readD(); | ||||
| 		Skill skill = SkillTable.getInstance().getInfo(id, level); | ||||
| 		SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(player); | ||||
| 		Collection<SkillLearn> skills = SkillTreeTable.getInstance().getAvailableSkills(player); | ||||
| 		int _requiredSp = 0; | ||||
| 		for (SkillLearn skill2 : skills) | ||||
| 		{ | ||||
|   | ||||
| @@ -40,9 +40,8 @@ public class RequestAquireSkillInfo extends ClientBasePacket | ||||
| 		int id = readD(); | ||||
| 		int level = readD(); | ||||
| 		Skill skill = SkillTable.getInstance().getInfo(id, level); | ||||
| 		SkillLearn[] skills = SkillTreeTable.getInstance().getAvailableSkills(activeChar); | ||||
| 		int requiredSp = 0; | ||||
| 		for (SkillLearn skill2 : skills) | ||||
| 		for (SkillLearn skill2 : SkillTreeTable.getInstance().getAvailableSkills(activeChar)) | ||||
| 		{ | ||||
| 			if (skill2.getId() != id) | ||||
| 			{ | ||||
|   | ||||
| @@ -48,9 +48,8 @@ public class RequestDestroyItem extends ClientBasePacket | ||||
| 		} | ||||
| 		if ((itemToRemove = activeChar.getInventory().getItem(objectId)).isEquipped()) | ||||
| 		{ | ||||
| 			ItemInstance[] unequiped = activeChar.getInventory().unEquipItemOnPaperdoll(itemToRemove.getEquipSlot()); | ||||
| 			iu = new InventoryUpdate(); | ||||
| 			for (ItemInstance element : unequiped) | ||||
| 			for (ItemInstance element : activeChar.getInventory().unEquipItemOnPaperdoll(itemToRemove.getEquipSlot())) | ||||
| 			{ | ||||
| 				iu.addModifiedItem(element); | ||||
| 			} | ||||
|   | ||||
| @@ -92,8 +92,7 @@ public class RequestDropItem extends ClientBasePacket | ||||
| 			DropItem di = new DropItem(dropedItem, activeChar.getObjectId()); | ||||
| 			activeChar.sendPacket(di); | ||||
| 			activeChar.addKnownObjectWithoutCreate(dropedItem); | ||||
| 			Creature[] players = activeChar.broadcastPacket(di); | ||||
| 			for (Creature player : players) | ||||
| 			for (Creature player : activeChar.broadcastPacket(di)) | ||||
| 			{ | ||||
| 				((PlayerInstance) player).addKnownObjectWithoutCreate(dropedItem); | ||||
| 			} | ||||
|   | ||||
| @@ -20,7 +20,6 @@ package org.l2jmobius.gameserver.network.clientpackets; | ||||
| import java.io.IOException; | ||||
|  | ||||
| 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.serverpackets.SkillList; | ||||
|  | ||||
| @@ -32,9 +31,7 @@ public class RequestSkillList extends ClientBasePacket | ||||
| 	{ | ||||
| 		super(rawPacket); | ||||
| 		SkillList response = new SkillList(); | ||||
| 		PlayerInstance cha = client.getActiveChar(); | ||||
| 		Skill[] skills = cha.getAllSkills(); | ||||
| 		for (Skill skill : skills) | ||||
| 		for (Skill skill : client.getActiveChar().getAllSkills()) | ||||
| 		{ | ||||
| 			response.addSkill(skill.getId(), skill.getLevel(), skill.isPassive()); | ||||
| 		} | ||||
|   | ||||
| @@ -17,6 +17,8 @@ | ||||
|  */ | ||||
| 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.PlayerInstance; | ||||
| import org.l2jmobius.gameserver.network.ClientThread; | ||||
| @@ -35,7 +37,7 @@ public class RequestUnEquipItem extends ClientBasePacket | ||||
| 		int slot = readD(); | ||||
| 		_log.fine("request unequip slot " + slot); | ||||
| 		PlayerInstance activeChar = client.getActiveChar(); | ||||
| 		ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInBodySlot(slot); | ||||
| 		Collection<ItemInstance> unequiped = activeChar.getInventory().unEquipItemInBodySlot(slot); | ||||
| 		InventoryUpdate iu = new InventoryUpdate(); | ||||
| 		for (ItemInstance element : unequiped) | ||||
| 		{ | ||||
| @@ -51,10 +53,10 @@ public class RequestUnEquipItem extends ClientBasePacket | ||||
| 		activeChar.setAttackStatus(false); | ||||
| 		CharInfo info = new CharInfo(activeChar); | ||||
| 		activeChar.broadcastPacket(info); | ||||
| 		if (unequiped.length > 0) | ||||
| 		if (unequiped.size() > 0) | ||||
| 		{ | ||||
| 			SystemMessage sm = new SystemMessage(417); | ||||
| 			sm.addItemName(unequiped[0].getItemId()); | ||||
| 			sm.addItemName(unequiped.stream().findFirst().get().getItemId()); | ||||
| 			activeChar.sendPacket(sm); | ||||
| 		} | ||||
| 	} | ||||
|   | ||||
| @@ -17,13 +17,15 @@ | ||||
|  */ | ||||
| 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.PlayerInstance; | ||||
|  | ||||
| public class GMViewItemList extends ServerBasePacket | ||||
| { | ||||
| 	private static final String _S__AD_GMVIEWITEMLIST = "[S] AD GMViewItemList"; | ||||
| 	private final ItemInstance[] _items; | ||||
| 	private final Collection<ItemInstance> _items; | ||||
| 	private final String _playerName; | ||||
| 	 | ||||
| 	public GMViewItemList(PlayerInstance cha) | ||||
| @@ -38,18 +40,16 @@ public class GMViewItemList extends ServerBasePacket | ||||
| 		writeC(173); | ||||
| 		writeS(_playerName); | ||||
| 		writeH(1); | ||||
| 		int count = _items.length; | ||||
| 		writeH(count); | ||||
| 		for (int i = 0; i < count; ++i) | ||||
| 		writeH(_items.size()); | ||||
| 		for (ItemInstance item : _items) | ||||
| 		{ | ||||
| 			ItemInstance temp = _items[i]; | ||||
| 			writeH(temp.getItem().getType1()); | ||||
| 			writeD(temp.getObjectId()); | ||||
| 			writeD(temp.getItemId()); | ||||
| 			writeD(temp.getCount()); | ||||
| 			writeH(temp.getItem().getType2()); | ||||
| 			writeH(item.getItem().getType1()); | ||||
| 			writeD(item.getObjectId()); | ||||
| 			writeD(item.getItemId()); | ||||
| 			writeD(item.getCount()); | ||||
| 			writeH(item.getItem().getType2()); | ||||
| 			writeH(255); | ||||
| 			if (temp.isEquipped()) | ||||
| 			if (item.isEquipped()) | ||||
| 			{ | ||||
| 				writeH(1); | ||||
| 			} | ||||
| @@ -57,8 +57,8 @@ public class GMViewItemList extends ServerBasePacket | ||||
| 			{ | ||||
| 				writeH(0); | ||||
| 			} | ||||
| 			writeD(temp.getItem().getBodyPart()); | ||||
| 			writeH(temp.getEnchantLevel()); | ||||
| 			writeD(item.getItem().getBodyPart()); | ||||
| 			writeH(item.getEnchantLevel()); | ||||
| 			writeH(0); | ||||
| 		} | ||||
| 		return getBytes(); | ||||
|   | ||||
| @@ -49,9 +49,8 @@ public class GMViewPledgeInfo extends ServerBasePacket | ||||
| 		writeD(_activeChar.getLevel()); | ||||
| 		writeD(0); | ||||
| 		writeD(0); | ||||
| 		ClanMember[] members = _clan.getMembers(); | ||||
| 		writeD(members.length - 1); | ||||
| 		for (ClanMember member : members) | ||||
| 		writeD(_clan.getMembers().size() - 1); | ||||
| 		for (ClanMember member : _clan.getMembers()) | ||||
| 		{ | ||||
| 			if (member.getName().equals(_activeChar.getName())) | ||||
| 			{ | ||||
|   | ||||
| @@ -17,13 +17,15 @@ | ||||
|  */ | ||||
| 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.PlayerInstance; | ||||
|  | ||||
| public class ItemList extends ServerBasePacket | ||||
| { | ||||
| 	private static final String _S__27_ITEMLIST = "[S] 27 ItemList"; | ||||
| 	private final ItemInstance[] _items; | ||||
| 	private final Collection<ItemInstance> _items; | ||||
| 	private final boolean _showWindow; | ||||
| 	 | ||||
| 	public ItemList(PlayerInstance cha, boolean showWindow) | ||||
| @@ -32,7 +34,7 @@ public class ItemList extends ServerBasePacket | ||||
| 		_showWindow = showWindow; | ||||
| 	} | ||||
| 	 | ||||
| 	public ItemList(ItemInstance[] items, boolean showWindow) | ||||
| 	public ItemList(Collection<ItemInstance> items, boolean showWindow) | ||||
| 	{ | ||||
| 		_items = items; | ||||
| 		_showWindow = showWindow; | ||||
| @@ -50,19 +52,16 @@ public class ItemList extends ServerBasePacket | ||||
| 		{ | ||||
| 			writeH(0); | ||||
| 		} | ||||
| 		int count = _items.length; | ||||
| 		writeH(count); | ||||
| 		for (int i = 0; i < count; ++i) | ||||
| 		writeH(_items.size()); | ||||
| 		for (ItemInstance item : _items) | ||||
| 		{ | ||||
| 			ItemInstance temp = _items[i]; | ||||
| 			// _log.fine("item:" + temp.getItem().getName() + " type1:" + temp.getItem().getType1() + " type2:" + temp.getItem().getType2()); | ||||
| 			writeH(temp.getItem().getType1()); | ||||
| 			writeD(temp.getObjectId()); | ||||
| 			writeD(temp.getItemId()); | ||||
| 			writeD(temp.getCount()); | ||||
| 			writeH(temp.getItem().getType2()); | ||||
| 			writeH(item.getItem().getType1()); | ||||
| 			writeD(item.getObjectId()); | ||||
| 			writeD(item.getItemId()); | ||||
| 			writeD(item.getCount()); | ||||
| 			writeH(item.getItem().getType2()); | ||||
| 			writeH(255); | ||||
| 			if (temp.isEquipped()) | ||||
| 			if (item.isEquipped()) | ||||
| 			{ | ||||
| 				writeH(1); | ||||
| 			} | ||||
| @@ -70,8 +69,8 @@ public class ItemList extends ServerBasePacket | ||||
| 			{ | ||||
| 				writeH(0); | ||||
| 			} | ||||
| 			writeD(temp.getItem().getBodyPart()); | ||||
| 			writeH(temp.getEnchantLevel()); | ||||
| 			writeD(item.getItem().getBodyPart()); | ||||
| 			writeH(item.getEnchantLevel()); | ||||
| 			writeH(0); | ||||
| 		} | ||||
| 		return getBytes(); | ||||
|   | ||||
| @@ -17,37 +17,38 @@ | ||||
|  */ | ||||
| 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.PetInstance; | ||||
|  | ||||
| public class PetItemList extends ServerBasePacket | ||||
| { | ||||
| 	private static final String _S__cb_PETITEMLIST = "[S] cb  PetItemList"; | ||||
| 	 | ||||
| 	private final PetInstance _cha; | ||||
| 	private final Collection<ItemInstance> _items; | ||||
| 	 | ||||
| 	public PetItemList(PetInstance cha) | ||||
| 	{ | ||||
| 		_cha = cha; | ||||
| 		_items = _cha.getInventory().getItems(); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public byte[] getContent() | ||||
| 	{ | ||||
| 		writeC(203); | ||||
| 		ItemInstance[] items = _cha.getInventory().getItems(); | ||||
| 		int count = items.length; | ||||
| 		writeH(count); | ||||
| 		for (int i = 0; i < count; ++i) | ||||
| 		writeH(_items.size()); | ||||
| 		for (ItemInstance item : _items) | ||||
| 		{ | ||||
| 			ItemInstance temp = items[i]; | ||||
| 			// _log.fine("item:" + temp.getItem().getName() + " type1:" + temp.getItem().getType1() + " type2:" + temp.getItem().getType2()); | ||||
| 			writeH(temp.getItem().getType1()); | ||||
| 			writeD(temp.getObjectId()); | ||||
| 			writeD(temp.getItemId()); | ||||
| 			writeD(temp.getCount()); | ||||
| 			writeH(temp.getItem().getType2()); | ||||
| 			writeH(item.getItem().getType1()); | ||||
| 			writeD(item.getObjectId()); | ||||
| 			writeD(item.getItemId()); | ||||
| 			writeD(item.getCount()); | ||||
| 			writeH(item.getItem().getType2()); | ||||
| 			writeH(255); | ||||
| 			if (temp.isEquipped()) | ||||
| 			if (item.isEquipped()) | ||||
| 			{ | ||||
| 				writeH(1); | ||||
| 			} | ||||
| @@ -55,8 +56,8 @@ public class PetItemList extends ServerBasePacket | ||||
| 			{ | ||||
| 				writeH(0); | ||||
| 			} | ||||
| 			writeD(temp.getItem().getBodyPart()); | ||||
| 			writeH(temp.getEnchantLevel()); | ||||
| 			writeD(item.getItem().getBodyPart()); | ||||
| 			writeH(item.getEnchantLevel()); | ||||
| 			writeH(0); | ||||
| 		} | ||||
| 		return getBytes(); | ||||
|   | ||||
| @@ -51,9 +51,8 @@ public class PledgeShowMemberListAll extends ServerBasePacket | ||||
| 		writeD(0); | ||||
| 		writeS(""); | ||||
| 		writeD(0); | ||||
| 		ClanMember[] members = _clan.getMembers(); | ||||
| 		writeD(members.length - 1); | ||||
| 		for (ClanMember member : members) | ||||
| 		writeD(_clan.getMembers().size() - 1); | ||||
| 		for (ClanMember member : _clan.getMembers()) | ||||
| 		{ | ||||
| 			if (member.getName().equals(_activeChar.getName())) | ||||
| 			{ | ||||
|   | ||||
| @@ -18,6 +18,7 @@ | ||||
| package org.l2jmobius.gameserver.network.serverpackets; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
|  | ||||
| import org.l2jmobius.gameserver.model.TradeItem; | ||||
| @@ -45,7 +46,7 @@ public class PrivateBuyListBuy extends ServerBasePacket | ||||
| 		writeD(_buyer.getObjectId()); | ||||
| 		writeD(_seller.getAdena()); | ||||
| 		List<TradeItem> buyerslist = _buyer.getBuyList(); | ||||
| 		ItemInstance[] sellerItems = _seller.getInventory().getItems(); | ||||
| 		Collection<ItemInstance> sellerItems = _seller.getInventory().getItems(); | ||||
| 		ArrayList<TradeItem> sellerslist = new ArrayList<>(); | ||||
| 		int count = buyerslist.size(); | ||||
| 		for (int i = 0; i < count; ++i) | ||||
|   | ||||
| @@ -41,13 +41,11 @@ public class PrivateSellListBuy extends ServerBasePacket | ||||
| 		writeC(208); | ||||
| 		writeD(_buyer.getObjectId()); | ||||
| 		writeD(_buyer.getAdena()); | ||||
| 		ItemInstance[] inventory = _buyer.getInventory().getItems(); | ||||
| 		TradeList list = new TradeList(0); | ||||
| 		List<TradeItem> buyList = _buyer.getBuyList(); | ||||
| 		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()) | ||||
| 			{ | ||||
| 				continue; | ||||
|   | ||||
| @@ -43,13 +43,11 @@ public class PrivateSellListSell extends ServerBasePacket | ||||
| 		writeC(179); | ||||
| 		writeD(_seller.getObjectId()); | ||||
| 		writeD(_seller.getAdena()); | ||||
| 		ItemInstance[] inventory = _seller.getInventory().getItems(); | ||||
| 		TradeList list = new TradeList(0); | ||||
| 		List<TradeItem> sellList = _seller.getSellList(); | ||||
| 		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()) | ||||
| 			{ | ||||
| 				continue; | ||||
|   | ||||
| @@ -39,28 +39,22 @@ public class SellList extends ServerBasePacket | ||||
| 	@Override | ||||
| 	public byte[] getContent() | ||||
| 	{ | ||||
| 		ItemInstance item; | ||||
| 		int i; | ||||
| 		writeC(28); | ||||
| 		writeD(_money); | ||||
| 		writeD(0); | ||||
| 		ItemInstance[] inventory = _char.getInventory().getItems(); | ||||
| 		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)) | ||||
| 			{ | ||||
| 				continue; | ||||
| 			} | ||||
| 			_selllist.add(item); | ||||
| 			// _log.fine("item added to selllist: " + item.getItem().getName()); | ||||
| 		} | ||||
| 		count = _selllist.size(); | ||||
| 		writeH(count); | ||||
| 		for (i = 0; i < count; ++i) | ||||
| 		for (ItemInstance item : _selllist) | ||||
| 		{ | ||||
| 			item = _selllist.get(i); | ||||
| 			writeH(item.getItem().getType1()); | ||||
| 			writeD(item.getObjectId()); | ||||
| 			writeD(item.getItemId()); | ||||
|   | ||||
| @@ -39,11 +39,9 @@ public class TradeStart extends ServerBasePacket | ||||
| 	{ | ||||
| 		writeC(46); | ||||
| 		writeD(_me.getTransactionRequester().getObjectId()); | ||||
| 		ItemInstance[] inventory = _me.getInventory().getItems(); | ||||
| 		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)) | ||||
| 			{ | ||||
| 				continue; | ||||
|   | ||||
| @@ -44,11 +44,9 @@ public class WareHouseDepositList extends ServerBasePacket | ||||
| 		writeC(83); | ||||
| 		writeD(_money); | ||||
| 		List<ItemInstance> itemlist = new ArrayList<>(); | ||||
| 		ItemInstance[] inventory = _cha.getInventory().getItems(); | ||||
| 		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)) | ||||
| 			{ | ||||
| 				continue; | ||||
|   | ||||
| @@ -18,6 +18,7 @@ | ||||
| package org.l2jmobius.gameserver.templates; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
|  | ||||
| public class CharTemplate | ||||
| @@ -393,9 +394,9 @@ public class CharTemplate | ||||
| 		_items.add(itemId); | ||||
| 	} | ||||
| 	 | ||||
| 	public Integer[] getItems() | ||||
| 	public Collection<Integer> getItems() | ||||
| 	{ | ||||
| 		return _items.toArray(new Integer[_items.size()]); | ||||
| 		return _items; | ||||
| 	} | ||||
| 	 | ||||
| 	public void setCanCraft(int b) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment