forked from Upstream/mmocore
Increased PlayerData#boundSkills security
This commit is contained in:
parent
3b09398ebc
commit
06f1ab2ab0
@ -156,7 +156,7 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
|
||||
int j = 0;
|
||||
while (j < boundSkills.size())
|
||||
try {
|
||||
boundSkills.set(j, getProfess().getSkill(boundSkills.get(j).getSkill()));
|
||||
boundSkills.set(j, Objects.requireNonNull(getProfess().getSkill(boundSkills.get(j).getSkill())));
|
||||
} catch (Exception ignored) {
|
||||
} finally {
|
||||
j++;
|
||||
@ -843,6 +843,7 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
|
||||
}
|
||||
|
||||
public void setBoundSkill(int slot, ClassSkill skill) {
|
||||
Validate.notNull(skill, "Skill cannot be null");
|
||||
if (boundSkills.size() < 6)
|
||||
boundSkills.add(skill);
|
||||
else
|
||||
|
@ -90,4 +90,17 @@ public class RegisteredSkill {
|
||||
public double getModifier(String modifier, int level) {
|
||||
return defaultModifiers.get(modifier).calculate(level);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
RegisteredSkill that = (RegisteredSkill) o;
|
||||
return handler.equals(that.handler) && triggerType.equals(that.triggerType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(handler, triggerType);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user