Преглед изворни кода

BETA: ClassCastException fix from [4998] and [4999].

Zoey76 пре 13 година
родитељ
комит
4b55037574

+ 1 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/DoorTable.java

@@ -268,8 +268,7 @@ public class DoorTable
 	
 	public L2DoorInstance[] getDoors()
 	{
-		L2DoorInstance[] _allTemplates = _staticItems.values();
-		return _allTemplates;
+		return _staticItems.values(new L2DoorInstance[0]);
 	}
 	
 	/**

+ 6 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcTable.java

@@ -189,7 +189,7 @@ public class NpcTable
 			{
 				if (!skills.isEmpty())
 				{
-					for (L2Skill skill : skills.values())
+					for (L2Skill skill : skills.values(new L2Skill[0]))
 						created.addSkill(skill);
 				}
 				if (classIds != null)
@@ -304,7 +304,7 @@ public class NpcTable
 	
 	public L2NpcTemplate getTemplateByName(String name)
 	{
-		for (L2NpcTemplate npcTemplate : _npcs.values())
+		for (L2NpcTemplate npcTemplate : _npcs.valueCollection())
 			if (npcTemplate.name.equalsIgnoreCase(name))
 				return npcTemplate;
 		
@@ -315,7 +315,7 @@ public class NpcTable
 	{
 		List<L2NpcTemplate> list = new FastList<L2NpcTemplate>();
 		
-		for (L2NpcTemplate t : _npcs.values())
+		for (L2NpcTemplate t : _npcs.valueCollection())
 			if (t.level == lvl)
 				list.add(t);
 		
@@ -326,7 +326,7 @@ public class NpcTable
 	{
 		List<L2NpcTemplate> list = new FastList<L2NpcTemplate>();
 		
-		for (L2NpcTemplate t : _npcs.values())
+		for (L2NpcTemplate t : _npcs.valueCollection())
 			if (t.level == lvl && "L2Monster".equals(t.type))
 				list.add(t);
 		
@@ -337,7 +337,7 @@ public class NpcTable
 	{
 		List<L2NpcTemplate> list = new FastList<L2NpcTemplate>();
 		
-		for (L2NpcTemplate t : _npcs.values())
+		for (L2NpcTemplate t : _npcs.valueCollection())
 			if (t.name.startsWith(letter) && "L2Npc".equals((t).type))
 				list.add(t);
 		
@@ -352,7 +352,7 @@ public class NpcTable
 	{
 		List<L2NpcTemplate> list = new FastList<L2NpcTemplate>();
 		
-		for (L2NpcTemplate t : _npcs.values())
+		for (L2NpcTemplate t : _npcs.valueCollection())
 			if (classType.equals(t.type))
 				list.add(t);
 		

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SkillTable.java

@@ -58,7 +58,7 @@ public class SkillTable
 		SkillsEngine.getInstance().loadAllSkills(_skills);
 		
 		_skillMaxLevel.clear();
-		for (final L2Skill skill : _skills.values())
+		for (final L2Skill skill : _skills.values(new L2Skill[0]))
 		{
 			final int skillId = skill.getId();
 			final int skillLvl = skill.getLevel();

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ItemAuctionManager.java

@@ -127,7 +127,7 @@ public final class ItemAuctionManager
 	
 	public final void shutdown()
 	{
-		final ItemAuctionInstance[] instances = _managerInstances.values();
+		final ItemAuctionInstance[] instances = _managerInstances.values(new ItemAuctionInstance[0]);
 		for (final ItemAuctionInstance instance : instances)
 		{
 			instance.shutdown();

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MailManager.java

@@ -104,7 +104,7 @@ public class MailManager
 	
 	public final Message[] getMessages()
 	{
-		return _messages.values();
+		return _messages.values(new Message[0]);
 	}
 	
 	public final boolean hasUnreadPost(L2PcInstance player)

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2Manor.java

@@ -53,7 +53,7 @@ public class L2Manor
 	
 	public SeedData[] getSeedsDataArray()
 	{
-		return _seeds.values();
+		return _seeds.values(new SeedData[0]);
 	}
 	
 	public FastList<Integer> getAllCrops()

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2World.java

@@ -214,7 +214,7 @@ public final class L2World
 	
 	public final L2Object[] getAllVisibleObjectsArray()
 	{
-		return _allObjects.values();
+		return _allObjects.values(new L2Object[0]);
 	}
 	
 	public final boolean forEachObject(final TObjectProcedure<L2Object> proc)
@@ -247,7 +247,7 @@ public final class L2World
 	
 	public final L2PcInstance[] getAllPlayersArray()
 	{
-		return _allPlayers.values();
+		return _allPlayers.values(new L2PcInstance[0]);
 	}
 	
 	public final boolean forEachPlayer(final TObjectProcedure<L2PcInstance> proc)

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -6092,7 +6092,7 @@ public abstract class L2Character extends L2Object
 		if (_skills == null)
 			return new L2Skill[0];
 		
-		return _skills.values();
+		return _skills.values(new L2Skill[0]);
 	}
 	
 	public ChanceSkillList getChanceSkills()

+ 5 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -5569,7 +5569,7 @@ public final class L2PcInstance extends L2Playable
 		// Unsummon Cubics
 		if (!_cubics.isEmpty())
 		{
-			for (L2CubicInstance cubic : _cubics.values())
+			for (L2CubicInstance cubic : _cubics.valueCollection())
 			{
 				cubic.stopAction();
 				cubic.cancelDisappear();
@@ -9601,7 +9601,7 @@ public final class L2PcInstance extends L2Playable
 		if (getCubics() != null)
 		{
 			boolean removed = false;
-			for (L2CubicInstance cubic : _cubics.values())
+			for (L2CubicInstance cubic : _cubics.valueCollection())
 			{
 				cubic.stopAction();
 				delCubic(cubic.getId());
@@ -9617,7 +9617,7 @@ public final class L2PcInstance extends L2Playable
 		if (getCubics() != null)
 		{
 			boolean removed = false;
-			for (L2CubicInstance cubic : _cubics.values())
+			for (L2CubicInstance cubic : _cubics.valueCollection())
 			{
 				if (cubic.givenByOther())
 				{
@@ -10105,7 +10105,7 @@ public final class L2PcInstance extends L2Playable
 		
 		if (!getCubics().isEmpty())
 		{
-			for (L2CubicInstance cubic : _cubics.values())
+			for (L2CubicInstance cubic : _cubics.valueCollection())
 			{
 				cubic.stopAction();
 				cubic.cancelDisappear();
@@ -13178,7 +13178,7 @@ public final class L2PcInstance extends L2Playable
 	
 	public TimeStamp[] getReuseTimeStamps()
 	{
-		return _reuseTimeStamps.values();
+		return _reuseTimeStamps.values(new TimeStamp[0]);
 	}
 	
 	public L2TIntObjectHashMap<TimeStamp> getReuseTimeStamp()

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemauction/ItemAuctionInstance.java

@@ -212,7 +212,7 @@ public final class ItemAuctionInstance
 	
 	final void checkAndSetCurrentAndNextAuction()
 	{
-		final ItemAuction[] auctions = _auctions.values();
+		final ItemAuction[] auctions = _auctions.values(new ItemAuction[0]);
 		
 		ItemAuction currentAuction = null;
 		ItemAuction nextAuction = null;
@@ -354,7 +354,7 @@ public final class ItemAuctionInstance
 		
 		synchronized (_auctions)
 		{
-			auctions = _auctions.values();
+			auctions = _auctions.values(new ItemAuction[0]);
 		}
 		
 		return auctions;

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/zone/L2ZoneType.java

@@ -467,7 +467,7 @@ public abstract class L2ZoneType
 	
 	public L2Character[] getCharactersInsideArray()
 	{
-		return _characterList.values();
+		return _characterList.values(new L2Character[0]);
 	}
 	
 	public void addQuestEvent(Quest.QuestEventType EventType, Quest q)

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/skills/l2skills/L2SkillSummon.java

@@ -168,7 +168,7 @@ public class L2SkillSummon extends L2Skill
 					if (mastery == 0 && !player.getCubics().isEmpty())
 					{
 						// Player can have only 1 cubic - we should replace old cubic with new one
-						for (L2CubicInstance c: player.getCubics().values())
+						for (L2CubicInstance c: player.getCubics().valueCollection())
 						{
 							c.stopAction();
 							c = null;

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/taskmanager/AttackStanceTaskManager.java

@@ -64,7 +64,7 @@ public class AttackStanceTaskManager
 		if (actor instanceof L2PcInstance)
 		{
 			L2PcInstance player = (L2PcInstance) actor;
-			for (L2CubicInstance cubic : player.getCubics().values())
+			for (L2CubicInstance cubic : player.getCubics().valueCollection())
 				if (cubic.getId() != L2CubicInstance.LIFE_CUBIC)
 					cubic.doAction();
 		}

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/templates/chars/L2NpcTemplate.java

@@ -465,7 +465,7 @@ public final class L2NpcTemplate extends L2CharTemplate
 	
 	public L2Skill[] getSkillsArray()
 	{
-		return _skills.values();
+		return _skills.values(new L2Skill[0]);
 	}
 	
 	public void addQuestEvent(Quest.QuestEventType EventType, Quest q)