SteamWar/SpigotCore
Archiviert
13
0

Schematic inputstream api

Dieser Commit ist enthalten in:
Lixfel 2021-08-23 18:52:40 +02:00
Ursprung 4ec347e2d9
Commit a6a5499d0c

Datei anzeigen

@ -182,21 +182,28 @@ public class Schematic {
return true; return true;
} }
public Clipboard load() throws IOException, NoClipboardException { public InputStream schemData() throws IOException {
ResultSet rs = SQL.select("SELECT SchemData FROM Schematic WHERE SchemID = ?", schemID); ResultSet rs = SQL.select("SELECT SchemData FROM Schematic WHERE SchemID = ?", schemID);
try { try {
rs.next(); rs.next();
Blob schemData = rs.getBlob("SchemData"); Blob schemData = rs.getBlob("SchemData");
if(schemData == null) if(schemData == null)
throw new IOException("SchemData is null"); throw new IOException("SchemData is null");
InputStream is = schemData.getBinaryStream(); return schemData.getBinaryStream();
return VersionedCallable.call(new VersionedCallable<>(() -> Schematic_8.getClipboard(is, schemFormat), 8),
new VersionedCallable<>(() -> Schematic_14.getClipboard(is, schemFormat), 14));
} catch (SQLException e) { } catch (SQLException e) {
throw new IOException(e); throw new IOException(e);
} }
} }
public static Clipboard clipboardFromStream(InputStream is, boolean schemFormat) {
return VersionedCallable.call(new VersionedCallable<>(() -> Schematic_8.getClipboard(is, schemFormat), 8),
new VersionedCallable<>(() -> Schematic_14.getClipboard(is, schemFormat), 14));
}
public Clipboard load() throws IOException, NoClipboardException {
return clipboardFromStream(schemData(), schemFormat);
}
public void loadToPlayer(Player player) throws IOException, NoClipboardException { public void loadToPlayer(Player player) throws IOException, NoClipboardException {
ResultSet rs = SQL.select("SELECT SchemData FROM Schematic WHERE SchemID = ?", schemID); ResultSet rs = SQL.select("SELECT SchemData FROM Schematic WHERE SchemID = ?", schemID);
try { try {