Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.vanishedd.spongetags.database;
- import com.vanishedd.spongetags.SpongeTags;
- import com.vanishedd.spongetags.Tag;
- import org.spongepowered.api.entity.living.player.Player;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.UUID;
- public class Queries {
- private static SpongeTags plugin = SpongeTags.getInstance();
- private static Connection connection = plugin.connection;
- public static void addTag(Player player, Tag tag) {
- if (hasTag(player, tag)) {
- return;
- }
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO `tags` (playerUUID, tag, active, info, uuid) values(?, ?, ?, ?, ?)");
- preparedStatement.setString(1, player.getUniqueId().toString());
- preparedStatement.setString(2, tag.niceName);
- preparedStatement.setInt(3, 0);
- preparedStatement.setString(4, "");
- preparedStatement.setString(5, UUID.randomUUID().toString());
- preparedStatement.executeUpdate();
- preparedStatement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void addTags(Player player, Tag[] tags) {
- for (Tag tag : tags) {
- addTag(player, tag);
- }
- }
- public static void checkIfTableExists(String table, String keys) {
- try {
- Statement statement = connection.createStatement();
- statement.executeUpdate("CREATE TABLE IF NOT EXISTS " + table + "(" + keys + ")");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static String getActiveTag(Player player) {
- String playerUuid = player.getUniqueId().toString();
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=? AND active=?");
- preparedStatement.setString(1, playerUuid);
- preparedStatement.setInt(2, 1);
- ResultSet resultSet = preparedStatement.executeQuery();
- if (resultSet.next()) {
- String tag = resultSet.getString("tag");
- resultSet.close();
- preparedStatement.close();
- return tag;
- }
- resultSet.close();
- preparedStatement.close();
- } catch (SQLException e) {
- return null;
- }
- return null;
- }
- public static String getActiveTagInfo(Player player) {
- String playerUuid = player.getUniqueId().toString();
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=? AND active=?");
- preparedStatement.setString(1, playerUuid);
- preparedStatement.setInt(2, 1);
- ResultSet resultSet = preparedStatement.executeQuery();
- if (resultSet.next()) {
- String info = resultSet.getString("info");
- resultSet.close();
- preparedStatement.close();
- return info;
- }
- resultSet.close();
- preparedStatement.close();
- } catch (SQLException e) {
- return null;
- }
- return null;
- }
- public static List<String> getTags(Player player) {
- String playerUuid = player.getUniqueId().toString();
- List<String> tags = new ArrayList<>();
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=?");
- preparedStatement.setString(1, playerUuid);
- ResultSet resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- if (tags.contains(resultSet.getString("tag"))) {
- continue;
- }
- tags.add(resultSet.getString("tag"));
- }
- resultSet.close();
- preparedStatement.close();
- return tags;
- } catch (SQLException e) {
- return tags;
- }
- }
- public static boolean hasTag(Player player, Tag tag) {
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=? AND tag=?");
- preparedStatement.setString(1, player.getUniqueId().toString());
- preparedStatement.setString(2, tag.niceName);
- ResultSet resultSet = preparedStatement.executeQuery();
- boolean next = resultSet.next();
- resultSet.close();
- preparedStatement.close();
- return next;
- } catch (SQLException e) {
- return false;
- }
- }
- private static void removeActiveTag(Player player) {
- String playerUuid = player.getUniqueId().toString();
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=? AND active=?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
- preparedStatement.setString(1, playerUuid);
- preparedStatement.setInt(2, 1);
- ResultSet resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- resultSet.updateInt("active", 0);
- resultSet.updateRow();
- }
- resultSet.close();
- preparedStatement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static boolean removeTag(Player player, Tag tag) {
- String playerUuid = player.getUniqueId().toString();
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=? AND tag=?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
- preparedStatement.setString(1, playerUuid);
- preparedStatement.setString(2, tag.niceName);
- ResultSet resultSet = preparedStatement.executeQuery();
- if (resultSet.next()) {
- resultSet.deleteRow();
- resultSet.close();
- preparedStatement.close();
- return true;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- public static void removeTagFromAll(Tag tag) {
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE tag=?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
- preparedStatement.setString(1, tag.niceName);
- ResultSet resultSet = preparedStatement.executeQuery();
- while (resultSet.next()) {
- resultSet.deleteRow();
- }
- resultSet.close();
- preparedStatement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void setActiveTag(Player player, Tag tag, String info) {
- String playerUuid = player.getUniqueId().toString();
- removeActiveTag(player);
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `tags` WHERE playerUUID=? AND tag=?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
- preparedStatement.setString(1, playerUuid);
- preparedStatement.setString(2, tag.niceName);
- ResultSet resultSet = preparedStatement.executeQuery();
- if (resultSet.next()) {
- resultSet.updateInt("active", 1);
- resultSet.updateString("info", info);
- resultSet.updateRow();
- }
- resultSet.close();
- preparedStatement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement