SteamWar/SpigotCore
Archiviert
13
0

Change Schematic version dependant calls

Dieser Commit ist enthalten in:
jojo 2020-12-25 19:12:24 +01:00
Ursprung c646bf9533
Commit 2c0c75e6ea

Datei anzeigen

@ -20,7 +20,6 @@
package de.steamwar.sql; package de.steamwar.sql;
import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.Clipboard;
import de.steamwar.core.Core;
import de.steamwar.core.VersionedCallable; import de.steamwar.core.VersionedCallable;
import de.steamwar.core.VersionedRunnable; import de.steamwar.core.VersionedRunnable;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -233,26 +232,27 @@ public class Schematic {
} }
private void saveFromPlayer(Player player, boolean newFormat) throws IOException, NoClipboardException { private void saveFromPlayer(Player player, boolean newFormat) throws IOException, NoClipboardException {
try{ Blob blob = SQL.blob();
Blob blob = SQL.blob(); VersionedRunnable.call(new VersionedRunnable(() -> {
switch(Core.getVersion()){ try {
case 8: blob.setBytes(1, Schematic_8.getPlayerClipboard(player));
case 9: } catch (IOException | NoClipboardException | SQLException e) {
case 10: throw new RuntimeException(e.getMessage(), e);
case 12:
newFormat = false;
blob.setBytes(1, Schematic_8.getPlayerClipboard(player));
break;
case 14:
case 15:
default:
blob.setBytes(1, Schematic_14.getPlayerClipboard(player, newFormat));
} }
SQL.update("UPDATE Schematic SET SchemData = ?, SchemFormat = ? WHERE SchemID = ?", blob, newFormat, schemID); updateDatabase(blob, player, false);
schemFormat = newFormat; }, 8), new VersionedRunnable(() -> {
}catch(SQLException e){ try {
throw new IOException(e); blob.setBytes(1, Schematic_14.getPlayerClipboard(player, newFormat));
} } catch (IOException | NoClipboardException | SQLException e) {
throw new RuntimeException(e.getMessage(), e);
}
updateDatabase(blob, player, newFormat);
}, 14));
}
private void updateDatabase(Blob blob, Player player, boolean newFormat) {
SQL.update("UPDATE Schematic SET SchemData = ?, SchemFormat = ? WHERE SchemID = ?", blob, newFormat, schemID);
schemFormat = newFormat;
} }
public void remove(){ public void remove(){