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;
|
int j = 0;
|
||||||
while (j < boundSkills.size())
|
while (j < boundSkills.size())
|
||||||
try {
|
try {
|
||||||
boundSkills.set(j, getProfess().getSkill(boundSkills.get(j).getSkill()));
|
boundSkills.set(j, Objects.requireNonNull(getProfess().getSkill(boundSkills.get(j).getSkill())));
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {
|
||||||
} finally {
|
} finally {
|
||||||
j++;
|
j++;
|
||||||
@ -843,6 +843,7 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setBoundSkill(int slot, ClassSkill skill) {
|
public void setBoundSkill(int slot, ClassSkill skill) {
|
||||||
|
Validate.notNull(skill, "Skill cannot be null");
|
||||||
if (boundSkills.size() < 6)
|
if (boundSkills.size() < 6)
|
||||||
boundSkills.add(skill);
|
boundSkills.add(skill);
|
||||||
else
|
else
|
||||||
|
@ -90,4 +90,17 @@ public class RegisteredSkill {
|
|||||||
public double getModifier(String modifier, int level) {
|
public double getModifier(String modifier, int level) {
|
||||||
return defaultModifiers.get(modifier).calculate(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