From 000219a5ff183e469129e5804d0a6090d6b47b26 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Sun, 30 Jul 2023 18:12:47 -0400 Subject: 1.7.5 rc4 --- .../hideAndSeek/database/InventoryTable.java | 103 --------------------- 1 file changed, 103 deletions(-) delete mode 100644 src/main/java/net/tylermurphy/hideAndSeek/database/InventoryTable.java (limited to 'src/main/java/net/tylermurphy/hideAndSeek/database/InventoryTable.java') diff --git a/src/main/java/net/tylermurphy/hideAndSeek/database/InventoryTable.java b/src/main/java/net/tylermurphy/hideAndSeek/database/InventoryTable.java deleted file mode 100644 index b023801..0000000 --- a/src/main/java/net/tylermurphy/hideAndSeek/database/InventoryTable.java +++ /dev/null @@ -1,103 +0,0 @@ -package net.tylermurphy.hideAndSeek.database; - -import net.tylermurphy.hideAndSeek.Main; -import org.bukkit.inventory.ItemStack; -import org.bukkit.util.io.BukkitObjectInputStream; -import org.bukkit.util.io.BukkitObjectOutputStream; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.sql.*; -import java.util.UUID; - -public class InventoryTable { - - private final Database database; - - protected InventoryTable(Database database) { - - String sql = "CREATE TABLE IF NOT EXISTS hs_inventory (\n" - + " uuid BINARY(16) NOT NULL,\n" - + " inventory TEXT NOT NULL,\n" - + " PRIMARY KEY (uuid)\n" - + ");"; - - try(Connection connection = database.connect(); Statement statement = connection.createStatement()) { - statement.executeUpdate(sql); - } catch (SQLException e) { - Main.getInstance().getLogger().severe("SQL Error: " + e.getMessage()); - e.printStackTrace(); - } - - this.database = database; - } - - @Nullable - public ItemStack[] getInventory(@NotNull UUID uuid) { - String sql = "SELECT * FROM hs_inventory WHERE uuid = ?;"; - try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) { - statement.setBytes(1, database.encodeUUID(uuid)); - ResultSet rs = statement.executeQuery(); - if (rs.next()) { - String data = rs.getString("inventory"); - if(data == null) return null; - return itemStackArrayFromBase64(data); - } - rs.close(); - } catch (SQLException e) { - Main.getInstance().getLogger().severe("SQL Error: " + e.getMessage()); - e.printStackTrace(); - } catch (IOException e) { - Main.getInstance().getLogger().severe("IO Error: " + e.getMessage()); - e.printStackTrace(); - } - return null; - } - - public void saveInventory(@NotNull UUID uuid, @NotNull ItemStack[] itemArray) { - String sql = "REPLACE INTO hs_inventory (uuid, inventory) VALUES (?,?)"; - String data = itemStackArrayToBase64(itemArray); - try(Connection connection = database.connect(); PreparedStatement statement = connection.prepareStatement(sql)) { - statement.setBytes(1, database.encodeUUID(uuid)); - statement.setString(2, data); - statement.execute(); - } catch (SQLException e) { - Main.getInstance().getLogger().severe("SQL Error: " + e.getMessage()); - e.printStackTrace(); - } - } - - private String itemStackArrayToBase64(ItemStack[] itemArray) throws IllegalStateException { - try { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream); - - dataOutput.writeObject(itemArray); - - dataOutput.close(); - - return Base64Coder.encodeLines(outputStream.toByteArray()); - } catch (Exception e) { - throw new IllegalStateException("Error whilst saving items, Please contact the developer", e); - } - } - - private ItemStack[] itemStackArrayFromBase64(String data) throws IOException { - try { - ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data)); - BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream); - - ItemStack[] itemArray = (ItemStack[]) dataInput.readObject(); - - dataInput.close(); - return itemArray; - } catch (ClassNotFoundException e) { - throw new IOException("Error whilst loading items, Please contact the developer", e); - } - } - -} -- cgit v1.2.3-freya