fix: PrepareStatement + enum Factions
This commit is contained in:
@@ -11,7 +11,27 @@ public class PrisonAPI extends JavaPlugin {
|
|||||||
public static final String PLUGIN_PATH = "plugins/PrisonManager";
|
public static final String PLUGIN_PATH = "plugins/PrisonManager";
|
||||||
|
|
||||||
public enum Factions {
|
public enum Factions {
|
||||||
NONE, ASIANS, LATINOS, NIGGAZ, POLICE
|
NONE(0), ASIANS(1), LATINOS(2), NIGGAZ(3), POLICE(4);
|
||||||
|
|
||||||
|
public static Factions valueOf(int id) {
|
||||||
|
for (Factions factions : Factions.values()) {
|
||||||
|
if (factions.id == id) {
|
||||||
|
return factions;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new IllegalArgumentException("Factions id " + id + " not defined!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
Factions(int id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Connection CONN;
|
public static Connection CONN;
|
||||||
|
|||||||
@@ -1,21 +1,18 @@
|
|||||||
package ru.prisonlife.prisonapi.template;
|
package ru.prisonlife.prisonapi.template;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import ru.prisonlife.prisonapi.PrisonAPI.Factions;
|
||||||
import ru.prisonlife.prisonapi.PrisonAPI;
|
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
|
||||||
|
|
||||||
public class Faction {
|
public class Faction {
|
||||||
|
|
||||||
private PreparedStatement state;
|
|
||||||
private ResultSet resultSet;
|
|
||||||
private Prisoner me;
|
private Prisoner me;
|
||||||
|
|
||||||
Faction(Prisoner prisoner) {
|
Faction(Prisoner prisoner) {
|
||||||
@@ -23,43 +20,45 @@ public class Faction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getType() throws SQLException {
|
public String getType() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT FACTION FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT FACTION FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
|
||||||
return resultSet.getString(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
return "null";
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getId() throws SQLException {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
connect();
|
if (resultSet.next()) {
|
||||||
if (resultSet.first()) {
|
return resultSet.getString(1);
|
||||||
resultSet = state.executeQuery("SELECT FACTION FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
} else {
|
||||||
if (resultSet.first()) {
|
return "null";
|
||||||
for (int i = 0; i < PrisonAPI.Factions.values().length; i++) {
|
|
||||||
if (PrisonAPI.Factions.values()[i].name().equals(resultSet.getString(1))) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
}
|
||||||
|
|
||||||
|
public int getId() throws SQLException {
|
||||||
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT FACTION FROM player_stats WHERE UUID = ?")) {
|
||||||
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
|
if (resultSet.next()) {
|
||||||
|
return Factions.valueOf(resultSet.getString(1)).getId();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRangId() throws SQLException {
|
public int getRangId() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT F_RANG FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT F_RANG FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRangType() throws SQLException {
|
public String getRangType() throws SQLException {
|
||||||
@@ -72,81 +71,78 @@ public class Faction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addRang(int value) throws SQLException {
|
public void addRang(int value) throws SQLException {
|
||||||
connect();
|
setRang(getRangId() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET F_RANG = " + (getRangId() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRang(int value) throws SQLException {
|
public void setRang(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET F_RANG = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setInt(1, value);
|
||||||
state.execute("UPDATE player_stats SET F_RANG = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFaction(int id) throws SQLException {
|
public void setFaction(int id) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET FACTION = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setInt(1, Factions.valueOf(id).getId());
|
||||||
state.execute("UPDATE player_stats SET FACTION = '" + PrisonAPI.Factions.values()[id].name() + "' WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRespect() throws SQLException {
|
public int getRespect() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT RESPECT FROM prison4life.player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT RESPECT FROM prison4life.player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addRespect(int value) throws SQLException {
|
public void addRespect(int value) throws SQLException {
|
||||||
connect();
|
setRespect(getRespect() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET RESPECT = " + (getRespect() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRespect(int value) throws SQLException {
|
public void setRespect(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET RESPECT = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setInt(1, value);
|
||||||
state.execute("UPDATE player_stats SET RESPECT = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRespectDailyCooldown() throws SQLException {
|
public int getRespectDailyCooldown() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT COOLDOWN FROM daily_respect_task WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT COOLDOWN FROM daily_respect_task WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (resultSet.first()) {
|
|
||||||
return resultSet.getInt(1);
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addRespectDailyCooldown(int value) throws SQLException {
|
public void addRespectDailyCooldown(int value) throws SQLException {
|
||||||
connect();
|
setRespectDailyCooldown(getRespectDailyCooldown() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE daily_respect_task SET COOLDOWN = " + (getRespectDailyCooldown() + value)
|
|
||||||
+ " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRespectDailyCooldown(int value) throws SQLException {
|
public void setRespectDailyCooldown(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE daily_respect_task SET COOLDOWN = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setInt(1, value);
|
||||||
state.execute("UPDATE daily_respect_task SET COOLDOWN = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,15 +159,4 @@ public class Faction {
|
|||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void connect() throws SQLException {
|
|
||||||
state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
|
|
||||||
state.setString(1, me.getPlayer().getUniqueId().toString());
|
|
||||||
resultSet = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void disconnect() throws SQLException {
|
|
||||||
resultSet.close();
|
|
||||||
state.close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
package ru.prisonlife.prisonapi.template;
|
package ru.prisonlife.prisonapi.template;
|
||||||
|
|
||||||
import ru.prisonlife.prisonapi.PrisonAPI;
|
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
|
||||||
|
|
||||||
public class Level {
|
public class Level {
|
||||||
|
|
||||||
private PreparedStatement state;
|
|
||||||
private ResultSet resultSet;
|
|
||||||
private Prisoner me;
|
private Prisoner me;
|
||||||
private Score score;
|
private Score score;
|
||||||
|
|
||||||
@@ -19,50 +17,41 @@ public class Level {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Score getScore() throws SQLException {
|
public Score getScore() throws SQLException {
|
||||||
|
//FIXME приведи в порядок метод
|
||||||
|
/*
|
||||||
connect();
|
connect();
|
||||||
if (resultSet.first()) {
|
if (resultSet.first()) {
|
||||||
return this.score;
|
return this.score;
|
||||||
}
|
}
|
||||||
disconnect();
|
disconnect();
|
||||||
|
*/
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getLevel() throws SQLException, NullPointerException {
|
public double getLevel() throws SQLException, NullPointerException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT LEVEL FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT LEVEL FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getDouble(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getDouble(1);
|
||||||
|
} else {
|
||||||
|
return 1d; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addLevel(double value) throws SQLException, NullPointerException {
|
public void addLevel(double value) throws SQLException, NullPointerException {
|
||||||
connect();
|
setLevel(getLevel() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET LEVEL = " + (getLevel() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLevel(double value) throws SQLException, NullPointerException {
|
public void setLevel(double value) throws SQLException, NullPointerException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET LEVEL = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, getLevel() + value);
|
||||||
state.execute("UPDATE player_stats SET LEVEL = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void connect() throws SQLException {
|
|
||||||
state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
|
|
||||||
state.setString(1, me.getPlayer().getUniqueId().toString());
|
|
||||||
resultSet = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void disconnect() throws SQLException {
|
|
||||||
resultSet.close();
|
|
||||||
state.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import ru.prisonlife.prisonapi.PrisonAPI;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
@@ -14,6 +13,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
|
||||||
import static ru.prisonlife.prisonapi.PrisonAPI.PLUGIN_PATH;
|
import static ru.prisonlife.prisonapi.PrisonAPI.PLUGIN_PATH;
|
||||||
|
|
||||||
public class Prisoner {
|
public class Prisoner {
|
||||||
@@ -23,8 +23,6 @@ public class Prisoner {
|
|||||||
private Faction faction;
|
private Faction faction;
|
||||||
private Wallet wallet;
|
private Wallet wallet;
|
||||||
private Stats stats;
|
private Stats stats;
|
||||||
private PreparedStatement state;
|
|
||||||
private ResultSet resultSet;
|
|
||||||
|
|
||||||
public Prisoner(Player player) {
|
public Prisoner(Player player) {
|
||||||
me = player;
|
me = player;
|
||||||
@@ -122,20 +120,35 @@ public class Prisoner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void register() throws SQLException {
|
public void register() throws SQLException {
|
||||||
state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
|
PreparedStatement statement = CONN.prepareStatement("SELECT UUID FROM player_stats WHERE UUID = ?");
|
||||||
state.setString(1, me.getUniqueId().toString());
|
statement.setString(1, me.getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getUniqueId() + "'");
|
|
||||||
if (!resultSet.next()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
state.execute(
|
if (!resultSet.next()) {
|
||||||
"INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, FACTION, RESPECT, F_RANG, WALLET, G_TIME, D_BLOCKS, " +
|
statement.close();
|
||||||
"K_PLAYERS, K_MOBS, DEATHS) VALUES (" + "'" + getPlayer().getName()
|
|
||||||
+ "', '" + me.getUniqueId() + "', 1, 0, 'NONE', 0, 0, 0, 0, 0, 0, 0, 0);");
|
statement = CONN.prepareStatement(
|
||||||
state.execute("INSERT INTO daily_respect_task(NAME, UUID, COOLDOWN) VALUES ('" + me.getName() + "', '" + me.getUniqueId() + "', (3600 * 24));");
|
"INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, FACTION, RESPECT, F_RANG, WALLET, " +
|
||||||
level = new Level(this);
|
"G_TIME, D_BLOCKS, K_PLAYERS, K_MOBS, DEATHS) "
|
||||||
stats = new Stats(this);
|
+ "VALUES (?, ?, 1, 0, 'NONE', 0, 0, 0, 0, 0, 0, 0, 0)");
|
||||||
wallet = new Wallet(this);
|
statement.setString(1, getPlayer().getName());
|
||||||
|
statement.setString(2, me.getUniqueId().toString());
|
||||||
|
statement.executeUpdate();
|
||||||
|
statement.close();
|
||||||
|
|
||||||
|
statement = CONN.prepareStatement(
|
||||||
|
"INSERT INTO daily_respect_task(NAME, UUID, COOLDOWN) " +
|
||||||
|
"VALUES (?, ?, ?)");
|
||||||
|
statement.setString(1, getPlayer().getName());
|
||||||
|
statement.setString(2, me.getUniqueId().toString());
|
||||||
|
statement.setInt(3, (3600 * 24));
|
||||||
|
statement.executeUpdate();
|
||||||
|
|
||||||
|
level = new Level(this);
|
||||||
|
stats = new Stats(this);
|
||||||
|
wallet = new Wallet(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
resultSet.close();
|
statement.close();
|
||||||
state.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,13 @@
|
|||||||
package ru.prisonlife.prisonapi.template;
|
package ru.prisonlife.prisonapi.template;
|
||||||
|
|
||||||
import ru.prisonlife.prisonapi.PrisonAPI;
|
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
|
||||||
|
|
||||||
public class Score {
|
public class Score {
|
||||||
|
|
||||||
private PreparedStatement state;
|
|
||||||
private ResultSet resultSet;
|
|
||||||
private Prisoner me;
|
private Prisoner me;
|
||||||
|
|
||||||
Score(Prisoner prisoner) {
|
Score(Prisoner prisoner) {
|
||||||
@@ -17,41 +15,29 @@ public class Score {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public double getPoints() throws SQLException {
|
public double getPoints() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT POINTS FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT POINTS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getDouble(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getDouble(1);
|
||||||
|
} else {
|
||||||
|
return 0d; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPoints(double value) throws SQLException {
|
public void setPoints(double value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET POINTS = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET POINTS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addPoints(double value) throws SQLException {
|
public void addPoints(double value) throws SQLException {
|
||||||
connect();
|
setPoints(getPoints() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET POINTS = " + (getPoints() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void connect() throws SQLException {
|
|
||||||
state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
|
|
||||||
state.setString(1, me.getPlayer().getUniqueId().toString());
|
|
||||||
resultSet = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void disconnect() throws SQLException {
|
|
||||||
resultSet.close();
|
|
||||||
state.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
package ru.prisonlife.prisonapi.template;
|
package ru.prisonlife.prisonapi.template;
|
||||||
|
|
||||||
import ru.prisonlife.prisonapi.PrisonAPI;
|
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
|
||||||
|
|
||||||
public class Stats {
|
public class Stats {
|
||||||
|
|
||||||
private PreparedStatement state;
|
|
||||||
private ResultSet resultSet;
|
|
||||||
private Prisoner me;
|
private Prisoner me;
|
||||||
|
|
||||||
Stats(Prisoner prisoner) {
|
Stats(Prisoner prisoner) {
|
||||||
@@ -17,149 +15,137 @@ public class Stats {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setServerTime(int value) throws SQLException {
|
public void setServerTime(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET G_TIME = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET G_TIME = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getServerTime() throws SQLException {
|
public int getServerTime() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT G_TIME FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT G_TIME FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addServerTime(int value) throws SQLException {
|
public void addServerTime(int value) throws SQLException {
|
||||||
connect();
|
setServerTime(getServerTime() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET G_TIME = " + (getServerTime() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBlocks(int value) throws SQLException {
|
public void setBlocks(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET B = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET B = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getBlocks() throws SQLException {
|
public int getBlocks() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT D_BLOCKS FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT D_BLOCKS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addBlocks(int value) throws SQLException {
|
public void addBlocks(int value) throws SQLException {
|
||||||
connect();
|
setBlocks(getBlocks() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET D_BLOCKS = " + (getBlocks() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPlayers(int value) throws SQLException {
|
public void setPlayers(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET K_PLAYERS = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET K_PLAYERS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPlayers() throws SQLException {
|
public int getPlayers() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT K_PLAYERS FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT K_PLAYERS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addPlayers(int value) throws SQLException {
|
public void addPlayers(int value) throws SQLException {
|
||||||
connect();
|
setPlayers(getPlayers() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET K_PLAYERS = " + (getPlayers() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMobs(int value) throws SQLException {
|
public void setMobs(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET K_MOBS = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET K_MOBS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMobs() throws SQLException {
|
public int getMobs() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT K_MOBS FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT K_MOBS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addMobs(int value) throws SQLException {
|
public void addMobs(int value) throws SQLException {
|
||||||
connect();
|
setMobs(getMobs() + value);
|
||||||
if (resultSet.first())
|
|
||||||
state.execute("UPDATE player_stats SET K_MOBS = " + (getMobs() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeaths(int value) throws SQLException {
|
public void setDeaths(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET DEATHS = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first())
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET DEATHS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
disconnect();
|
|
||||||
|
statement.executeUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDeaths() throws SQLException {
|
public int getDeaths() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT DEATHS FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT DEATHS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first())
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addDeaths(int value) throws SQLException {
|
public void addDeaths(int value) throws SQLException {
|
||||||
connect();
|
setDeaths(getDeaths() + value);
|
||||||
if (resultSet.first())
|
|
||||||
state.execute("UPDATE player_stats SET DEATHS = " + (getDeaths() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
disconnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void connect() throws SQLException {
|
|
||||||
state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
|
|
||||||
state.setString(1, me.getPlayer().getUniqueId().toString());
|
|
||||||
resultSet = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void disconnect() throws SQLException {
|
|
||||||
resultSet.close();
|
|
||||||
state.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
package ru.prisonlife.prisonapi.template;
|
package ru.prisonlife.prisonapi.template;
|
||||||
|
|
||||||
import ru.prisonlife.prisonapi.PrisonAPI;
|
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
|
||||||
|
|
||||||
public class Wallet {
|
public class Wallet {
|
||||||
|
|
||||||
private PreparedStatement state;
|
|
||||||
private ResultSet resultSet;
|
|
||||||
private Prisoner me;
|
private Prisoner me;
|
||||||
|
|
||||||
Wallet(Prisoner prisoner) {
|
Wallet(Prisoner prisoner) {
|
||||||
@@ -17,49 +15,33 @@ public class Wallet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getBalance() throws SQLException {
|
public int getBalance() throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("SELECT WALLET FROM player_stats WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||||
resultSet = state.executeQuery("SELECT WALLET FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
if (resultSet.first()) {
|
try (ResultSet resultSet = statement.executeQuery()) {
|
||||||
return resultSet.getInt(1);
|
if (resultSet.next()) {
|
||||||
|
return resultSet.getInt(1);
|
||||||
|
} else {
|
||||||
|
return 0; //TODO нужно или default значение, или exception
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
return NullPointerException.class.hashCode();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addBalance(int value) throws SQLException {
|
public void addBalance(int value) throws SQLException {
|
||||||
connect();
|
setBalance(getBalance() + value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET WALLET = " + (getBalance() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deposit(int value) throws SQLException {
|
public void deposit(int value) throws SQLException {
|
||||||
connect();
|
setBalance(getBalance() - value);
|
||||||
if (resultSet.first()) {
|
|
||||||
state.execute("UPDATE player_stats SET WALLET = " + (getBalance() - value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
disconnect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBalance(int value) throws SQLException {
|
public void setBalance(int value) throws SQLException {
|
||||||
connect();
|
try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET WALLET = ? WHERE UUID = ?")) {
|
||||||
if (resultSet.first()) {
|
statement.setDouble(1, value);
|
||||||
state.execute("UPDATE player_stats SET WALLET = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||||
|
|
||||||
|
statement.executeUpdate();
|
||||||
}
|
}
|
||||||
disconnect();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void connect() throws SQLException {
|
|
||||||
state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
|
|
||||||
state.setString(1, me.getPlayer().getUniqueId().toString());
|
|
||||||
resultSet = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
|
|
||||||
}
|
|
||||||
|
|
||||||
private void disconnect() throws SQLException {
|
|
||||||
resultSet.close();
|
|
||||||
state.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user