diff --git a/src/main/java/com/songoda/skyblock/bank/BankManager.java b/src/main/java/com/songoda/skyblock/bank/BankManager.java index 95693e7a..f1f95192 100644 --- a/src/main/java/com/songoda/skyblock/bank/BankManager.java +++ b/src/main/java/com/songoda/skyblock/bank/BankManager.java @@ -9,6 +9,8 @@ import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import java.io.File; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -38,7 +40,8 @@ public class BankManager { int size = transactions.size()>10 ? 10 : transactions.size(); for (int i = 0;i { + AbstractAnvilGUI gui = new AbstractAnvilGUI(player, event1 -> { + if (event1.getSlot() == AbstractAnvilGUI.AnvilSlot.OUTPUT) { + if (!(player.hasPermission("fabledskyblock.island.bank") // TODO check correct permissions - Fabrimat + || player.hasPermission("fabledskyblock.*"))) { + messageManager.sendMessage(player, "No permission"); // TODO language.yml - Fabrimat + soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), + 1.0F, 1.0F); + } else if (!event1.getName().replace(" ", "") + .matches("^[a-zA-Z0-9|.]+$")) { + messageManager.sendMessage(player, "Invalid characters"); // TODO language.yml - Fabrimat + soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), + 1.0F, 1.0F); + } else if (!event1.getName().matches("-?\\d+(?:\\.\\d+)?")) { + messageManager.sendMessage(player, "Only numbers allowed"); // TODO language.yml - Fabrimat + soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), + 1.0F, 1.0F); + } else { + double amount; + + try { + amount = Double.parseDouble(event1.getName()); + } catch (NumberFormatException e1) { + messageManager.sendMessage(player, configLoad.getString("Command.Island.Bank.Short4.Message")); + soundManager.playSound(player, CompatibleSound.BLOCK_ANVIL_LAND.getSound(), 1.0F, 1.0F); + return; + } + deposit(player, island, amount); + + player.closeInventory(); + + Bukkit.getServer().getScheduler() + .runTaskLater(skyblock, () -> open(player), 1L); + } + + event1.setWillClose(true); + event1.setWillDestroy(true); + } else { + event1.setWillClose(false); + event1.setWillDestroy(false); + } + }); + + ItemStack is = CompatibleMaterial.NAME_TAG.getItem(); + ItemMeta im = is.getItemMeta(); + im.setDisplayName("Amount"); // TODO language.yml - Fabrimat + is.setItemMeta(im); + + gui.setSlot(AbstractAnvilGUI.AnvilSlot.INPUT_LEFT, is); + gui.open(); + // --- + /*ChatPrompt.showPrompt(skyblock, player, (event) -> { if (event.getMessage().equals("")) return; @@ -86,7 +143,7 @@ public class Bank { return; } deposit(player, island, amount); - }); + });*/ } }); }