Archived
0

Merge branch 'dmitriymx/dev' into dev

This commit is contained in:
2019-02-24 22:04:45 +03:00
18 changed files with 668 additions and 369 deletions

View File

@@ -0,0 +1,31 @@
package ru.prisonlife.api.template;
import ru.prisonlife.api.PrisonAPI;
import ru.prisonlife.api.store.PlayerStatsDao;
import ru.prisonlife.api.store.PlayerStatsEntity;
import java.lang.ref.WeakReference;
public abstract class AbstractApiData {
protected Prisoner me;
private WeakReference<PlayerStatsEntity> refPlayerStatsEntity;
public AbstractApiData(Prisoner me) {
this.me = me;
}
protected PlayerStatsEntity getPlayerStatsEntity() {
PlayerStatsEntity entity;
if (refPlayerStatsEntity != null && (entity = refPlayerStatsEntity.get()) != null) {
return entity;
} else {
final PlayerStatsDao playerStatsDao = PrisonAPI.getPlayerStatsDao();
entity = playerStatsDao.findByUuid(me.getPlayer().getUniqueId())
.orElseThrow(() -> new RuntimeException(
"no data in db by '" + me.getPlayer().getUniqueId().toString() + "'"));
refPlayerStatsEntity = new WeakReference<>(entity);
return entity;
}
}
}

View File

@@ -2,159 +2,97 @@ package ru.prisonlife.api.template;
import org.bukkit.Bukkit;
import ru.prisonlife.api.PrisonAPI;
import ru.prisonlife.api.PrisonAPI.Factions;
import ru.prisonlife.api.store.AbstractCachedDao;
import ru.prisonlife.api.store.DailyRespectTaskEntity;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.lang.ref.WeakReference;
import java.util.List;
import java.util.stream.Collectors;
public class Faction {
public class Faction extends AbstractApiData {
private Prisoner me;
private WeakReference<DailyRespectTaskEntity> refDailyRespectTaskEntity;
Faction(Prisoner prisoner) {
me = prisoner;
private static final String[][] post = {
{"Vakasu", "Tomadati", "So Honbute", "Vakagasira", "Kambu", "Kumite"},
{"Novaro", "Amigo", "Latino", "Veterano", "Elite", "Padre"},
{"Baby", "Cracker", "Little Nigga", "Big Nigga", "Star", "Daddy"}};
public Faction(Prisoner me) {
super(me);
}
public String getType() throws SQLException {
try (PreparedStatement statement = PrisonAPI.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 resultSet.getString(1);
} else {
return "null";
}
}
private DailyRespectTaskEntity getDailyRespectTaskEntity() {
DailyRespectTaskEntity entity;
if (refDailyRespectTaskEntity != null && (entity = refDailyRespectTaskEntity.get()) != null) {
return entity;
} else {
final AbstractCachedDao<DailyRespectTaskEntity> cachedDao = PrisonAPI.getDailyRespectTaskDao();
entity = cachedDao.findByUuid(me.getPlayer().getUniqueId())
.orElseThrow(() -> new RuntimeException(
"no data in db by '" + me.getPlayer().getUniqueId().toString() + "'"));
refDailyRespectTaskEntity = new WeakReference<>(entity);
return entity;
}
}
public int getId() throws SQLException {
try (PreparedStatement statement = PrisonAPI.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 PrisonAPI.Factions.valueOf(resultSet.getString(1)).getId();
}
}
}
return 0;
public String getType() {
return getPlayerStatsEntity().getFaction().name();
}
public int getRangId() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT F_RANG FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0;
}
}
}
public int getId() {
return getPlayerStatsEntity().getFaction().getId();
}
public String getRangType() throws SQLException {
String[][] post = {
{"Vakasu", "Tomadati", "So Honbute", "Vakagasira", "Kambu", "Kumite"},
{"Novaro", "Amigo", "Latino", "Veterano", "Elite", "Padre"},
{"Baby", "Cracker", "Little Nigga", "Big Nigga", "Star", "Daddy"}};
public int getRangId() {
return getPlayerStatsEntity().getRang();
}
public String getRangType() {
return post[getId() - 1][getRangId() - 1];
}
public void addRang(int value) throws SQLException {
public void addRang(int value) {
setRang(getRangId() + value);
}
public void setRang(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET F_RANG = ? WHERE UUID = ?")) {
statement.setInt(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setRang(int value) {
getPlayerStatsEntity().setRang(value);
}
public void setFaction(int id) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET FACTION = ? WHERE UUID = ?")) {
statement.setString(1, PrisonAPI.Factions.valueOf(id).name());
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setFaction(int id) {
getPlayerStatsEntity().setFaction(Factions.valueOf(id));
}
public int getRespect() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT RESPECT FROM prison4life.player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0;
}
}
}
public int getRespect() {
return getPlayerStatsEntity().getRespect();
}
public void addRespect(int value) throws SQLException {
public void addRespect(int value) {
setRespect(getRespect() + value);
}
public void setRespect(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET RESPECT = ? WHERE UUID = ?")) {
statement.setInt(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setRespect(int value) {
getPlayerStatsEntity().setRespect(value);
}
public int getRespectDailyCooldown() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT COOLDOWN FROM daily_respect_task WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0;
}
}
}
public int getRespectDailyCooldown() {
return getDailyRespectTaskEntity().getCooldownRespect();
}
public void addRespectDailyCooldown(int value) throws SQLException {
public void addRespectDailyCooldown(int value) {
setRespectDailyCooldown(getRespectDailyCooldown() + value);
}
public void setRespectDailyCooldown(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE daily_respect_task SET COOLDOWN = ? WHERE UUID = ?")) {
statement.setInt(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setRespectDailyCooldown(int value) {
getDailyRespectTaskEntity().setCooldownRespect(value);
}
public List<Prisoner> getOnlineList() {
return Bukkit.getOnlinePlayers().stream()
.map(Prisoner::new)
.filter(prisoner -> {
try {
return prisoner.getFaction().getType().equals(me.getFaction().getType());
} catch (SQLException e) {
e.printStackTrace();
return false;
}
})
.filter(prisoner -> prisoner.getFaction().getType().equals(me.getFaction().getType()))
.collect(Collectors.toList());
}
}

View File

@@ -1,49 +1,27 @@
package ru.prisonlife.api.template;
import ru.prisonlife.api.PrisonAPI;
public class Level extends AbstractApiData {
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 Level(Prisoner me) {
super(me);
this.score = new Score(me);
}
public Score getScore() throws SQLException {
public Score getScore() {
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 double getLevel() {
return getPlayerStatsEntity().getLevel();
}
public void addLevel(double value) throws SQLException, NullPointerException {
public void addLevel(double value) {
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();
}
public void setLevel(double value) {
getPlayerStatsEntity().setLevel(value);
}
}

View File

@@ -10,6 +10,7 @@ import org.bukkit.scheduler.BukkitRunnable;
import ru.prisonlife.api.PrisonAPI;
import java.io.File;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -27,16 +28,18 @@ public class Policeman extends Prisoner {
}
public void arrestPrisoner(Prisoner prs) throws SQLException {
final Connection connection = PrisonAPI.getSqlStore().getConnection();
if(prs.getPlayer().isOnline()) {
Manager mng = new Manager(super.getPrison());
List<String> all_cages = mng.getCages();
PreparedStatement st = PrisonAPI.CONN.prepareStatement("SELECT UUID FROM player_stats WHERE UUID = ?");
PreparedStatement st = connection.prepareStatement("SELECT UUID FROM player_stats WHERE UUID = ?");
st.setString(1, me.getUniqueId().toString());
try(ResultSet resultSet = st.executeQuery()) {
if(!resultSet.next()) {
int su = prs.getSuspect();
st.close();
st = PrisonAPI.CONN.prepareStatement(
st = connection.prepareStatement(
"INSERT INTO players_in_cages(NAME, UUID, TIME_IN_CAGE, BLOCKS_LEFT) " +
"VALUES (?, ?, ?, ?)");
st.setString(1, getPlayer().getName());
@@ -64,7 +67,7 @@ public class Policeman extends Prisoner {
try {
int time = 0;
String uuid = prs.getPlayer().getUniqueId().toString();
PreparedStatement st = PrisonAPI.CONN.prepareStatement(
PreparedStatement st = connection.prepareStatement(
"SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
st.setString(1, uuid);
try(ResultSet resultSet = st.executeQuery()) {
@@ -77,12 +80,12 @@ public class Policeman extends Prisoner {
actionBar.cancel();
cancel();
timeInCage.remove(prs);
st = PrisonAPI.CONN.prepareStatement("DELETE FROM players_in_cages WHERE UUID = ?");
st = connection.prepareStatement("DELETE FROM players_in_cages WHERE UUID = ?");
st.setString(1, uuid);
st.execute();
} else {
if(prs.getPlayer().isOnline()) {
st = PrisonAPI.CONN.prepareStatement("UPDATE players_in_cages SET TIME_IN_CAGE = " + (time - 1) + " WHERE UUID = ?");
st = connection.prepareStatement("UPDATE players_in_cages SET TIME_IN_CAGE = " + (time - 1) + " WHERE UUID = ?");
st.setString(1, uuid);
st.execute();
}

View File

@@ -8,6 +8,7 @@ import org.bukkit.entity.Player;
import ru.prisonlife.api.PrisonAPI;
import java.io.File;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -15,6 +16,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import static ru.prisonlife.api.PrisonAPI.getSqlStore;
public class Prisoner {
protected Player me;
@@ -35,7 +38,7 @@ public class Prisoner {
return me;
}
public Level getPrisonLevel() throws SQLException {
public Level getPrisonLevel() {
return this.level;
}
@@ -94,8 +97,9 @@ public class Prisoner {
}
}
}
if(c == 3)
if(c == 3) {
return fileConfiguration.getString("TERRITORIES." + terr + ".NAME");
}
}
}
} catch (NullPointerException z) {
@@ -105,26 +109,22 @@ public class Prisoner {
}
public void teleportToFactionSpawn() {
try {
Prisoner ps = new Prisoner(me);
Manager mng = new Manager(getPrison());
String f = ps.getFaction().getType();
List<Integer> c = mng.getSpawnCords(ps.getFaction().getId());
if(!f.equals("NONE") && c.size() != 0)
me.teleport(new Location(Bukkit.getWorld(mng.getWorld()), c.get(0) + 0.5, c.get(1), c.get(2) + 0.5));
} catch(SQLException z) {
z.printStackTrace();
Prisoner ps = new Prisoner(me);
Manager mng = new Manager(getPrison());
String f = ps.getFaction().getType();
List<Integer> c = mng.getSpawnCords(ps.getFaction().getId());
if (!f.equals("NONE") && c.size() != 0) {
me.teleport(new Location(Bukkit.getWorld(mng.getWorld()), c.get(0) + 0.5, c.get(1), c.get(2) + 0.5));
}
}
public int getSuspect() {
try {
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT SUSPECT FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try(PreparedStatement statement = getSqlStore().getConnection().prepareStatement("SELECT SUSPECT FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try(ResultSet resultSet = statement.executeQuery()) {
if(resultSet.next())
return resultSet.getInt(1);
try(ResultSet resultSet = statement.executeQuery()) {
if(resultSet.next()) {
return resultSet.getInt(1);
}
}
} catch(SQLException z) {
@@ -134,13 +134,11 @@ public class Prisoner {
}
public void setSuspect(int value) {
try {
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET SUSPECT = ? WHERE UUID = ?")) {
statement.setInt(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
try(PreparedStatement statement = getSqlStore().getConnection().prepareStatement("UPDATE player_stats SET SUSPECT = ? WHERE UUID = ?")) {
statement.setInt(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
statement.executeUpdate();
} catch(SQLException z) {
z.printStackTrace();
}
@@ -149,17 +147,19 @@ public class Prisoner {
public void addSuspect(int value) {
int su = getSuspect() + value;
setSuspect(su);
if(su > 6)
if(su > 6) {
setSuspect(su - (su - 6));
}
}
public int getTimeLeftInCage() {
try {
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
try (PreparedStatement statement = getSqlStore().getConnection().prepareStatement("SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?")) {
statement.setString(1, me.getUniqueId().toString());
try(ResultSet resultSet = statement.executeQuery()) {
if(resultSet.next())
if(resultSet.next()) {
return resultSet.getInt(1);
}
}
} catch (SQLException e) {
e.printStackTrace();
@@ -169,14 +169,18 @@ public class Prisoner {
public void setTimeLeftInCage(int value) {
try {
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
PreparedStatement statement = getSqlStore().getConnection().prepareStatement("SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
statement.setString(1, me.getUniqueId().toString());
try(ResultSet resultSet = statement.executeQuery()) {
if(resultSet.next()) {
statement = PrisonAPI.CONN.prepareStatement("UPDATE players_in_cages SET TIME_IN_CAGE = ? WHERE UUID = ?");
statement.close();
statement = getSqlStore().getConnection().prepareStatement("UPDATE players_in_cages SET TIME_IN_CAGE = ? WHERE UUID = ?");
statement.setInt(1, value);
statement.setString(2, me.getUniqueId().toString());
statement.execute();
statement.close();
}
}
} catch(SQLException z) {
@@ -185,12 +189,13 @@ public class Prisoner {
}
public int getBlocksLeftToBreak() {
try {
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT BLOCKS_LEFT FROM players_in_cages WHERE UUID = ?");
try (PreparedStatement statement = getSqlStore().getConnection().prepareStatement("SELECT BLOCKS_LEFT FROM players_in_cages WHERE UUID = ?")) {
statement.setString(1, me.getUniqueId().toString());
try(ResultSet resultSet = statement.executeQuery()) {
if(resultSet.next())
if(resultSet.next()) {
return resultSet.getInt(1);
}
}
} catch (SQLException e) {
e.printStackTrace();
@@ -199,12 +204,13 @@ public class Prisoner {
}
public boolean isLocateInCage() {
try {
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT UUID FROM players_in_cages WHERE UUID = ?");
try (PreparedStatement statement = getSqlStore().getConnection().prepareStatement("SELECT UUID FROM players_in_cages WHERE UUID = ?")) {
statement.setString(1, me.getUniqueId().toString());
try(ResultSet resultSet = statement.executeQuery()) {
if(resultSet.next())
if(resultSet.next()) {
return true;
}
}
} catch (SQLException e) {
e.printStackTrace();
@@ -225,14 +231,16 @@ public class Prisoner {
}
public void register() throws SQLException {
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT UUID FROM player_stats WHERE UUID = ?");
final Connection connection = getSqlStore().getConnection();
PreparedStatement statement = connection.prepareStatement("SELECT UUID FROM player_stats WHERE UUID = ?");
statement.setString(1, me.getUniqueId().toString());
try(ResultSet resultSet = statement.executeQuery()) {
if(!resultSet.next()) {
statement.close();
statement = PrisonAPI.CONN.prepareStatement(
statement = connection.prepareStatement(
"INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, FACTION, RESPECT, F_RANG, SUSPECT, WALLET, " +
"G_TIME, D_BLOCKS, K_PLAYERS, K_MOBS, DEATHS) "
+ "VALUES (?, ?, 1, 0, 'NONE', 0, 0, 0, 0, 0, 0, 0, 0, 0)");
@@ -241,7 +249,7 @@ public class Prisoner {
statement.executeUpdate();
statement.close();
statement = PrisonAPI.CONN.prepareStatement(
statement = connection.prepareStatement(
"INSERT INTO daily_respect_task(NAME, UUID, COOLDOWN) " +
"VALUES (?, ?, ?)");
statement.setString(1, getPlayer().getName());

View File

@@ -1,43 +1,20 @@
package ru.prisonlife.api.template;
import ru.prisonlife.api.PrisonAPI;
public class Score extends AbstractApiData {
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Score {
private Prisoner me;
Score(Prisoner prisoner) {
me = prisoner;
public Score(Prisoner me) {
super(me);
}
public double getPoints() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT POINTS 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 0d; //TODO нужно или default значение, или exception
}
}
}
public double getPoints() {
return getPlayerStatsEntity().getPoints();
}
public void setPoints(double value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET POINTS = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setPoints(double value) {
getPlayerStatsEntity().setPoints(value);
}
public void addPoints(double value) throws SQLException {
public void addPoints(double value) {
setPoints(getPoints() + value);
}
}

View File

@@ -1,151 +1,68 @@
package ru.prisonlife.api.template;
import ru.prisonlife.api.PrisonAPI;
public class Stats extends AbstractApiData {
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Stats {
private Prisoner me;
Stats(Prisoner prisoner) {
me = prisoner;
public Stats(Prisoner me) {
super(me);
}
public void setServerTime(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET G_TIME = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setServerTime(int value) {
getPlayerStatsEntity().setServerTime(value);
}
public int getServerTime() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT G_TIME FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0; //TODO нужно или default значение, или exception
}
}
}
public int getServerTime() {
return getPlayerStatsEntity().getServerTime();
}
public void addServerTime(int value) throws SQLException {
public void addServerTime(int value) {
setServerTime(getServerTime() + value);
}
public void setBlocks(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET B = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setBlocks(int value) {
getPlayerStatsEntity().setBlocks(value);
}
public int getBlocks() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT D_BLOCKS FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0; //TODO нужно или default значение, или exception
}
}
}
public int getBlocks() {
return getPlayerStatsEntity().getBlocks();
}
public void addBlocks(int value) throws SQLException {
public void addBlocks(int value) {
setBlocks(getBlocks() + value);
}
public void setPlayers(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET K_PLAYERS = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setPlayers(int value) {
getPlayerStatsEntity().setPlayers(value);
}
public int getPlayers() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT K_PLAYERS FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0; //TODO нужно или default значение, или exception
}
}
}
public int getPlayers() {
return getPlayerStatsEntity().getPlayers();
}
public void addPlayers(int value) throws SQLException {
public void addPlayers(int value) {
setPlayers(getPlayers() + value);
}
public void setMobs(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET K_MOBS = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setMobs(int value) {
getPlayerStatsEntity().setMobs(value);
}
public int getMobs() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT K_MOBS FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0; //TODO нужно или default значение, или exception
}
}
}
public int getMobs() {
return getPlayerStatsEntity().getMobs();
}
public void addMobs(int value) throws SQLException {
public void addMobs(int value) {
setMobs(getMobs() + value);
}
public void setDeaths(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET DEATHS = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setDeaths(int value) {
getPlayerStatsEntity().setDeaths(value);
}
public int getDeaths() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT DEATHS FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0; //TODO нужно или default значение, или exception
}
}
}
public int getDeaths() {
return getPlayerStatsEntity().getDeaths();
}
public void addDeaths(int value) throws SQLException {
public void addDeaths(int value) {
setDeaths(getDeaths() + value);
}
}

View File

@@ -1,47 +1,24 @@
package ru.prisonlife.api.template;
import ru.prisonlife.api.PrisonAPI;
public class Wallet extends AbstractApiData {
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Wallet {
private Prisoner me;
Wallet(Prisoner prisoner) {
me = prisoner;
public Wallet(Prisoner me) {
super(me);
}
public int getBalance() throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT WALLET FROM player_stats WHERE UUID = ?")) {
statement.setString(1, me.getPlayer().getUniqueId().toString());
try (ResultSet resultSet = statement.executeQuery()) {
if (resultSet.next()) {
return resultSet.getInt(1);
} else {
return 0; //TODO нужно или default значение, или exception
}
}
}
public int getBalance() {
return getPlayerStatsEntity().getWallet();
}
public void addBalance(int value) throws SQLException {
public void addBalance(int value) {
setBalance(getBalance() + value);
}
public void deposit(int value) throws SQLException {
public void deposit(int value) {
setBalance(getBalance() - value);
}
public void setBalance(int value) throws SQLException {
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET WALLET = ? WHERE UUID = ?")) {
statement.setDouble(1, value);
statement.setString(2, me.getPlayer().getUniqueId().toString());
statement.executeUpdate();
}
public void setBalance(int value) {
getPlayerStatsEntity().setWallet(value);
}
}