Prevent SkillHolder tapping into SkillData for each getSkill call.

This commit is contained in:
MobiusDevelopment 2019-11-03 18:25:56 +00:00
parent cf5297282a
commit eec2b16df0
17 changed files with 217 additions and 29 deletions

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -26,18 +26,21 @@ import org.l2jmobius.gameserver.model.skills.Skill;
public class SkillHolder
{
private final int _skillId;
private final int _skillLvl;
private final int _skillLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLvl)
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLvl = skillLvl;
_skillLevel = skillLevel;
_skill = null;
}
public SkillHolder(Skill skill)
{
_skillId = skill.getId();
_skillLvl = skill.getLevel();
_skillLevel = skill.getLevel();
_skill = skill;
}
public int getSkillId()
@ -47,17 +50,48 @@ public class SkillHolder
public int getSkillLevel()
{
return _skillLvl;
return _skillLevel;
}
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLvl, 1));
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1));
}
return _skill;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (!(obj instanceof SkillHolder))
{
return false;
}
final SkillHolder holder = (SkillHolder) obj;
return (holder.getSkillId() == _skillId) && (holder.getSkillLevel() == _skillLevel);
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = (prime * result) + _skillId;
result = (prime * result) + _skillLevel;
return result;
}
@Override
public String toString()
{
return "[SkillId: " + _skillId + " Level: " + _skillLvl + "]";
return "[SkillId: " + _skillId + " Level: " + _skillLevel + "]";
}
}

View File

@ -26,18 +26,21 @@ import org.l2jmobius.gameserver.model.skills.Skill;
public class SkillHolder
{
private final int _skillId;
private final int _skillLvl;
private final int _skillLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLvl)
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLvl = skillLvl;
_skillLevel = skillLevel;
_skill = null;
}
public SkillHolder(Skill skill)
{
_skillId = skill.getId();
_skillLvl = skill.getLevel();
_skillLevel = skill.getLevel();
_skill = skill;
}
public int getSkillId()
@ -47,17 +50,48 @@ public class SkillHolder
public int getSkillLevel()
{
return _skillLvl;
return _skillLevel;
}
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLvl, 1));
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1));
}
return _skill;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (!(obj instanceof SkillHolder))
{
return false;
}
final SkillHolder holder = (SkillHolder) obj;
return (holder.getSkillId() == _skillId) && (holder.getSkillLevel() == _skillLevel);
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = (prime * result) + _skillId;
result = (prime * result) + _skillLevel;
return result;
}
@Override
public String toString()
{
return "[SkillId: " + _skillId + " Level: " + _skillLvl + "]";
return "[SkillId: " + _skillId + " Level: " + _skillLevel + "]";
}
}

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override

View File

@ -28,12 +28,14 @@ public class SkillHolder
private final int _skillId;
private final int _skillLevel;
private final int _skillSubLevel;
private Skill _skill;
public SkillHolder(int skillId, int skillLevel)
{
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = 0;
_skill = null;
}
public SkillHolder(int skillId, int skillLevel, int skillSubLevel)
@ -41,6 +43,7 @@ public class SkillHolder
_skillId = skillId;
_skillLevel = skillLevel;
_skillSubLevel = skillSubLevel;
_skill = null;
}
public SkillHolder(Skill skill)
@ -48,6 +51,7 @@ public class SkillHolder
_skillId = skill.getId();
_skillLevel = skill.getLevel();
_skillSubLevel = skill.getSubLevel();
_skill = skill;
}
public int getSkillId()
@ -67,7 +71,11 @@ public class SkillHolder
public Skill getSkill()
{
return SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
if (_skill == null)
{
_skill = SkillData.getInstance().getSkill(_skillId, Math.max(_skillLevel, 1), _skillSubLevel);
}
return _skill;
}
@Override