Add versionDependantCall, See #144 BauSystem #80
@ -20,7 +20,6 @@
|
||||
package de.steamwar.sql;
|
||||
|
||||
import com.sk89q.worldedit.extent.clipboard.Clipboard;
|
||||
import de.steamwar.core.Core;
|
||||
import de.steamwar.core.VersionedCallable;
|
||||
import de.steamwar.core.VersionedRunnable;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
@ -233,26 +232,27 @@ public class Schematic {
|
||||
}
|
||||
|
||||
private void saveFromPlayer(Player player, boolean newFormat) throws IOException, NoClipboardException {
|
||||
try{
|
||||
Blob blob = SQL.blob();
|
||||
switch(Core.getVersion()){
|
||||
case 8:
|
||||
case 9:
|
||||
case 10:
|
||||
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));
|
||||
Blob blob = SQL.blob();
|
||||
VersionedRunnable.call(new VersionedRunnable(() -> {
|
||||
try {
|
||||
blob.setBytes(1, Schematic_8.getPlayerClipboard(player));
|
||||
} catch (IOException | NoClipboardException | SQLException e) {
|
||||
throw new RuntimeException(e.getMessage(), e);
|
||||
}
|
||||
SQL.update("UPDATE Schematic SET SchemData = ?, SchemFormat = ? WHERE SchemID = ?", blob, newFormat, schemID);
|
||||
schemFormat = newFormat;
|
||||
}catch(SQLException e){
|
||||
throw new IOException(e);
|
||||
}
|
||||
updateDatabase(blob, player, false);
|
||||
}, 8), new VersionedRunnable(() -> {
|
||||
try {
|
||||
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(){
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Bitte aktiviere mal in deine IDE, dass Unused Imports automatisch aufgeräumt werden.
Habe ich kriegt er aber manchmal selber nicht hin