diff --git a/pom.xml b/pom.xml index 5c8c9c3..63aad7d 100644 --- a/pom.xml +++ b/pom.xml @@ -50,7 +50,7 @@ org.spigotmc spigot - 1.13.2 + 1.14-pre5 diff --git a/src/main/java/com/songoda/ultimatemoderation/gui/GUINotesManager.java b/src/main/java/com/songoda/ultimatemoderation/gui/GUINotesManager.java index 5f8de8c..af4c118 100644 --- a/src/main/java/com/songoda/ultimatemoderation/gui/GUINotesManager.java +++ b/src/main/java/com/songoda/ultimatemoderation/gui/GUINotesManager.java @@ -125,7 +125,7 @@ public class GUINotesManager extends AbstractGUI { }); abstractChatConfirm.setOnClose(() -> - init(inventory.getTitle(), inventory.getSize())); + init(setTitle, inventory.getSize())); })); } diff --git a/src/main/java/com/songoda/ultimatemoderation/gui/GUIPunish.java b/src/main/java/com/songoda/ultimatemoderation/gui/GUIPunish.java index 1154ea1..4922bdd 100644 --- a/src/main/java/com/songoda/ultimatemoderation/gui/GUIPunish.java +++ b/src/main/java/com/songoda/ultimatemoderation/gui/GUIPunish.java @@ -177,7 +177,7 @@ public class GUIPunish extends AbstractGUI { justSaved = false; }); - gui.setOnClose((player2, inventory3) -> init(inventory.getTitle(), inventory.getSize())); + gui.setOnClose((player2, inventory3) -> init(setTitle, inventory.getSize())); ItemStack item = new ItemStack(Material.PAPER); ItemMeta meta = item.getItemMeta(); @@ -200,7 +200,7 @@ public class GUIPunish extends AbstractGUI { justSaved = false; }); - gui.setOnClose((player2, inventory3) -> init(inventory.getTitle(), inventory.getSize())); + gui.setOnClose((player2, inventory3) -> init(setTitle, inventory.getSize())); ItemStack item = new ItemStack(Material.PAPER); ItemMeta meta = item.getItemMeta(); @@ -252,7 +252,7 @@ public class GUIPunish extends AbstractGUI { }); gui.setOnClose((player2, inventory3) -> - init(inventory.getTitle(), inventory.getSize())); + init(setTitle, inventory.getSize())); ItemStack item = new ItemStack(Material.PAPER); ItemMeta meta = item.getItemMeta(); diff --git a/src/main/java/com/songoda/ultimatemoderation/gui/GUITemplateSelector.java b/src/main/java/com/songoda/ultimatemoderation/gui/GUITemplateSelector.java index fef070d..2fd1d70 100644 --- a/src/main/java/com/songoda/ultimatemoderation/gui/GUITemplateSelector.java +++ b/src/main/java/com/songoda/ultimatemoderation/gui/GUITemplateSelector.java @@ -42,7 +42,7 @@ public class GUITemplateSelector extends AbstractGUI { punish.setDuration(template.getDuration()); punish.setReason(template.getReason()); punish.setTemplate(template); - punish.init(punish.getInventory().getTitle(), punish.getInventory().getSize()); + punish.init(setTitle, punish.getInventory().getSize()); punish.runTask(); })); } @@ -52,7 +52,7 @@ public class GUITemplateSelector extends AbstractGUI { @Override protected void registerClickables() { registerClickable(8, ((player1, inventory1, cursor, slot, type) -> { - punish.init(punish.getInventory().getTitle(), punish.getInventory().getSize()); + punish.init(punish.getSetTitle(), punish.getInventory().getSize()); punish.runTask(); })); } diff --git a/src/main/java/com/songoda/ultimatemoderation/gui/GUITicket.java b/src/main/java/com/songoda/ultimatemoderation/gui/GUITicket.java index 553e0a7..58ff6eb 100644 --- a/src/main/java/com/songoda/ultimatemoderation/gui/GUITicket.java +++ b/src/main/java/com/songoda/ultimatemoderation/gui/GUITicket.java @@ -140,7 +140,7 @@ public class GUITicket extends AbstractGUI { }); abstractChatConfirm.setOnClose(() -> - init(inventory.getTitle(), inventory.getSize())); + init(setTitle, inventory.getSize())); })); } diff --git a/src/main/java/com/songoda/ultimatemoderation/storage/types/StorageYaml.java b/src/main/java/com/songoda/ultimatemoderation/storage/types/StorageYaml.java index 876fda3..7b804d9 100644 --- a/src/main/java/com/songoda/ultimatemoderation/storage/types/StorageYaml.java +++ b/src/main/java/com/songoda/ultimatemoderation/storage/types/StorageYaml.java @@ -4,12 +4,10 @@ import com.songoda.ultimatemoderation.UltimateModeration; import com.songoda.ultimatemoderation.storage.Storage; import com.songoda.ultimatemoderation.storage.StorageItem; import com.songoda.ultimatemoderation.storage.StorageRow; -import org.apache.commons.io.FileUtils; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.MemorySection; -import java.io.File; -import java.io.IOException; +import java.io.*; import java.util.*; public class StorageYaml extends Storage { @@ -109,7 +107,7 @@ public class StorageYaml extends Storage { File data = new File(instance.getDataFolder(), "data.yml"); File dataClone = new File(instance.getDataFolder(), "data-backup-" + System.currentTimeMillis() + ".yml"); try { - FileUtils.copyFile(data, dataClone); + copyFile(data, dataClone); } catch (IOException e) { e.printStackTrace(); } @@ -128,4 +126,22 @@ public class StorageYaml extends Storage { public void closeConnection() { dataFile.saveConfig(); } + + + private static void copyFile(File source, File dest) throws IOException { + InputStream is = null; + OutputStream os = null; + try { + is = new FileInputStream(source); + os = new FileOutputStream(dest); + byte[] buffer = new byte[1024]; + int length; + while ((length = is.read(buffer)) > 0) { + os.write(buffer, 0, length); + } + } finally { + is.close(); + os.close(); + } + } } diff --git a/src/main/java/com/songoda/ultimatemoderation/utils/ServerVersion.java b/src/main/java/com/songoda/ultimatemoderation/utils/ServerVersion.java index 66be358..baa8316 100644 --- a/src/main/java/com/songoda/ultimatemoderation/utils/ServerVersion.java +++ b/src/main/java/com/songoda/ultimatemoderation/utils/ServerVersion.java @@ -9,7 +9,8 @@ public enum ServerVersion { V1_10("org.bukkit.craftbukkit.v1_10"), V1_11("org.bukkit.craftbukkit.v1_11"), V1_12("org.bukkit.craftbukkit.v1_12"), - V1_13("org.bukkit.craftbukkit.v1_13"); + V1_13("org.bukkit.craftbukkit.v1_13"), + V1_14("org.bukkit.craftbukkit.v1_14"); private final String packagePrefix; diff --git a/src/main/java/com/songoda/ultimatemoderation/utils/SettingsManager.java b/src/main/java/com/songoda/ultimatemoderation/utils/SettingsManager.java index f024bdb..127b610 100644 --- a/src/main/java/com/songoda/ultimatemoderation/utils/SettingsManager.java +++ b/src/main/java/com/songoda/ultimatemoderation/utils/SettingsManager.java @@ -43,14 +43,14 @@ public class SettingsManager implements Listener { return; } - if (event.getInventory().getTitle().equals(pluginName + " Settings Manager")) { + if (event.getView().getTitle().equals(pluginName + " Settings Manager")) { event.setCancelled(true); if (clickedItem.getType().name().contains("STAINED_GLASS")) return; String type = ChatColor.stripColor(clickedItem.getItemMeta().getDisplayName()); this.cat.put((Player) event.getWhoClicked(), type); this.openEditor((Player) event.getWhoClicked()); - } else if (event.getInventory().getTitle().equals(pluginName + " Settings Editor")) { + } else if (event.getView().equals(pluginName + " Settings Editor")) { event.setCancelled(true); if (clickedItem.getType().name().contains("STAINED_GLASS")) return; diff --git a/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java b/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java index e6eb1dc..4fe1d48 100644 --- a/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java +++ b/src/main/java/com/songoda/ultimatemoderation/utils/gui/AbstractGUI.java @@ -28,6 +28,7 @@ public abstract class AbstractGUI implements Listener { private static boolean listenersInitialized = false; protected final Player player; protected Inventory inventory = null; + protected String setTitle = null; protected boolean cancelBottom = false; private Map clickables = new HashMap<>(); private List onCloses = new ArrayList<>(); @@ -115,8 +116,9 @@ public abstract class AbstractGUI implements Listener { public void init(String title, int slots) { if (inventory == null || inventory.getSize() != slots - || ChatColor.translateAlternateColorCodes('&', title) != inventory.getTitle()) { + || ChatColor.translateAlternateColorCodes('&', title) != player.getOpenInventory().getTitle()) { this.inventory = Bukkit.getServer().createInventory(new GUIHolder(), slots, Methods.formatText(title)); + this.setTitle = Methods.formatText(title); if (this.clickables.size() == 0) registerClickables(); if (this.onCloses.size() == 0) @@ -229,4 +231,8 @@ public abstract class AbstractGUI implements Listener { return AbstractGUI.this; } } + + public String getSetTitle() { + return setTitle; + } }