Make use of LinkedList for SkillTreeData results.

This commit is contained in:
MobiusDevelopment
2023-01-08 10:55:12 +00:00
parent 1f0c68dc1d
commit 7f1d8a5dc2
31 changed files with 542 additions and 543 deletions

View File

@@ -24,6 +24,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -568,7 +569,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getNobleSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _nobleSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -582,7 +583,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getNobleSkillAutoGetTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _nobleSkillTree.values())
{
if (skill.isAutoGet())
@@ -599,7 +600,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getHeroSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _heroSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -613,7 +614,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getGMSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _gameMasterSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -627,7 +628,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<Skill> getGMAuraSkillTree()
{
final List<Skill> result = new ArrayList<>();
final List<Skill> result = new LinkedList<>();
for (SkillLearn skill : _gameMasterAuraSkillTree.values())
{
result.add(SkillData.getInstance().getSkill(skill.getSkillId(), skill.getSkillLevel()));
@@ -857,7 +858,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableAutoGetSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Map<Long, SkillLearn> skills = getCompleteClassSkillTree(player.getClassId());
if (skills.isEmpty())
{
@@ -916,7 +917,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableFishingSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Race playerRace = player.getRace();
for (SkillLearn skill : _fishingSkillTree.values())
{
@@ -953,7 +954,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableRevelationSkills(Player player, SubclassType type)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Map<Long, SkillLearn> revelationSkills = _revelationSkillTree.get(type);
for (SkillLearn skill : revelationSkills.values())
{
@@ -985,7 +986,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableAlchemySkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _alchemySkillTree.values())
{
if (skill.isLearnedByNpc() && (player.getLevel() >= skill.getGetLevel()))
@@ -1014,7 +1015,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableCollectSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _collectSkillTree.values())
{
final Skill oldSkill = player.getSkills().get(skill.getSkillId());
@@ -1040,7 +1041,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableTransferSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final ClassId classId = player.getClassId();
if (!_transferSkillTrees.containsKey(classId))
{
@@ -1065,7 +1066,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableTransformSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
final Race race = player.getRace();
for (SkillLearn skill : _transformSkillTree.values())
{
@@ -1095,7 +1096,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailablePledgeSkills(Clan clan)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _pledgeSkillTree.values())
{
if (!skill.isResidencialSkill() && (clan.getLevel() >= skill.getGetLevel()))
@@ -1162,7 +1163,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableSubPledgeSkills(Clan clan)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _subPledgeSkillTree.values())
{
if ((clan.getLevel() >= skill.getGetLevel()) && clan.isLearnableSubSkill(skill.getSkillId(), skill.getSkillLevel()))
@@ -1180,7 +1181,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableSubClassSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _subClassSkillTree.values())
{
final Skill oldSkill = player.getSkills().get(skill.getSkillId());
@@ -1199,7 +1200,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableDualClassSkills(Player player)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _dualClassSkillTree.values())
{
final Skill oldSkill = player.getSkills().get(skill.getSkillId());
@@ -1219,7 +1220,7 @@ public class SkillTreeData implements IXmlReader
*/
public List<SkillLearn> getAvailableResidentialSkills(int residenceId)
{
final List<SkillLearn> result = new ArrayList<>();
final List<SkillLearn> result = new LinkedList<>();
for (SkillLearn skill : _pledgeSkillTree.values())
{
if (skill.isResidencialSkill() && skill.getResidenceIds().contains(residenceId))
@@ -1729,7 +1730,7 @@ public class SkillTreeData implements IXmlReader
}
// Race specific skills from Fishing and Transformation skill trees.
final List<Long> list = new ArrayList<>();
final List<Long> list = new LinkedList<>();
_skillsByRaceHashCodes = new HashMap<>(Race.values().length);
for (Race r : Race.values())
{