50 lines
1.5 KiB
Java
50 lines
1.5 KiB
Java
package ru.prisonlife.api.template;
|
|
|
|
import ru.prisonlife.api.PrisonAPI;
|
|
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
|
|
public class Level {
|
|
|
|
private Prisoner me;
|
|
private Score score;
|
|
|
|
Level(Prisoner prisoner) {
|
|
me = prisoner;
|
|
score = new Score(me);
|
|
}
|
|
|
|
public Score getScore() throws SQLException {
|
|
return score;
|
|
}
|
|
|
|
public double getLevel() throws SQLException, NullPointerException {
|
|
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT LEVEL FROM player_stats WHERE UUID = ?")) {
|
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
|
|
|
try (ResultSet resultSet = statement.executeQuery()) {
|
|
if (resultSet.next()) {
|
|
return resultSet.getDouble(1);
|
|
} else {
|
|
return 1d; //TODO нужно или default значение, или exception
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void addLevel(double value) throws SQLException, NullPointerException {
|
|
setLevel(getLevel() + value);
|
|
}
|
|
|
|
public void setLevel(double value) throws SQLException, NullPointerException {
|
|
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET LEVEL = ? WHERE UUID = ?")) {
|
|
statement.setDouble(1, getLevel() + value);
|
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
|
|
|
statement.executeUpdate();
|
|
}
|
|
}
|
|
}
|