SteamWar/SpigotCore
Archiviert
13
0

Add versionDependantCall, See #144 BauSystem #80

Manuell gemergt
Lixfel hat 11 Commits von VersionDependantCalls nach master 2020-12-25 23:10:54 +01:00 zusammengeführt
Nur Änderungen aus Commit 2c0c75e6ea werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -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;
Review

Bitte aktiviere mal in deine IDE, dass Unused Imports automatisch aufgeräumt werden.

Bitte aktiviere mal in deine IDE, dass Unused Imports automatisch aufgeräumt werden.
Review

Habe ich kriegt er aber manchmal selber nicht hin

Habe ich kriegt er aber manchmal selber nicht hin
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(){