From 40c2462d5bfd2ae7bfd8029e8e362f40ae03807c Mon Sep 17 00:00:00 2001 From: Chaoscaot Date: Thu, 7 Jan 2021 15:29:59 +0100 Subject: [PATCH] Add SaveFromBytes --- .../src/de/steamwar/sql/Schematic.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/SpigotCore_Main/src/de/steamwar/sql/Schematic.java b/SpigotCore_Main/src/de/steamwar/sql/Schematic.java index 4be00c8..736257c 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/Schematic.java +++ b/SpigotCore_Main/src/de/steamwar/sql/Schematic.java @@ -212,15 +212,25 @@ public class Schematic { } } - public void saveOldFormatFromPlayer(Player player) throws IOException, NoClipboardException { + public void saveOldFormatFromPlayer(Player player) throws NoClipboardException { saveFromPlayer(player, false); } - public void saveFromPlayer(Player player) throws IOException, NoClipboardException { + public void saveFromPlayer(Player player) throws NoClipboardException { saveFromPlayer(player, true); } - private void saveFromPlayer(Player player, boolean newFormat) throws IOException, NoClipboardException { + public void saveFromBytes(byte[] bytes, boolean newFormat) { + Blob blob = SQL.blob(); + try { + blob.setBytes(1, bytes); + updateDatabase(blob, newFormat); + } catch (SQLException throwables) { + throwables.printStackTrace(); + } + } + + private void saveFromPlayer(Player player, boolean newFormat) throws NoClipboardException { Blob blob = SQL.blob(); VersionedRunnable.call(new VersionedRunnable(() -> { try { @@ -228,18 +238,18 @@ public class Schematic { } catch (SQLException e) { throw new RuntimeException(e.getMessage(), e); } - updateDatabase(blob, player, false); + updateDatabase(blob, false); }, 8), new VersionedRunnable(() -> { try { blob.setBytes(1, Schematic_14.getPlayerClipboard(player, newFormat)); } catch (SQLException exception) { throw new RuntimeException(exception.getMessage(), exception); } - updateDatabase(blob, player, newFormat); + updateDatabase(blob, newFormat); }, 14)); } - private void updateDatabase(Blob blob, Player player, boolean newFormat) { + private void updateDatabase(Blob blob, boolean newFormat) { SQL.update("UPDATE Schematic SET SchemData = ?, SchemFormat = ? WHERE SchemID = ?", blob, newFormat, schemID); schemFormat = newFormat; }