From 39735aefa4e7df12508169839190faeb4a296d85 Mon Sep 17 00:00:00 2001 From: MyCraftServerMC Date: Tue, 2 Jun 2020 16:31:44 +0200 Subject: [PATCH] fixed bugs --- .gitignore | 2 ++ .../songoda/skyblock/bank/BankManager.java | 19 +++++------- .../command/commands/admin/AdminBank.java | 2 +- .../skyblock/island/IslandManager.java | 1 + .../java/com/songoda/skyblock/menus/Bank.java | 2 +- .../skyblock/playerdata/PlayerData.java | 31 ++++++++++++++----- src/main/resources/language.yml | 4 +-- 7 files changed, 38 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index bc3284d2..be2ef05a 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,5 @@ hs_err_pid* # JDT-specific (Eclipse Java Development Tools) .classpath /target/ + +*.iml diff --git a/src/main/java/com/songoda/skyblock/bank/BankManager.java b/src/main/java/com/songoda/skyblock/bank/BankManager.java index 58893a2e..2233bef2 100644 --- a/src/main/java/com/songoda/skyblock/bank/BankManager.java +++ b/src/main/java/com/songoda/skyblock/bank/BankManager.java @@ -19,7 +19,7 @@ public class BankManager { public static BankManager getInstance() {return instance == null ? instance = new BankManager() : instance;} - public HashMap> log; + private HashMap> log; public FileConfiguration lang; @@ -35,12 +35,10 @@ public class BankManager { if (log.containsKey(player.getUniqueId())&&log.get(player.getUniqueId())!=null&&!log.get(player.getUniqueId()).isEmpty()) { List lore = new ArrayList<>(); List transactions = log.get(player.getUniqueId()); - int count = 1; - while (count <= 10) { - if (transactions.size()-count < 0) { break; } - Transaction t = transactions.get(transactions.size()-count); - lore.add("#" + count + " " + t.timestamp.toString() +" " + t.player.getPlayer().getDisplayName() + " " + t.action.name().toLowerCase() + " " + EconomyManager.formatEconomy(t.ammount)); - count++; + int size = transactions.size()>10 ? 10 : transactions.size(); + for (int i = 0;i t = new ArrayList<>(); t.add(transaction); log.put(p.getUniqueId(),t); } - SkyBlock.getInstance().getPlayerDataManager().getPlayerData().get(p.getUniqueId()).getTransactions().add(transaction); - } private void loadTransactions() { @@ -70,8 +66,9 @@ public class BankManager { public List getBalanceLore(Player player) { List result = new ArrayList<>(); - result.add("Some error occured while loading your balance"); + result.add("Some error occurred while loading your balance!"); Island island = SkyBlock.getInstance().getIslandManager().getIslandByPlayer(Bukkit.getOfflinePlayer(player.getUniqueId())); + result.add("If this is null then its a easy to fix bug: "+island.toString()); if (island != null) { result.clear(); result.add(player.getDisplayName()+"'s balance is "+EconomyManager.formatEconomy(EconomyManager.getBalance(Bukkit.getOfflinePlayer(player.getUniqueId())))); diff --git a/src/main/java/com/songoda/skyblock/command/commands/admin/AdminBank.java b/src/main/java/com/songoda/skyblock/command/commands/admin/AdminBank.java index 4e4e9814..14d51502 100644 --- a/src/main/java/com/songoda/skyblock/command/commands/admin/AdminBank.java +++ b/src/main/java/com/songoda/skyblock/command/commands/admin/AdminBank.java @@ -121,7 +121,7 @@ public class AdminBank extends SubCommand { @Override public String getName() { - return "adminbank"; + return "bank"; } @Override diff --git a/src/main/java/com/songoda/skyblock/island/IslandManager.java b/src/main/java/com/songoda/skyblock/island/IslandManager.java index cafffe02..b0c4bd3a 100644 --- a/src/main/java/com/songoda/skyblock/island/IslandManager.java +++ b/src/main/java/com/songoda/skyblock/island/IslandManager.java @@ -532,6 +532,7 @@ public class IslandManager { if ((amt = data.getIslandDeletionCount()) >= highest) return false; data.setIslandDeletionCount(amt + 1); + data.deleteTransactions(); } } } diff --git a/src/main/java/com/songoda/skyblock/menus/Bank.java b/src/main/java/com/songoda/skyblock/menus/Bank.java index 330209d5..36ea737f 100644 --- a/src/main/java/com/songoda/skyblock/menus/Bank.java +++ b/src/main/java/com/songoda/skyblock/menus/Bank.java @@ -146,7 +146,7 @@ public class Bank { } public void open(Player player) { - Island island = null; + Island island; island = islandManager.getIslandByPlayer(Bukkit.getOfflinePlayer(player.getUniqueId())); diff --git a/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java b/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java index 8873695a..48bd289b 100644 --- a/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java +++ b/src/main/java/com/songoda/skyblock/playerdata/PlayerData.java @@ -229,18 +229,34 @@ public class PlayerData { this.viewer = viewer; } + public void deleteTransactions() { + Config config = getConfig(); + FileConfiguration configLoad = config.getFileConfiguration(); + configLoad.set("Bank.Transactions",null); + configLoad.set("Bank.Transactions.Size",0); + try { + configLoad.save(config.getFile()); + } catch (IOException e) { + e.printStackTrace(); + } + } + public void save() { transactions = BankManager.getInstance().getTransactionList(getPlayer()); Config config = getConfig(); FileConfiguration configLoad = config.getFileConfiguration(); configLoad.set("Statistics.Island.Playtime", getPlaytime()); - configLoad.set("Bank.Transactions.Size",transactions.size()); - for (int i = 0;i]' Short02: - Message: '&bSkyBlock &8| &cError&8: &eInvalid: /island admin bank [Player] []' + Message: '&bSkyBlock &8| &cError&8: &eInvalid: /island admin bank [] [Player]' NullIsland: Message: '&bSkyBlock &8| &cError&8: &eYou are not on an island, please specify a Player or move to an island. Or maybe you are on nullisland?' ByConsole: @@ -160,7 +160,7 @@ Command: Balance: Message: ' %player% have %bal%.' Info: - Message: '&bSkyBlock &8| &cError&8: /island admin bank [Player] []' + Message: '&bSkyBlock &8| &cError&8: /island admin bank [] [Player]' SuccesWithdraw: Message: 'Succesfully removed %ammount% from %player%''s island' SuccesDeposit: