From 25120bef1aba6e6f3de291b05e3d0a75c61df9ea Mon Sep 17 00:00:00 2001 From: Byteflux Date: Fri, 6 Jan 2017 20:26:30 -0800 Subject: [PATCH] Remove async saving Fixes #245, #223, #246, #247 --- .../drtshock/playervaults/PlayerVaults.java | 2 +- .../converters/BackpackConverter.java | 9 +--- .../playervaults/listeners/Listeners.java | 8 +--- .../vaultmanagement/UUIDVaultManager.java | 46 ++----------------- 4 files changed, 9 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/drtshock/playervaults/PlayerVaults.java b/src/main/java/com/drtshock/playervaults/PlayerVaults.java index 8b013ec..8f4cf19 100644 --- a/src/main/java/com/drtshock/playervaults/PlayerVaults.java +++ b/src/main/java/com/drtshock/playervaults/PlayerVaults.java @@ -129,7 +129,7 @@ public class PlayerVaults extends JavaPlugin { Inventory inventory = player.getOpenInventory().getTopInventory(); if (inventory.getViewers().size() == 1) { VaultViewInfo info = this.inVault.get(player.getUniqueId().toString()); - UUIDVaultManager.getInstance().saveVault(inventory, player.getUniqueId().toString(), info.getNumber(), false); + UUIDVaultManager.getInstance().saveVault(inventory, player.getUniqueId().toString(), info.getNumber()); this.openInventories.remove(info.toString()); } diff --git a/src/main/java/com/drtshock/playervaults/converters/BackpackConverter.java b/src/main/java/com/drtshock/playervaults/converters/BackpackConverter.java index a74bcec..8e04921 100644 --- a/src/main/java/com/drtshock/playervaults/converters/BackpackConverter.java +++ b/src/main/java/com/drtshock/playervaults/converters/BackpackConverter.java @@ -82,13 +82,8 @@ public class BackpackConverter implements Converter { // Overwrite vault.setItem(Integer.parseInt(key.split(" ")[1]), item); } - try { - vaults.saveVault(vault, uuid.toString(), intoVaultNum); - converted++; - } catch (IOException e) { - plugin.getLogger().severe("Error converting Backpack: " + file.getName()); - e.printStackTrace(); - } + vaults.saveVault(vault, uuid.toString(), intoVaultNum); + converted++; if (System.currentTimeMillis() - lastUpdate >= 1500) { plugin.getLogger().info(converted + " backpacks have been converted in " + worldFolder.getAbsolutePath()); diff --git a/src/main/java/com/drtshock/playervaults/listeners/Listeners.java b/src/main/java/com/drtshock/playervaults/listeners/Listeners.java index 2a5138f..af0b144 100644 --- a/src/main/java/com/drtshock/playervaults/listeners/Listeners.java +++ b/src/main/java/com/drtshock/playervaults/listeners/Listeners.java @@ -54,12 +54,8 @@ public class Listeners implements Listener { Inventory inv = player.getOpenInventory().getTopInventory(); if (inv.getViewers().size() == 1) { VaultViewInfo info = plugin.getInVault().get(player.getUniqueId().toString()); - try { - String target = info.getHolderUUID() != null ? info.getHolderUUID().toString() : info.getHolder(); - vaultManager.saveVault(inv, target, info.getNumber()); - } catch (IOException e) { - // ignore - } + String target = info.getHolderUUID() != null ? info.getHolderUUID().toString() : info.getHolder(); + vaultManager.saveVault(inv, target, info.getNumber()); plugin.getOpenInventories().remove(info.toString()); } diff --git a/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java b/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java index c3ee080..1ec2213 100644 --- a/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java +++ b/src/main/java/com/drtshock/playervaults/vaultmanagement/UUIDVaultManager.java @@ -39,14 +39,8 @@ public class UUIDVaultManager { * @param inventory The inventory to be saved. * @param target The player of whose file to save to. * @param number The vault number. - * - * @throws java.io.IOException Uh oh! */ - public void saveVault(Inventory inventory, String target, int number) throws IOException { - saveVault(inventory, target, number, true); - } - - public void saveVault(Inventory inventory, String target, int number, boolean async) { + public void saveVault(Inventory inventory, String target, int number) { int size = inventory.getSize(); YamlConfiguration yaml = getPlayerVaultFile(target); if (size == 54) { @@ -63,11 +57,7 @@ public class UUIDVaultManager { yaml.set("vault" + number + "." + x, ser[x]); } } - if (async) { - saveFile(target, yaml); - } else { - saveFileSync(target, yaml); - } + saveFileSync(target, yaml); } /** @@ -309,35 +299,6 @@ public class UUIDVaultManager { return YamlConfiguration.loadConfiguration(file); } - /** - * Save the players vault file. - * - * @param holder The vault holder of whose file to save. - * @param yaml The config to save. - */ - public void saveFile(final String holder, final YamlConfiguration yaml) { - if (cachedVaultFiles.containsKey(holder)) { - cachedVaultFiles.put(holder, yaml); - } - final boolean backups = PlayerVaults.getInstance().isBackupsEnabled(); - final File backupsFolder = PlayerVaults.getInstance().getBackupsFolder(); - final File file = new File(directory, holder + ".yml"); - new BukkitRunnable() { - @Override - public void run() { - if (file.exists() && backups) { - file.renameTo(new File(backupsFolder, holder + ".yml")); - } - try { - yaml.save(file); - } catch (Exception e) { - PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder); - e.printStackTrace(); - } - } - }.runTaskAsynchronously(PlayerVaults.getInstance()); - } - public void saveFileSync(final String holder, final YamlConfiguration yaml) { if (cachedVaultFiles.containsKey(holder)) { cachedVaultFiles.put(holder, yaml); @@ -350,7 +311,8 @@ public class UUIDVaultManager { } try { yaml.save(file); - } catch (IOException ignored) { + } catch (IOException e) { + PlayerVaults.getInstance().getLogger().log(Level.SEVERE, "Failed to save vault file for: " + holder, e); } }