diff --git a/.gitignore b/.gitignore
index 4bfa550..4b82ef1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,10 @@
+## IDEA ##
.idea/
+out/
*.iml
+*.ipr
+*.iws
+*.ids
+
+## MAVEN ##
target/
diff --git a/pom.xml b/pom.xml
index 095c64b..f3681f5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,8 +5,14 @@
4.0.0
ru.prisonlife
- PrisonAPI
- 0.0.4
+ prison-api
+ 0.1.0.4
+
+
+ UTF-8
+ 1.8
+ 1.12-R0.1
+
@@ -14,12 +20,43 @@
https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+
org.spigotmc
spigot-api
- 1.12-R0.1-SNAPSHOT
+ ${bukkit.version}-SNAPSHOT
provided
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
+ ${java.version}
+ ${java.version}
+ ${java.encoding}
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.22.0
+
+ -Dfile.encoding=${java.encoding}
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/PrisonAPI.java b/src/main/java/ru/prisonlife/PrisonAPI/PrisonAPI.java
index e45bf41..fa629cf 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/PrisonAPI.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/PrisonAPI.java
@@ -1,4 +1,4 @@
-package ru.prisonlife.PrisonAPI;
+package ru.prisonlife.prisonapi;
import org.bukkit.plugin.java.JavaPlugin;
@@ -7,23 +7,52 @@ import java.sql.DriverManager;
import java.sql.SQLException;
public class PrisonAPI extends JavaPlugin {
- public static Connection CONN;
+
+ public static final String PLUGIN_PATH = "plugins/PrisonManager";
+
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 void onEnable() {
try {
CONN = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/prison4life",
"root", "root");
- } catch (SQLException e) { e.printStackTrace(); }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
}
public void onDisable() {
try {
- if(!CONN.isClosed())
+ if (!CONN.isClosed()) {
CONN.close();
- } catch (SQLException e) { e.printStackTrace(); }
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
}
}
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java
index 6e7c610..78d4dbb 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java
@@ -1,57 +1,64 @@
-package ru.prisonlife.PrisonAPI.template;
+package ru.prisonlife.prisonapi.template;
import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-import ru.prisonlife.PrisonAPI.PrisonAPI;
+import ru.prisonlife.prisonapi.PrisonAPI.Factions;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
+import java.util.stream.Collectors;
+
+import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
public class Faction {
- private PreparedStatement state;
- private ResultSet r_set;
+
private Prisoner me;
+
Faction(Prisoner prisoner) {
me = prisoner;
}
public String getType() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT FACTION FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getString(1);
+ 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 resultSet.getString(1);
+ } else {
+ return "null";
+ }
+ }
}
- dis_t();
- return "null";
}
public int getId() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT FACTION FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- for(int i = 0; i < PrisonAPI.Factions.values().length; i++)
- if(PrisonAPI.Factions.values()[i].name().equals(r_set.getString(1)))
- return i;
+ 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();
+ }
+ }
}
- dis_t();
+
return 0;
}
public int getRangId() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT F_RANG FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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;
+ }
+ }
}
- dis_t();
- return 0;
}
public String getRangType() throws SQLException {
@@ -64,93 +71,92 @@ public class Faction {
}
public void addRang(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET F_RANG = " + (getRangId() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setRang(getRangId() + value);
}
public void setRang(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET F_RANG = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = 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 setFaction(int id) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET FACTION = '" + PrisonAPI.Factions.values()[id].name() + "' WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET FACTION = ? WHERE UUID = ?")) {
+ statement.setInt(1, Factions.valueOf(id).getId());
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getRespect() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT RESPECT FROM prison4life.player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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;
+ }
+ }
}
- dis_t();
- return 0;
}
public void addRespect(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET RESPECT = " + (getRespect() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setRespect(getRespect() + value);
}
public void setRespect(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET RESPECT = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET RESPECT = ? WHERE UUID = ?")) {
+ statement.setInt(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getRespectDailyCooldown() throws SQLException {
- con_t();
- if(r_set.first())
- r_set = state.executeQuery("SELECT COOLDOWN FROM daily_respect_task WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
- dis_t();
- return 0;
+ try (PreparedStatement statement = 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 void addRespectDailyCooldown(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE daily_respect_task SET COOLDOWN = " + (getRespectDailyCooldown() + value)
- + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
+ setRespectDailyCooldown(getRespectDailyCooldown() + value);
}
public void setRespectDailyCooldown(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE daily_respect_task SET COOLDOWN = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- }
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE daily_respect_task SET COOLDOWN = ? WHERE UUID = ?")) {
+ statement.setInt(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
- public List getOnlineList() throws SQLException {
- List list = new ArrayList<>();
- Iterator itr = Bukkit.getOnlinePlayers().iterator();
- while(itr.hasNext()) {
- Prisoner m = new Prisoner((Player) itr.next());
- if(m.getFaction().getType().equals(me.getFaction().getType()))
- list.add(m);
+ statement.executeUpdate();
}
- return list;
}
- private void con_t() throws SQLException {
- state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
- state.setString(1, me.getPlayer().getUniqueId().toString());
- r_set = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- }
-
- private void dis_t() throws SQLException {
- r_set.close();
- state.close();
+ public List 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;
+ }
+ })
+ .collect(Collectors.toList());
}
}
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Level.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Level.java
index f3c1d72..87a3f1b 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Level.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Level.java
@@ -1,59 +1,57 @@
-package ru.prisonlife.PrisonAPI.template;
-
-import ru.prisonlife.PrisonAPI.PrisonAPI;
+package ru.prisonlife.prisonapi.template;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
+
public class Level {
- private PreparedStatement state;
- private ResultSet r_set;
+
private Prisoner me;
private Score score;
- Level(Prisoner prisoner) { me = prisoner; score = new Score(me); }
+
+ Level(Prisoner prisoner) {
+ me = prisoner;
+ score = new Score(me);
+ }
public Score getScore() throws SQLException {
- con_t();
- if(r_set.first())
+ //FIXME приведи в порядок метод
+ /*
+ connect();
+ if (resultSet.first()) {
return this.score;
- dis_t();
+ }
+ disconnect();
+ */
return null;
}
public double getLevel() throws SQLException, NullPointerException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT LEVEL FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getDouble(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addLevel(double value) throws SQLException, NullPointerException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET LEVEL = " + (getLevel() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setLevel(getLevel() + value);
}
public void setLevel(double value) throws SQLException, NullPointerException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET LEVEL = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
- }
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET LEVEL = ? WHERE UUID = ?")) {
+ statement.setDouble(1, getLevel() + value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
- private void con_t() throws SQLException {
- state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
- state.setString(1, me.getPlayer().getUniqueId().toString());
- r_set = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- }
-
- private void dis_t() throws SQLException {
- r_set.close();
- state.close();
+ statement.executeUpdate();
+ }
}
}
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Manager.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Manager.java
index 5dc64f5..5d314f0 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Manager.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Manager.java
@@ -1,9 +1,8 @@
-package ru.prisonlife.PrisonAPI.template;
+package ru.prisonlife.prisonapi.template;
-import com.sun.media.sound.InvalidDataException;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
-import ru.prisonlife.PrisonAPI.PrisonAPI;
+import ru.prisonlife.prisonapi.PrisonAPI;
import java.io.File;
import java.io.IOException;
@@ -11,89 +10,87 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
-public class Manager {
- private File fi;
- private FileConfiguration cf;
+import static ru.prisonlife.prisonapi.PrisonAPI.PLUGIN_PATH;
+public class Manager {
+
+ private File file;
+ private FileConfiguration fileConfiguration;
public Manager(String id) {
- fi = new File("plugins/PrisonManager/", id);
- cf = YamlConfiguration.loadConfiguration(fi);
+ file = new File(PLUGIN_PATH + "/", id);
+ fileConfiguration = YamlConfiguration.loadConfiguration(file);
}
public boolean contains() {
- return fi.exists();
+ return file.exists();
}
public String getWorld() {
- return cf.getString("WORLD");
+ return fileConfiguration.getString("WORLD");
}
public void setWorld(String name) {
String p = "WORLD";
- cf.set(p, null);
- cf.set(p, name);
+ fileConfiguration.set(p, null);
+ fileConfiguration.set(p, name);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public boolean getRebootStatus() {
- return cf.getBoolean("REBOOT_STATUS");
+ return fileConfiguration.getBoolean("REBOOT_STATUS");
}
public void setRebootStatus(boolean status) {
- cf.set("REBOOT_STATUS", status);
+ fileConfiguration.set("REBOOT_STATUS", status);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public List getSpawnCords(int faction) {
- return cf.getIntegerList("FACTIONS." + __selectFactType__(faction) + ".CORDS");
+ return fileConfiguration.getIntegerList("FACTIONS." + selectFactType(faction) + ".CORDS");
}
public void setSpawnCords(int faction, List data) {
- String p = "FACTIONS." + __selectFactType__(faction) + ".CORDS";
- cf.set(p, null);
- cf.set(p, data);
+ String p = "FACTIONS." + selectFactType(faction) + ".CORDS";
+ fileConfiguration.set(p, null);
+ fileConfiguration.set(p, data);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public List getDiagonal() {
- return cf.getIntegerList("DIAGONAL_POINTS");
+ return fileConfiguration.getIntegerList("DIAGONAL_POINTS");
}
public void setDiagonal(List data) {
- if(data.size() == 6) {
+ if (data.size() == 6) {
String dp = "DIAGONAL_POINTS";
- cf.set(dp, null);
- cf.set(dp, data);
+ fileConfiguration.set(dp, null);
+ fileConfiguration.set(dp, data);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
} else {
- try {
- throw new InvalidDataException();
- } catch (InvalidDataException e) {
- e.printStackTrace();
- }
+ throw new RuntimeException("data.size() != 6");
}
}
public int getGlobalNumTerr(int faction) {
int num = 0;
- for(File prison : Objects.requireNonNull(fi.getParentFile().listFiles())) {
+ for (File prison : Objects.requireNonNull(file.getParentFile().listFiles())) {
Manager mng = new Manager(prison.getName());
num += mng.getNumTerr(faction);
}
@@ -101,55 +98,55 @@ public class Manager {
}
public int getNumTerr(int faction) {
- return cf.getInt("FACTIONS." + __selectFactType__(faction) + ".NUM_TERR");
+ return fileConfiguration.getInt("FACTIONS." + selectFactType(faction) + ".NUM_TERR");
}
public void setNumTerr(int faction, int value) {
- String p = "FACTIONS." + __selectFactType__(faction) + ".NUM_TERR";
- cf.set(p, null);
- cf.set(p, value);
+ String p = "FACTIONS." + selectFactType(faction) + ".NUM_TERR";
+ fileConfiguration.set(p, null);
+ fileConfiguration.set(p, value);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public String getTerrOwner(String name) {
- return cf.getString("TERRITORIES." + name + ".OWNER");
+ return fileConfiguration.getString("TERRITORIES." + name + ".OWNER");
}
public void setTerrOwner(String name, String owner) {
- cf.set("TERRITORIES." + name + ".OWNER", owner);
+ fileConfiguration.set("TERRITORIES." + name + ".OWNER", owner);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public String getTerrConqurer(String name) {
- return cf.getString("TERRITORIES." + name + ".CAPTURED");
+ return fileConfiguration.getString("TERRITORIES." + name + ".CAPTURED");
}
public void setTerrConqurer(String name, String status) {
- cf.set("TERRITORIES." + name + ".CAPTURED", status);
+ fileConfiguration.set("TERRITORIES." + name + ".CAPTURED", status);
try {
- cf.save(fi);
+ fileConfiguration.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public List getAllTerrs() {
- return new ArrayList<>(cf.getConfigurationSection("TERRITORIES").getKeys(false));
+ return new ArrayList<>(fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false));
}
- public String __selectFactType__(int id) {
+ public String selectFactType(int id) {
return PrisonAPI.Factions.values()[id].name();
}
- public int __selectFactId__(String faction) {
+ public int selectFactId(String faction) {
return PrisonAPI.Factions.valueOf(faction).ordinal();
}
}
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Prisoner.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Prisoner.java
index c15cb04..5b2bd9c 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Prisoner.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Prisoner.java
@@ -1,10 +1,9 @@
-package ru.prisonlife.PrisonAPI.template;
+package ru.prisonlife.prisonapi.template;
import org.bukkit.Location;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
-import ru.prisonlife.PrisonAPI.PrisonAPI;
import java.io.File;
import java.sql.PreparedStatement;
@@ -14,15 +13,16 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
+import static ru.prisonlife.prisonapi.PrisonAPI.PLUGIN_PATH;
+
public class Prisoner {
- private static final String PLUGIN_PATH = "plugins/PrisonManager";
+
private Player me;
private Level level;
private Faction faction;
private Wallet wallet;
private Stats stats;
- private PreparedStatement state;
- private ResultSet r_set;
public Prisoner(Player player) {
me = player;
@@ -32,91 +32,123 @@ public class Prisoner {
stats = new Stats(this);
}
- public Player getPlayer() { return me; }
+ public Player getPlayer() {
+ return me;
+ }
- public Level getPrisonLevel() throws SQLException { return this.level; }
+ public Level getPrisonLevel() throws SQLException {
+ return this.level;
+ }
public String getPrison() {
Location loc = me.getLocation();
- for(File file : Objects.requireNonNull(new File(PLUGIN_PATH).listFiles())) {
- FileConfiguration c_ti = YamlConfiguration.loadConfiguration(file);
+ for (File file : Objects.requireNonNull(new File(PLUGIN_PATH).listFiles())) {
+ FileConfiguration fileConfiguration = YamlConfiguration.loadConfiguration(file);
List> data = new ArrayList<>();
- List from_cfg = c_ti.getIntegerList("DIAGONAL_POINTS"),
+ List fromConfig = fileConfiguration.getIntegerList("DIAGONAL_POINTS"),
min = new ArrayList<>(), max = new ArrayList<>();
int[] loc_n = {loc.getBlockX(), loc.getBlockY() - 1, loc.getBlockZ()};
- data.add(from_cfg.subList(0, 3));
- data.add(from_cfg.subList(3, 6));
- for(int i = 0; i < 3; i++) {
+ data.add(fromConfig.subList(0, 3));
+ data.add(fromConfig.subList(3, 6));
+ for (int i = 0; i < 3; i++) {
min.add(Math.min(data.get(0).get(i), data.get(1).get(i)));
max.add(Math.max(data.get(0).get(i), data.get(1).get(i)));
}
int c = 0;
- for(int k : loc_n) {
- for(int n = 0; n < 3; n++)
- if(k >= min.get(n) && k <= max.get(n))
+ for (int k : loc_n) {
+ for (int n = 0; n < 3; n++) {
+ if (k >= min.get(n) && k <= max.get(n)) {
++c;
+ }
+ }
}
- if(c == 3)
+ if (c == 3) {
return file.getName().replace("PRISON_", "").replace(".yml", "");
+ }
}
return "Not Prison";
}
public String getTerritory(String type) {
- String prs = getPrison();
- if(!prs.equals("Not Prison") && (type.equals("name") || type.equals("owner"))) {
+ String prison = getPrison();
+ if (!prison.equals("Not Prison") && (type.equals("name") || type.equals("owner"))) {
Location loc = me.getLocation();
- FileConfiguration c_ti = YamlConfiguration.loadConfiguration(new File(PLUGIN_PATH, "PRISON_" + prs + ".yml"));
+ FileConfiguration fileConfiguration = YamlConfiguration.loadConfiguration(new File(PLUGIN_PATH, "PRISON_" + prison + ".yml"));
try {
- if(c_ti.getConfigurationSection("TERRITORIES").getKeys(false).size() != 0) {
- for(String terr : c_ti.getConfigurationSection("TERRITORIES").getKeys(false)) {
+ if (fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false).size() != 0) {
+ for (String terr : fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false)) {
List> data = new ArrayList<>();
- List from_cfg = c_ti.getIntegerList("TERRITORIES." + terr + ".DIAGONAL_POINTS"),
+ List fromConfig = fileConfiguration.getIntegerList("TERRITORIES." + terr + ".DIAGONAL_POINTS"),
min = new ArrayList<>(), max = new ArrayList<>();
int[] loc_n = {loc.getBlockX(), loc.getBlockY() - 1, loc.getBlockZ()};
- data.add(from_cfg.subList(0, 3));
- data.add(from_cfg.subList(3, 6));
- for(int i = 0; i < 3; i++) {
+ data.add(fromConfig.subList(0, 3));
+ data.add(fromConfig.subList(3, 6));
+ for (int i = 0; i < 3; i++) {
min.add(Math.min(data.get(0).get(i), data.get(1).get(i)));
max.add(Math.max(data.get(0).get(i), data.get(1).get(i)));
}
int c = 0;
- for(int k : loc_n) {
- for (int n = 0; n < 3; n++)
- if (k >= min.get(n) && k <= max.get(n))
+ for (int k : loc_n) {
+ for (int n = 0; n < 3; n++) {
+ if (k >= min.get(n) && k <= max.get(n)) {
++c;
+ }
+ }
+ }
+ if (c == 3) {
+ return type.equals("name") ? fileConfiguration.getString("TERRITORIES." + terr + ".NAME") :
+ (type.equals("owner") ? fileConfiguration.getString("TERRITORIES." + terr + ".OWNER") : null);
}
- if(c == 3)
- return type.equals("name") ? c_ti.getString("TERRITORIES." + terr + ".NAME") :
- (type.equals("owner") ? c_ti.getString("TERRITORIES." + terr + ".OWNER") : null);
}
}
- } catch(NullPointerException z) {}
+ } catch (NullPointerException z) {
+ }
}
return "Not Territory";
}
- public Faction getFaction() { return faction; }
+ public Faction getFaction() {
+ return faction;
+ }
- public Wallet getWallet() { return wallet; }
+ public Wallet getWallet() {
+ return wallet;
+ }
- public Stats getStats() { return stats; }
+ public Stats getStats() {
+ return stats;
+ }
public void register() throws SQLException {
- state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
- state.setString(1, me.getUniqueId().toString());
- r_set = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getUniqueId() + "'");
- if(!r_set.next()) {
- state.execute(
- "INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, FACTION, RESPECT, F_RANG, WALLET, G_TIME, D_BLOCKS, " +
- "K_PLAYERS, K_MOBS, DEATHS) VALUES (" +"'" + getPlayer().getName()
- + "', '" + me.getUniqueId() + "', 1, 0, 'NONE', 0, 0, 0, 0, 0, 0, 0, 0);");
- state.execute("INSERT INTO daily_respect_task(NAME, UUID, COOLDOWN) VALUES ('" + me.getName() + "', '" + me.getUniqueId() + "', (3600 * 24));");
- level = new Level(this);
- stats = new Stats(this);
- wallet = new Wallet(this);
+ PreparedStatement statement = CONN.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 = CONN.prepareStatement(
+ "INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, FACTION, RESPECT, F_RANG, WALLET, " +
+ "G_TIME, D_BLOCKS, K_PLAYERS, K_MOBS, DEATHS) "
+ + "VALUES (?, ?, 1, 0, 'NONE', 0, 0, 0, 0, 0, 0, 0, 0)");
+ 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);
+ }
}
- r_set.close();
- state.close();
+ statement.close();
}
}
\ No newline at end of file
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Score.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Score.java
index 3a7edf6..59ebf47 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Score.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Score.java
@@ -1,51 +1,43 @@
-package ru.prisonlife.PrisonAPI.template;
-
-import ru.prisonlife.PrisonAPI.PrisonAPI;
+package ru.prisonlife.prisonapi.template;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
+
public class Score {
- private PreparedStatement state;
- private ResultSet r_set;
+
private Prisoner me;
- Score(Prisoner prisoner) { me = prisoner; }
+
+ Score(Prisoner prisoner) {
+ me = prisoner;
+ }
public double getPoints() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT POINTS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first()) {
- return r_set.getDouble(1);
+ try (PreparedStatement statement = 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
+ }
}
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void setPoints(double value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET POINTS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET POINTS = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public void addPoints(double value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET POINTS = " + (getPoints() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
- }
-
- private void con_t() throws SQLException {
- state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
- state.setString(1, me.getPlayer().getUniqueId().toString());
- r_set = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- }
-
- private void dis_t() throws SQLException {
- r_set.close();
- state.close();
+ setPoints(getPoints() + value);
}
}
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Stats.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Stats.java
index a9816bc..cad3e4b 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Stats.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Stats.java
@@ -1,150 +1,151 @@
-package ru.prisonlife.PrisonAPI.template;
-
-import ru.prisonlife.PrisonAPI.PrisonAPI;
+package ru.prisonlife.prisonapi.template;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
+
public class Stats {
- private PreparedStatement state;
- private ResultSet r_set;
+
private Prisoner me;
- Stats(Prisoner prisoner) { me = prisoner;}
+
+ Stats(Prisoner prisoner) {
+ me = prisoner;
+ }
public void setServerTime(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET G_TIME = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET G_TIME = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getServerTime() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT G_TIME FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addServerTime(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET G_TIME = " + (getServerTime() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setServerTime(getServerTime() + value);
}
public void setBlocks(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET B = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET B = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getBlocks() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT D_BLOCKS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addBlocks(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET D_BLOCKS = " + (getBlocks() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setBlocks(getBlocks() + value);
}
public void setPlayers(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET K_PLAYERS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET K_PLAYERS = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getPlayers() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT K_PLAYERS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addPlayers(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET K_PLAYERS = " + (getPlayers() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setPlayers(getPlayers() + value);
}
public void setMobs(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET K_MOBS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET K_MOBS = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getMobs() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT K_MOBS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addMobs(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET K_MOBS = " + (getMobs() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setMobs(getMobs() + value);
}
public void setDeaths(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET DEATHS = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET DEATHS = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
+
+ statement.executeUpdate();
+ }
}
public int getDeaths() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT DEATHS FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addDeaths(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET DEATHS = " + (getDeaths() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
- }
-
- private void con_t() throws SQLException {
- state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
- state.setString(1, me.getPlayer().getUniqueId().toString());
- r_set = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- }
-
- private void dis_t() throws SQLException {
- r_set.close();
- state.close();
+ setDeaths(getDeaths() + value);
}
}
diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Wallet.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Wallet.java
index 4836a6d..cc9fd9d 100644
--- a/src/main/java/ru/prisonlife/PrisonAPI/template/Wallet.java
+++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Wallet.java
@@ -1,57 +1,47 @@
-package ru.prisonlife.PrisonAPI.template;
-
-import ru.prisonlife.PrisonAPI.PrisonAPI;
+package ru.prisonlife.prisonapi.template;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import static ru.prisonlife.prisonapi.PrisonAPI.CONN;
+
public class Wallet {
- private PreparedStatement state;
- private ResultSet r_set;
+
private Prisoner me;
- Wallet(Prisoner prisoner) { me = prisoner; }
+
+ Wallet(Prisoner prisoner) {
+ me = prisoner;
+ }
public int getBalance() throws SQLException {
- con_t();
- if(r_set.first()) {
- r_set = state.executeQuery("SELECT WALLET FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- if(r_set.first())
- return r_set.getInt(1);
+ try (PreparedStatement statement = 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
+ }
+ }
}
- dis_t();
- return NullPointerException.class.hashCode();
}
public void addBalance(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET WALLET = " + (getBalance() + value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setBalance(getBalance() + value);
}
public void deposit(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET WALLET = " + (getBalance() - value) + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
+ setBalance(getBalance() - value);
}
public void setBalance(int value) throws SQLException {
- con_t();
- if(r_set.first())
- state.execute("UPDATE player_stats SET WALLET = " + value + " WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- dis_t();
- }
+ try (PreparedStatement statement = CONN.prepareStatement("UPDATE player_stats SET WALLET = ? WHERE UUID = ?")) {
+ statement.setDouble(1, value);
+ statement.setString(2, me.getPlayer().getUniqueId().toString());
- private void con_t() throws SQLException {
- state = PrisonAPI.CONN.prepareStatement("SELECT * UUID FROM player_stats WHERE UUID = ?;");
- state.setString(1, me.getPlayer().getUniqueId().toString());
- r_set = state.executeQuery("SELECT UUID FROM player_stats WHERE UUID = '" + me.getPlayer().getUniqueId() + "'");
- }
-
- private void dis_t() throws SQLException {
- r_set.close();
- state.close();
+ statement.executeUpdate();
+ }
}
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 4f61709..ac4901f 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,4 +1,4 @@
name: PrisonAPI
-version: 0.1.0.4
-authors: [Overlord_S, Prot_CN, Wani4ka]
-main: ru.prisonlife.PrisonAPI.PrisonAPI
\ No newline at end of file
+version: ${project.version}
+authors: [Overlord_S, Prot_CN, Wani4ka, DmitriyMX]
+main: ru.prisonlife.prisonapi.PrisonAPI
\ No newline at end of file