По просьбе Димона + mini-update 0.1.2
This commit is contained in:
160
src/main/java/ru/prisonlife/api/template/Faction.java
Normal file
160
src/main/java/ru/prisonlife/api/template/Faction.java
Normal file
@@ -0,0 +1,160 @@
|
||||
package ru.prisonlife.api.template;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import ru.prisonlife.api.PrisonAPI;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class Faction {
|
||||
|
||||
private Prisoner me;
|
||||
|
||||
Faction(Prisoner prisoner) {
|
||||
me = prisoner;
|
||||
}
|
||||
|
||||
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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 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 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"}};
|
||||
|
||||
return post[getId() - 1][getRangId() - 1];
|
||||
}
|
||||
|
||||
public void addRang(int value) throws SQLException {
|
||||
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 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 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 void addRespect(int value) throws SQLException {
|
||||
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 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 void addRespectDailyCooldown(int value) throws SQLException {
|
||||
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 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;
|
||||
}
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user