diff --git a/src/main/java/us/mytheria/bloblib/jlib/storage/database/SQLDatabase.java b/src/main/java/us/mytheria/bloblib/jlib/storage/database/SQLDatabase.java index 3be71e2a..01e98fe3 100644 --- a/src/main/java/us/mytheria/bloblib/jlib/storage/database/SQLDatabase.java +++ b/src/main/java/us/mytheria/bloblib/jlib/storage/database/SQLDatabase.java @@ -322,13 +322,6 @@ public PreparedStatement selectAllFromData(String keyType, String key, String ta } catch (SQLException e) { e.printStackTrace(); return null; - } finally { - if (connection != null) - try { - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - } } } @@ -341,13 +334,6 @@ public PreparedStatement updateDataSet(String keyType, String table, String valu } catch (SQLException e) { e.printStackTrace(); return null; - } finally { - if (connection != null) - try { - connection.close(); - } catch (SQLException e) { - e.printStackTrace(); - } } } diff --git a/src/main/java/us/mytheria/bloblib/utilities/BukkitUtil.java b/src/main/java/us/mytheria/bloblib/utilities/BukkitUtil.java index 19248298..bb78d7d4 100644 --- a/src/main/java/us/mytheria/bloblib/utilities/BukkitUtil.java +++ b/src/main/java/us/mytheria/bloblib/utilities/BukkitUtil.java @@ -3,6 +3,7 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.block.Block; +import org.bukkit.util.Vector; import java.util.ArrayList; import java.util.HashSet; @@ -17,6 +18,8 @@ public class BukkitUtil { * @see Location */ public static String locationToString(Location loc) { + if (loc == null) + return "null"; return loc.getWorld().getName() + "%loc:%" + loc.getX() + "%loc:%" + loc.getY() + "%loc:%" + loc.getZ(); } @@ -26,6 +29,8 @@ public static String locationToString(Location loc) { * @see Location */ public static Location stringToLocation(String string) { + if (string.equals("null")) + return null; String[] split = string.split("%loc:%"); return new Location(Bukkit.getWorld(split[0]), Double.parseDouble(split[1]), Double.parseDouble(split[2]), Double.parseDouble(split[3])); @@ -55,4 +60,21 @@ public static Set deserializeBlockSet(List serialized) { } return blocks; } + + public static List serializeVectorSet(Set vectors) { + List serialized = new ArrayList<>(); + for (Vector vector : vectors) { + serialized.add(vector.getBlockX() + "%" + vector.getBlockY() + "%" + vector.getBlockZ()); + } + return serialized; + } + + public static Set deserializeVectorSet(List serialized) { + Set vectors = new HashSet<>(); + for (String string : serialized) { + String[] split = string.split("%"); + vectors.add(new Vector(Integer.parseInt(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2]))); + } + return vectors; + } }